:root{--ink:#20242a;--muted:#66717f;--line:#d7dee7;--paper:#f5f7fa;--panel:#fff;--blue:#2d64a8;--green:#29735a;--red:#b9473f;--shadow:0 18px 44px #1f293714}*{box-sizing:border-box}body{color:var(--ink);background:linear-gradient(135deg, #2d64a81f, transparent 34%), linear-gradient(315deg, #29735a24, transparent 38%), var(--paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:7px;padding:.7rem .95rem;font-weight:800}button:hover{filter:brightness(1.08)}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;padding:.64rem .7rem}label{color:var(--muted);gap:.35rem;font-size:.82rem;font-weight:800;display:grid}.shell{grid-template-columns:285px minmax(0,1fr);width:100%;min-width:0;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;flex-direction:column;gap:1.4rem;min-width:0;height:100vh;padding:1.3rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.9rem;display:flex}.brand>span{color:#fff;background:var(--ink);border-radius:8px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.brand h1,.brand p,.topbar h2,.topbar p,.panel-title h3,.panel-title p{margin:0}.brand h1{font-size:1.05rem}.brand p,.eyebrow,.access p,.hero p,small{color:var(--muted)}nav{gap:.35rem;display:grid}nav button{color:var(--ink);text-align:left;background:0 0;border-radius:7px;padding:.75rem .8rem;font-weight:800}nav button:hover,nav button.nav-active{filter:none;background:#eef2f6}.access{border:1px solid var(--line);background:#f9fbfd;border-radius:8px;gap:.75rem;margin-top:auto;padding:1rem;display:grid}.access p{margin:0;font-size:.82rem;line-height:1.35}.workspace{grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0;padding:1.35rem;display:grid}.topbar,.panel-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.topbar h2{font-size:clamp(1.8rem,3.8vw,3.4rem);line-height:1}.topbar label{width:min(230px,100%)}.eyebrow{text-transform:uppercase;letter-spacing:0;font-size:.72rem}.notice{color:#6b4a00;background:#fff8df;border:1px solid #e8c165;border-radius:8px;padding:.9rem 1rem;font-weight:800}.date-tabs{gap:.55rem;display:grid}.year-tabs,.month-tabs{gap:.55rem;padding:0 0 .25rem;display:flex;overflow-x:auto}.year-tabs button{border:1px solid var(--line);min-width:74px;color:var(--muted);box-shadow:none;background:#eef2f6;padding:.58rem .8rem}.year-tabs button.active{border-color:var(--blue);color:#fff;background:var(--blue)}.month-tabs button{border:1px solid var(--line);min-width:98px;color:var(--ink);background:#fff;justify-items:start;gap:.18rem;display:grid;box-shadow:0 8px 18px #1f29370a}.month-tabs button.active{border-color:var(--ink);background:var(--ink);color:#fff}.month-tabs small{color:inherit;opacity:.72}.hero,.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px;padding:1.1rem}.hero{background:linear-gradient(125deg,#fffffff5,#ffffffc7),repeating-linear-gradient(90deg,#2d64a81c 0 1px,#0000 1px 44px),repeating-linear-gradient(0deg,#29735a14 0 1px,#0000 1px 44px);grid-template-columns:minmax(280px,.78fr) minmax(360px,1.22fr);align-items:end;gap:1.1rem;min-height:220px;display:grid}.split-lines{gap:.35rem;margin:.35rem 0 .8rem;display:grid}.split-lines>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;max-width:330px;padding-bottom:.35rem;display:flex}.split-lines span{font-size:1.1rem;font-weight:900}.split-lines strong{font-size:clamp(2rem,4vw,3.5rem);line-height:1}.hero p{max-width:56ch;line-height:1.5}.metrics{grid-template-columns:repeat(4,minmax(130px,1fr));gap:.7rem;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:.75rem;display:grid}.metric,.person-grid>div{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;padding:.9rem}.metric span{color:var(--muted);font-size:.78rem;font-weight:800;display:block}.metric strong{margin-top:.35rem;font-size:1.32rem;display:block}.good{color:var(--green)}.bad{color:var(--red)}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.bar{background:#edf1f5;border-radius:7px;height:22px;margin:1rem 0;display:flex;overflow:hidden}.bar span:first-child{background:var(--blue)}.bar span:last-child{background:var(--green)}.person-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.person-transfer{gap:.85rem;display:grid}.person-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.person-heading strong{font-size:1.25rem}.person-heading span,.transfer-plan>div>span{color:var(--muted);font-size:.78rem;font-weight:800}.money-lines{gap:0;margin:0;display:grid}.money-lines>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.58rem 0;display:flex}.money-lines dt{color:var(--muted);font-size:.82rem;font-weight:800}.money-lines dd{margin:0;font-size:1.02rem;font-weight:900}.transfer-plan{border:1px solid var(--line);background:#f2f5f8;border-radius:7px;padding:.72rem}.transfer-plan>div,.transfer-plan li{justify-content:space-between;align-items:center;gap:1rem;display:flex}.transfer-plan ol{gap:.35rem;margin:.65rem 0 0;padding:0;list-style:none;display:grid}.transfer-plan li{border-top:1px solid var(--line);color:var(--muted);padding-top:.45rem;font-size:.82rem;font-weight:800}.transfer-plan li strong{color:var(--ink);font-size:.95rem}.transfer-plan p{color:var(--muted);margin:.65rem 0 0;font-size:.82rem;font-weight:800}.form-grid,.checks,.row-form{margin-top:1rem}.checks{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;display:grid}.checks label{border:1px solid var(--line);color:var(--ink);background:#fbfcfe;border-radius:7px;align-items:center;gap:.45rem;padding:.62rem;display:flex}.checks input{width:18px;height:18px;accent-color:var(--green)}.row-form{grid-template-columns:150px 90px repeat(5,minmax(105px,1fr)) minmax(140px,1.2fr) auto;gap:.55rem;display:grid}.expense-form{grid-template-columns:150px minmax(180px,1.6fr) 120px 130px 140px minmax(170px,1.4fr) auto}.suggestion-form{gap:.8rem;margin-top:1rem;display:grid}.suggestion-list{gap:.55rem;display:grid}.suggestion-row{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;grid-template-columns:34px 150px minmax(180px,1.6fr) 120px 130px 140px minmax(170px,1.4fr);align-items:center;gap:.55rem;padding:.62rem;display:grid}.suggestion-check{place-items:center;display:grid}.suggestion-check input{width:18px;height:18px;accent-color:var(--green)}.empty-state{color:var(--muted);margin:0;font-weight:800}.term-guide{border:1px solid var(--line);color:var(--muted);background:#f7f9fb;border-radius:7px;gap:.55rem;margin-top:.9rem;padding:.7rem .8rem;font-size:.78rem;display:grid}.term-guide>div{flex-wrap:wrap;align-items:center;gap:.45rem .75rem;display:flex}.term-guide strong{color:var(--ink)}.defined-term{align-items:center;gap:.28rem;display:inline-flex}.info-tip{color:var(--ink);text-transform:none;place-items:center;display:inline-grid;position:relative}.info-tip>button{color:#55616f;background:#fff;border:1px solid #9ca8b5;border-radius:50%;place-items:center;width:17px;min-width:17px;height:17px;padding:0;font-size:.68rem;font-weight:900;line-height:1;display:grid}.info-tip>button:hover,.info-tip>button:focus-visible{color:#fff;border-color:var(--ink);background:var(--ink);filter:none;outline-offset:2px;outline:2px solid #2d64a847}.info-tip>span[role=tooltip]{z-index:30;color:#fff;text-align:left;text-transform:none;opacity:0;visibility:hidden;pointer-events:none;background:#20242a;border-radius:7px;width:min(280px,100vw - 36px);padding:.65rem .72rem;font-size:.76rem;font-weight:650;line-height:1.4;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-3px);box-shadow:0 12px 28px #1f293738}.info-tip:hover>span[role=tooltip],.info-tip:focus-within>span[role=tooltip]{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.metrics .metric:nth-child(n+3) .info-tip>span[role=tooltip],.stats-grid .metric:nth-child(n+3) .info-tip>span[role=tooltip],.person-grid>div:last-child .info-tip>span[role=tooltip]{left:auto;right:0;transform:translateY(-3px)}.metrics .metric:nth-child(n+3) .info-tip:hover>span[role=tooltip],.metrics .metric:nth-child(n+3) .info-tip:focus-within>span[role=tooltip],.stats-grid .metric:nth-child(n+3) .info-tip:hover>span[role=tooltip],.stats-grid .metric:nth-child(n+3) .info-tip:focus-within>span[role=tooltip],.person-grid>div:last-child .info-tip:hover>span[role=tooltip],.person-grid>div:last-child .info-tip:focus-within>span[role=tooltip]{transform:translateY(0)}.trend-chart{gap:.7rem;margin-top:1rem;display:grid}.trend-row{grid-template-columns:80px minmax(180px,1fr) 140px;align-items:center;gap:.75rem;display:grid}.trend-row>span{color:var(--muted);font-weight:800}.trend-row>div{background:#edf1f5;border-radius:7px;height:30px;position:relative;overflow:hidden}.trend-row i,.trend-row b{min-width:2px;height:50%;position:absolute;left:0}.trend-row i{background:#2d64a89e;top:0}.trend-row b{background:#29735ac7;bottom:0}.trend-row strong{text-align:right}.legend{color:var(--muted);gap:1rem;margin-top:.9rem;font-size:.85rem;font-weight:800;display:flex}.legend span{align-items:center;gap:.4rem;display:inline-flex}.legend i{border-radius:999px;width:18px;height:10px;display:inline-block}.legend .planned{background:#2d64a89e}.legend .actual{background:#29735ac7}.category-list{gap:.65rem;margin-top:1rem;display:grid}.category-list div{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;justify-content:space-between;gap:1rem;padding:.75rem;display:flex}.category-list span{color:var(--muted);font-weight:800}.table-wrap{border:1px solid var(--line);border-radius:8px;margin-top:1rem;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:780px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.72rem}th{color:#3b4652;text-transform:uppercase;letter-spacing:0;background:#f2f5f8;font-size:.76rem}.report{resize:vertical;min-height:430px;margin-top:1rem;line-height:1.45}@media (max-width:1180px){.shell,.hero,.grid.two{grid-template-columns:1fr}.sidebar{height:auto;position:static}.access{margin-top:0}.row-form,.expense-form,.suggestion-row,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.workspace,.sidebar{padding:.9rem}.topbar,.panel-title{flex-direction:column;align-items:stretch}.metrics,.person-grid,.form-grid,.checks,.row-form,.expense-form,.suggestion-row,.stats-grid,.trend-row{grid-template-columns:1fr}.trend-row strong{text-align:left}.info-tip>span[role=tooltip]{width:auto;position:fixed;inset:auto 15px 15px;transform:translateY(3px)!important}.info-tip:hover>span[role=tooltip],.info-tip:focus-within>span[role=tooltip]{transform:translateY(0)!important}}
