/* Responsive desktop workspace, shared by all existing business modules. */
:root{--bg:#f5f7f9;--ink:#243a35;--ink2:#73817d;--ink3:#74847f;--brand:#198165;--brand-soft:#eaf5ef;--line:#e7ede9;--grad:linear-gradient(120deg,#15765c,#269c76)}
body{font-size:14px;padding:0 0 85px}.sidebar{display:none}.header-date{display:none}.topbar{background:#fff;box-shadow:none;border-bottom:1px solid var(--line);padding:15px 20px}.village{color:var(--ink);font-size:16px}.demo-tag{color:var(--ink2);font-size:11px}.elder-toggle,.role-select{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink2);backdrop-filter:none}.elder-toggle.on{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}.role-select{max-width:180px}.view{padding:0 20px 25px;max-width:1560px;margin:auto}.page-heading{padding:24px 20px 19px;max-width:1560px;margin:auto}.page-heading h1{font-size:25px;letter-spacing:-.7px;margin:0 0 4px;font-weight:650}.page-heading p{color:var(--ink2);margin:0;font-size:13px}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.heading-kicker{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--brand);margin-bottom:5px}.card{border-radius:13px;box-shadow:none;padding:22px}.card-title{font-size:15px}.card-title:before{display:none}.btn-primary{box-shadow:none}.btn:hover{border-color:var(--brand);color:var(--brand)}.btn-primary:hover{background:var(--brand-deep);color:#fff}.btn:disabled{cursor:wait;opacity:.6}.ico{display:inline-block;width:20px;height:20px;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;top:-70px;left:20px;background:var(--brand);color:white;padding:12px;z-index:200}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #68b69d;outline-offset:3px}.welcome-banner{position:relative;overflow:hidden;display:flex;align-items:center;min-height:170px;border:1px solid #dcebe1;background:#eaf4ed;border-radius:14px;padding:26px 30px;margin-bottom:22px}.welcome-copy{position:relative;z-index:1;max-width:65%}.welcome-copy h2{font-size:24px;margin:0 0 8px;font-weight:650;letter-spacing:-.5px}.welcome-copy p{color:#678477;font-size:13px;margin:0 0 17px;line-height:1.8}.welcome-chip{display:inline-flex;align-items:center;gap:6px;color:#46745d;background:#ffffff9c;border:1px solid #d5e5d9;border-radius:6px;padding:5px 9px;font-size:11px}.village-art{position:absolute;width:370px;height:195px;right:5px;bottom:-2px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{border:1px solid var(--line);border-radius:12px;background:#fff;padding:19px;position:relative;min-width:0}.metric-icon{float:right;width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:#ecf5ef;color:#238469}.metric:nth-child(2) .metric-icon{background:#ebf2fc;color:#6086c5}.metric:nth-child(3) .metric-icon{background:#fff5e7;color:#c48b33}.metric:nth-child(4) .metric-icon{background:#eeedf9;color:#8980b6}.metric-label{font-size:12px;color:var(--ink2);margin:0 0 8px}.metric-value{font-size:30px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-1px}.metric-value small{font-size:12px;font-weight:400;color:var(--ink2);margin-left:7px;letter-spacing:0}.metric-foot{font-size:11px;margin-top:12px;color:var(--ink2)}.metric-foot strong{color:var(--brand);font-weight:500}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px;align-items:start}.section-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.section-top h2{font-size:15px;margin:0;font-weight:650}.count-pill{background:var(--brand-soft);color:var(--brand);border-radius:5px;font-size:11px;padding:2px 7px;margin-left:7px}.text-link{background:none;border:0;font:inherit;font-size:12px;color:var(--brand);cursor:pointer;padding:4px}.reminder-filters{display:flex;gap:7px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:4px;flex-wrap:wrap}.reminder-filters button{font-family:inherit;border:0;background:none;color:var(--ink2);padding:5px 11px;border-radius:6px;cursor:pointer;font-size:12px}.reminder-filters button.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.remind{padding:17px 0;gap:12px;align-items:center}.remind-name{font-size:14px}.remind-sub{font-size:11px;margin-top:4px}.remind .badge{font-size:10px;border-radius:5px;padding:2px 6px}.remind .avatar{width:36px;height:36px;font-size:13px;border-radius:10px}.remind .btn{min-height:30px;background:white;color:var(--brand);border-color:#dbe9e0;font-size:11px;padding:5px 11px}.remind .btn:disabled{background:var(--brand-soft)}.reminder-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;color:var(--ink2);font-size:11px;gap:8px}.pager{display:flex;gap:6px}.pager button{border:1px solid var(--line);background:#fff;border-radius:6px;min-height:28px;font-family:inherit;color:var(--brand);cursor:pointer}.pager button:disabled{color:#a5afaa;cursor:default}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 9px}.quick-item{border:0;background:none;font-family:inherit;color:var(--ink);font-size:11px;cursor:pointer;display:flex;align-items:center;flex-direction:column;gap:8px;padding:3px}.quick-item span{display:grid;place-items:center;width:40px;height:40px;background:#f1f6f3;border-radius:11px;color:var(--brand);transition:background .15s}.quick-item:hover span{background:#dcefe4}.fund-total{font-size:28px;font-weight:650;letter-spacing:-.7px;margin:10px 0 14px}.fund-total small{font-size:12px;font-weight:400;color:var(--ink2);letter-spacing:0}.fund-label{font-size:11px;color:var(--ink2)}.fund-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:15px 0 3px;border-top:1px solid var(--line)}.fund-split b{font-size:14px;font-weight:600;display:block;margin-top:5px}.fund-bar{display:flex;gap:3px;height:6px;overflow:hidden;border-radius:4px;margin:0 0 17px}.fund-bar span:first-child{background:#66a68a}.fund-bar span:last-child{background:#e4b66e}.tag-row{display:flex;align-items:center;gap:12px;margin:14px 0;font-size:12px}.tag-row .bar{flex:1;margin:0;height:6px;background:#f0f4f1}.tag-row .bar-in{background:#86b49e}.tag-row b{font-size:12px;min-width:25px;text-align:right;font-weight:500}.tag-row>span{width:60px;flex-shrink:0;color:var(--ink2)}.dashboard-bottom{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px 0 0}.mini-stat{padding:0 12px;border-right:1px solid var(--line)}.mini-stat:first-child{padding-left:0}.mini-stat:last-child{border:0}.mini-stat b{display:block;font-size:19px;font-weight:600}.mini-stat span{font-size:10px;color:var(--ink2)}.dashboard-note{font-size:11px;color:var(--ink2);text-align:center;padding:8px 0 0}.modal-head{z-index:2}.modal{align-items:center}.modal-box{border-radius:16px;max-height:85dvh}.filterbar{margin-top:16px}.list-row:hover{background:#f8fbf9}.modal-body{overflow-wrap:anywhere}.view>.btn-block:first-child{width:auto;margin:0 0 16px auto}.tab-icon .ico{width:19px;height:19px}.tab{color:#6d8178}.tab.active{background:var(--brand-soft)}.tab.active::before{display:none}
@media(min-width:1000px){body{padding:0 0 0 222px}.sidebar{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:222px;background:#fff;border-right:1px solid var(--line);z-index:35;padding:28px 16px 18px}.side-brand{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:650;padding:0 6px 30px;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--brand);color:#fff;width:36px;height:38px;border-radius:10px;font-size:24px;font-family:serif}.side-brand small{display:block;color:var(--ink2);font-size:8px;font-weight:400;margin-top:4px}.side-caption{padding:0 16px 12px;font-size:10px;letter-spacing:1.5px;color:#88968e}#sideNav{overflow-y:auto;scrollbar-width:thin;flex:1}.nav-item{display:flex;align-items:center;gap:13px;border:0;background:transparent;width:100%;padding:11px 16px;color:#6e8076;border-radius:8px;margin-bottom:5px;font-family:inherit;font-size:13px;cursor:pointer;text-align:left}.nav-item.active{background:#eaf4ed;color:#1c7d5e;font-weight:600}.nav-item.active:after{content:'';width:5px;height:5px;border-radius:50%;background:var(--brand);margin-left:auto}.nav-item:hover{background:#f1f7f3}.nav-group{font-size:10px;color:#8c9a93;padding:18px 16px 10px;letter-spacing:1px}.side-foot{border-top:1px solid var(--line);padding:18px 8px 0;font-size:10px;color:#687f72}.side-foot small{display:block;font-size:9px;margin-top:6px;color:#8e9d94}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#62a583;margin-right:4px}.topbar{padding:15px 30px;min-height:76px}.header-date{display:block;font-size:11px;color:var(--ink2);margin-right:12px}.page-heading{padding:28px 30px 22px}.view{padding:0 30px 30px}.tabbar{display:none}.toast{bottom:30px}.sos{bottom:25px}.grid2{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1500px){.welcome-banner{min-height:190px}.village-art{right:35px;width:440px;height:230px}.metric{padding:24px}.metric-value{font-size:36px}.dashboard-columns{grid-template-columns:minmax(0,1.85fr) minmax(320px,1fr)}}
@media(max-width:700px){.topbar{padding:12px;gap:6px;flex-wrap:wrap}.topbar-main{flex-basis:45%}.village{font-size:14px}.role-select{max-width:150px;font-size:12px;flex:1}.elder-toggle{font-size:11px;padding:6px 8px}.view{padding:0 14px 22px}.page-heading{padding:22px 14px 16px}.page-heading h1{font-size:23px}.heading-row>.btn{font-size:11px;min-height:34px;padding:6px 10px}.welcome-banner{padding:22px;min-height:165px;margin-bottom:15px}.welcome-copy{max-width:80%}.welcome-copy h2{font-size:20px}.welcome-copy p{font-size:12px}.village-art{width:225px;right:-65px;opacity:.35}.welcome-chip{font-size:10px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.metric{padding:15px}.metric-value{font-size:28px}.metric-icon{width:30px;height:30px}.metric-foot{font-size:10px}.dashboard-columns{grid-template-columns:1fr;gap:0}.card{padding:18px;margin-bottom:16px}.dashboard-bottom{gap:0}.mini-stat{padding:0 8px}.mini-stat span{font-size:9px}.remind{gap:8px}.remind .avatar{width:31px;height:31px}.remind-name{font-size:13px}.remind-sub{font-size:11px}.reminder-footer{font-size:10px}.modal{align-items:flex-end}.modal-box{border-radius:16px 16px 0 0;max-height:88dvh}.quick-grid{grid-template-columns:repeat(3,1fr)}.tabbar{padding-bottom:env(safe-area-inset-bottom);scroll-padding:15px}.tab{min-width:70px;min-height:65px}.tab-text{font-size:11px}.dashboard-note{padding-bottom:10px}}
body.elder .metric-label,body.elder .metric-foot,body.elder .mini-stat span,body.elder .quick-item,body.elder .fund-label,body.elder .tag-row,body.elder .reminder-filters button,body.elder .reminder-footer{font-size:16px}body.elder .page-heading p,body.elder .welcome-copy p{font-size:17px}body.elder .nav-item{font-size:17px}body.elder .metric-icon{display:none}body.elder .mini-stat{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.page-heading,.skip-link{display:none!important}body{padding:0}}
