:root{--bg:#f6f5f2;--panel:#fff;--ink:#26221f;--muted:#6d6863;--line:#ded9d2;--accent:#b25a25;--soft:#f4e7dd;--ok:#2f7d45;--bad:#a83232}*{box-sizing:border-box}body{margin:0;font-family:Arial,"Noto Sans Tamil",sans-serif;background:var(--bg);color:var(--ink);line-height:1.45}header{min-height:60px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:10px 18px;position:sticky;top:0;z-index:5}.brand{font-size:22px;font-weight:800;letter-spacing:.03em}.brand.big{font-size:34px}.brand span{color:var(--accent)}.spacer{flex:1}.pill{padding:6px 10px;background:var(--soft);border-radius:999px;font-size:12px;white-space:nowrap}.shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 60px)}nav{background:#fff;border-right:1px solid var(--line);padding:14px;position:sticky;top:60px;height:calc(100vh - 60px);overflow:auto}nav a{display:block;padding:9px 10px;color:inherit;text-decoration:none;border-radius:8px;font-size:14px}nav a:hover{background:var(--soft)}main{padding:20px;max-width:1250px;width:100%}.auth-shell{max-width:480px;margin:60px auto;padding:20px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.two-col{grid-template-columns:minmax(280px,.75fr) minmax(0,1.5fr)}.metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card,.form{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.card.inline,.row{display:flex;align-items:center;gap:10px;margin:8px 0}.metric{font-size:28px;font-weight:800}.notice{margin:14px 0;padding:12px;border:1px solid #dfc68e;background:#fff7df;border-radius:9px}.notice.ok{background:#e9f6eb;border-color:#aed4b3}.notice.err{background:#fdeaea;border-color:#e2aaaa;color:#651f1f}.form{display:grid;gap:10px;max-width:760px}.form.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}.form.compact{grid-template-columns:repeat(4,minmax(0,1fr));border:0;padding:10px 0}.form.narrow{max-width:420px}.form label{display:grid;gap:5px;font-weight:600}.form input,.form select,.form textarea,.langform select,button,.button{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.form textarea{min-height:100px}.wide{grid-column:1/-1}.check{align-items:center;grid-template-columns:auto 1fr!important}.check input{width:auto}.langform{margin:0}.langform select{padding:7px}.linkbtn{background:transparent!important;color:var(--ink)!important;border:0!important;padding:6px!important}.button,button{display:inline-block;background:var(--accent);color:#fff;border-color:var(--accent);cursor:pointer;text-decoration:none;text-align:center}.secondary{background:#fff!important;color:var(--ink)!important;border-color:var(--line)!important}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.action{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;color:var(--ink);font-weight:700}.muted{color:var(--muted);font-size:13px}.oktext{color:var(--ok);font-weight:700}.secret{display:block;font-size:18px;padding:10px;background:#f4f4f4;margin:10px 0;word-break:break-all}.codes{columns:2}.pending-card{margin-bottom:12px}.pending-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.amount{font-size:22px;font-weight:800;white-space:nowrap}.amount.debit{color:var(--bad)}.amount.credit{color:var(--ok)}details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}summary{cursor:pointer;font-weight:700}.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0}.inline-form label{display:grid;gap:5px}.cards{display:grid;gap:8px}.table-scroll{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}th,td{padding:9px;border:1px solid var(--line);vertical-align:top;text-align:left}h1{margin-top:0}small{color:var(--muted)}@media(max-width:900px){.shell{grid-template-columns:1fr}nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);position:static;height:auto}nav a{white-space:nowrap}.grid,.metrics,.two-col,.form.two,.form.compact,.action-grid{grid-template-columns:1fr}.wide{grid-column:auto}main{padding:14px}.pending-head{align-items:center}header{flex-wrap:wrap}.codes{columns:1}}

/* Build 0.4 workflow additions */
.contents{display:contents}.split-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:.85rem;margin:.7rem 0;border:1px solid #ddd;border-radius:.8rem;background:#fff}.split-row .wide{grid-column:1/-1}.secondary{background:#fff;color:#533;border:1px solid #b97b58}@media(max-width:720px){.split-row{grid-template-columns:1fr}}

/* Build 0.5 Personal / Family space clarity */
.space-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.space-badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--line);background:#fff}.space-badge.private{background:#eef4ff;border-color:#bfd0ef}.space-badge.family{background:#edf7ef;border-color:#b9d7bf}.space-header-link{text-decoration:none;color:inherit}.family-block{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.member-row,.share-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line)}.share-row form{margin:0}@media(max-width:720px){.space-hero{display:block}.space-hero .space-badge{margin-top:8px}.space-header-link{order:3;width:100%}}

/* Build 0.6.4 hierarchical navigation */
.master-node{border-bottom:1px solid #ddd;padding:.5rem 0}.master-node>summary{cursor:pointer}



/* 0.6.4 account group hierarchy and mobile navigation */
.account-branch{list-style:none;margin:.3rem 0 .65rem 1.2rem;padding:0}.account-branch li{padding:.28rem .6rem;border-left:2px solid #d8b59e}.account-branch a{overflow-wrap:anywhere}

/* ===== Build 0.6.4 RC2: live navigation tree, drawer, mobile tables ===== */
body .shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 60px)}
.pf-nav{background:#fff;border-right:1px solid var(--line);padding:10px 8px 28px;position:sticky;top:60px;height:calc(100vh - 60px);overflow:auto}
.pf-search{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;margin-bottom:8px;background:#fff}
.pf-n{margin:0}.pf-hide{display:none!important}
.pf-n>summary{list-style:none;display:flex;align-items:center;gap:6px;padding:8px 8px 8px 24px;border-radius:8px;cursor:pointer;position:relative;min-height:36px}
.pf-n>summary::-webkit-details-marker{display:none}
.pf-n>summary::before{content:"\25B8";position:absolute;left:8px;color:var(--muted);font-size:11px}
.pf-n[open]>summary::before{content:"\25BE"}
.pf-n>summary:hover,.pf-leaf:hover{background:var(--soft)}
.pf-l0>summary{font-weight:700}
.pf-l0:not(:first-child){border-top:1px solid var(--line);margin-top:6px;padding-top:4px}
.pf-lab{flex:1;min-width:0;overflow-wrap:anywhere}
.pf-lab a{color:inherit;text-decoration:none}
.pf-lab small{display:block;color:var(--muted);font-weight:400;font-size:11px;line-height:1.15}
.pf-kids{margin-left:14px;padding-left:4px;border-left:1px solid var(--line)}
a.pf-leaf{display:flex;align-items:center;gap:6px;padding:8px 8px;border-radius:8px;color:inherit;text-decoration:none;min-height:36px;font-size:14px}
.pf-l0>a.pf-leaf{font-weight:700}
.pf-active>a.pf-leaf,.pf-active>summary{background:var(--soft);color:var(--accent);font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}
.pf-badge{background:var(--accent);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;font-weight:700}
.pf-badge.warn{background:#c98a12}
.pf-menu-btn{display:none;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 11px;font-size:18px;line-height:1}
.pf-mask{display:none}
/* master pages: jump targets from the tree */
:target{scroll-margin-top:76px}
details.master-node>summary .pf-sum{float:right;color:var(--muted);font-weight:400}
@media(max-width:900px){
 body .shell{grid-template-columns:minmax(0,1fr)}
 .pf-menu-btn{display:inline-block}
 .pf-nav{position:fixed;left:0;top:0;height:100vh;width:min(320px,86vw);z-index:30;transform:translateX(-102%);transition:transform .2s;box-shadow:0 10px 40px rgba(0,0,0,.25);padding-top:14px}
 body.pf-drawer .pf-nav{transform:none}
 body.pf-drawer .pf-mask{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:29}
 a.pf-leaf,.pf-n>summary{min-height:44px}
 .table-scroll{overflow-x:auto}
}
/* tables that stack into cards on phones: add class "stack-sm" and data-label on each td */
@media(max-width:700px){
 table.stack-sm thead{display:none}
 table.stack-sm,table.stack-sm tbody,table.stack-sm tr,table.stack-sm td{display:block;width:100%}
 table.stack-sm tr{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin:0 0 10px}
 table.stack-sm td{border:0;padding:4px 0;text-align:left!important}
 table.stack-sm td[data-label]::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
 main table:not(.stack-sm){display:block;overflow-x:auto;white-space:nowrap}
}
/* RC2 polish: denser tree rows, tidy inline edit forms */
.pf-n>summary{padding:4px 8px 4px 24px;min-height:30px}
a.pf-leaf{padding:4px 8px;min-height:30px}
.pf-lab small{margin-top:0}
.pf-n>summary,.pf-n>summary *{line-height:1.25}
details.master-node>form.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end;padding:10px 0 12px}
details.master-node>form.compact label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:12px;color:var(--muted)}
details.master-node>form.compact input:not([type=checkbox]),details.master-node>form.compact select{width:100%;box-sizing:border-box}
details.master-node>form.compact label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:6px}
details.master-node>form.compact button{justify-self:start}
@media(max-width:900px){a.pf-leaf,.pf-n>summary{min-height:42px}}

/* RC2.1: compact one-row header on phones; no drawer shadow when closed */
@media(max-width:900px){
 .pf-nav{box-shadow:none}
 body.pf-drawer .pf-nav{box-shadow:0 10px 40px rgba(0,0,0,.25)}
}
@media(max-width:700px){
 header{flex-wrap:nowrap;min-height:48px;padding:6px 10px;gap:8px}
 header .brand{font-size:18px}
 header .pill,header .space-header-link{display:none}
 header .langform select{padding:4px 6px;font-size:13px;max-width:124px}
 header form button,header a{font-size:14px;padding:6px 8px}
 .pf-menu-btn{padding:4px 10px}
}
