/* SA Family Register */
#dfer{--bg:#eef3f3;--paper:#ffffff;--ink:#18232d;--mut:#5d6b78;--line:#d6e0e3;--rule:#e3ecee;--cover:#8c1c24;--cover2:#6e1219;--gold:#e9c46a;--inc:#12794a;--incbg:#dff4e8;--exp:#b3261e;--expbg:#fbe3e0;--sav:#1f5fbf;--savbg:#e1ecfb;--kid:#c77a00;--acc:#1d4e6b;--accbg:#dcebf3;--sel:#ffe9a8;--msel:#cfe6ff;--serif:'Noto Serif Bengali','Hind Siliguri',Georgia,serif;--sans:'Hind Siliguri','Noto Sans Bengali','Segoe UI',system-ui,sans-serif;width:100%;max-width:none;margin:0;padding:0 0 30px;font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--ink);background:var(--bg);box-sizing:border-box;text-align:left}
#dfer.dk{--bg:#10171c;--paper:#18222a;--ink:#e7eef2;--mut:#9fb0bc;--line:#2b3a45;--rule:#22303a;--cover:#7a1a21;--cover2:#5a1017;--inc:#4fd18b;--incbg:#143626;--exp:#ff8f86;--expbg:#3b1b19;--sav:#7fb2ff;--savbg:#172c4d;--kid:#f0b040;--acc:#8cc4e6;--accbg:#1b3444;--sel:#5b4a12;--msel:#1c3b5c}
#dfer *,#dfer *::before,#dfer *::after{box-sizing:border-box}
#dfer h1,#dfer h2,#dfer h3,#dfer h4,#dfer p{font-family:var(--sans);text-transform:none;letter-spacing:normal;margin:0;padding:0;color:inherit;border:0;background:none}
#dfer button{font:inherit;font-family:var(--sans);text-transform:none;letter-spacing:normal;box-shadow:none;text-shadow:none;margin:0;line-height:1.35;cursor:pointer;color:inherit;min-height:0;width:auto;height:auto}
#dfer input,#dfer textarea{font:inherit;font-family:var(--sans);color:var(--ink);box-shadow:none;margin:0;max-width:100%;height:auto}
#dfer button:focus-visible,#dfer input:focus-visible,#dfer textarea:focus-visible,#dfer summary:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
#dfer table{border-collapse:collapse;width:100%;margin:0;font-size:14px;border:0}
#dfer th,#dfer td{border:0;border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top;background:none;color:inherit}
#dfer th{background:var(--accbg);font-weight:700}
#dfer td.num,#dfer th.num{text-align:right;white-space:nowrap}
#dfer .cover{background:linear-gradient(180deg,var(--cover),var(--cover2));color:#fff;border-radius:14px;padding:24px 20px 20px;border-bottom:5px solid var(--gold)}
#dfer .cover h1{font-family:var(--serif);font-size:30px;line-height:1.25;font-weight:800;color:#fff}
#dfer .cover p{margin-top:4px;opacity:.88;font-size:14px;color:#fff}
#dfer .tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
#dfer .tbtn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:999px;padding:6px 14px;font-size:14px}
#dfer .tbtn:hover{background:rgba(255,255,255,.24);color:#fff}
#dfer .main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:16px;margin-top:16px;align-items:start;padding:0 12px}
#dfer .card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px}
#dfer .card+.card{margin-top:16px}
#dfer .ruled{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,var(--rule) 31px,var(--rule) 32px)}
#dfer .calhead{display:flex;align-items:center;gap:8px;margin-bottom:10px}
#dfer .calhead h2{flex:1;text-align:center;font-family:var(--serif);font-size:22px;font-weight:700}
#dfer .nav{border:1px solid var(--line);background:var(--paper);border-radius:8px;width:40px;height:40px;font-size:18px;padding:0}
#dfer .nav:hover{background:var(--accbg)}
#dfer .todaybtn{border:1px solid var(--acc);color:var(--acc);background:transparent;border-radius:8px;padding:6px 12px;font-size:14px}
#dfer .grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
#dfer .dow{text-align:center;font-size:13px;color:var(--mut);padding:4px 0;font-weight:600}
#dfer .cell{min-height:76px;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:4px 2px;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;overflow:hidden}
#dfer .cell.empty{border:none;background:transparent;cursor:default}
#dfer .cell:not(.empty):hover{border-color:var(--acc);background:var(--paper)}
#dfer .dn{font-weight:700;font-size:16px;line-height:1.25}
#dfer .ci,#dfer .ce,#dfer .cs{font-size:10.5px;line-height:1.25;font-weight:600;white-space:nowrap}
#dfer .ci{color:var(--inc)}#dfer .ce{color:var(--exp)}#dfer .cs{color:var(--sav)}
#dfer .cell.has{background:linear-gradient(180deg,var(--paper),var(--rule))}
#dfer .cell.today .dn{background:var(--acc);color:#fff;border-radius:999px;padding:0 8px}
#dfer .cell.sel{background:var(--sel);border-color:#c79a00}
#dfer .cell.msel{background:var(--msel);border-color:var(--acc)}
#dfer .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--mut);margin-top:10px}
#dfer .legend b{font-weight:700}
#dfer .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:10px 0}
#dfer .tile{border-radius:10px;padding:8px 10px}
#dfer .tile small{display:block;font-size:13px;color:var(--mut)}
#dfer .tile b{font-family:var(--serif);font-size:17px;word-break:break-word}
#dfer .tile.i{background:var(--incbg)}#dfer .tile.i b{color:var(--inc)}
#dfer .tile.e{background:var(--expbg)}#dfer .tile.e b{color:var(--exp)}
#dfer .tile.s{background:var(--savbg)}#dfer .tile.s b{color:var(--sav)}
#dfer .tile.b{background:var(--accbg)}#dfer .tile.b b{color:var(--acc)}
#dfer .kidline{font-size:14px;border-left:4px solid var(--kid);padding:4px 10px;margin:6px 0;background:var(--rule);border-radius:0 8px 8px 0}
#dfer .sechead{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#dfer .sechead h3{font-family:var(--serif);font-size:18px;font-weight:700}
#dfer .sbtn{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:5px 12px;font-size:14px}
#dfer .sbtn:hover{background:var(--accbg)}
#dfer .sbtn.pri{background:var(--acc);color:#fff;border-color:var(--acc)}
#dfer .sbtn.dng{color:var(--exp);border-color:var(--exp)}
#dfer .bd{margin-top:8px}
#dfer .bd h4{margin:10px 0 4px;font-size:15px;font-weight:700}
#dfer .bd h4.i{color:var(--inc)}#dfer .bd h4.e{color:var(--exp)}#dfer .bd h4.s{color:var(--sav)}
#dfer .bar{display:grid;grid-template-columns:minmax(80px,38%) 1fr auto;gap:8px;align-items:center;font-size:14px;margin:3px 0}
#dfer .bar .t{height:9px;border-radius:6px;background:var(--rule);overflow:hidden}
#dfer .bar .t span{display:block;height:100%}
#dfer .bar.i .t span{background:var(--inc)}#dfer .bar.e .t span{background:var(--exp)}#dfer .bar.s .t span{background:var(--sav)}
#dfer .muted{color:var(--mut);font-size:14px}
#dfer .tabs{display:flex;gap:6px;margin-bottom:12px;border-bottom:2px solid var(--line)}
#dfer .tab{border:none;background:transparent;padding:9px 14px;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--mut);border-radius:0}
#dfer .tab[aria-selected="true"]{color:var(--cover);border-bottom-color:var(--cover);background:transparent}
#dfer.dk .tab[aria-selected="true"]{color:#ff9aa1;border-bottom-color:#ff9aa1}
#dfer .daytitle{font-family:var(--serif);font-size:20px;margin-bottom:10px;font-weight:700}
#dfer .seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
#dfer .seg button{border:2px solid var(--line);background:var(--paper);border-radius:10px;padding:9px 4px;font-weight:700}
#dfer .seg button.on.e{background:var(--expbg);border-color:var(--exp);color:var(--exp)}
#dfer .seg button.on.i{background:var(--incbg);border-color:var(--inc);color:var(--inc)}
#dfer .seg button.on.s{background:var(--savbg);border-color:var(--sav);color:var(--sav)}
#dfer .chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
#dfer .chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:5px 12px;font-size:14px}
#dfer .chip.kid{border-left:4px solid var(--kid)}
#dfer .chip:hover{border-color:var(--acc);background:var(--paper)}
#dfer .chip.on{background:var(--acc);color:#fff;border-color:var(--acc)}
#dfer .chip.add{border-style:dashed;color:var(--acc)}
#dfer .newcat{display:flex;gap:6px;width:100%}
#dfer .newcat input{flex:1}
#dfer .fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}
#dfer label.f{display:block;font-size:13px;color:var(--mut);font-weight:600;margin-bottom:2px}
#dfer input[type=text],#dfer input[type=date],#dfer textarea{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:8px 10px;min-height:42px}
#dfer textarea{min-height:110px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
#dfer .addrow{display:flex;gap:8px;margin-top:10px}
#dfer .addbtn{flex:1;border:none;border-radius:10px;padding:11px;font-weight:700;color:#fff;font-size:16px}
#dfer .addbtn.e{background:var(--exp)}#dfer .addbtn.i{background:var(--inc)}#dfer .addbtn.s{background:var(--sav)}
#dfer .addbtn:hover{color:#fff;opacity:.92}
#dfer .cancel{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:0 16px}
#dfer .lst{margin-top:14px}
#dfer .lst h4{font-family:var(--serif);font-size:17px;font-weight:700;margin-bottom:4px}
#dfer .lst.e h4{color:var(--exp)}#dfer .lst.i h4{color:var(--inc)}#dfer .lst.s h4{color:var(--sav)}
#dfer .row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:7px 2px;border-bottom:1px dashed var(--line)}
#dfer .row .c{font-weight:600}
#dfer .row .n{font-size:13px;color:var(--mut);overflow-wrap:anywhere}
#dfer .row .a{font-weight:700;white-space:nowrap}
#dfer .lst.e .a{color:var(--exp)}#dfer .lst.i .a{color:var(--inc)}#dfer .lst.s .a{color:var(--sav)}
#dfer .mini{display:flex;gap:4px}
#dfer .mini button{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:2px 8px;font-size:13px}
#dfer .sub{display:flex;justify-content:space-between;padding:8px 2px;font-weight:700}
#dfer .empty-note{padding:8px 2px;color:var(--mut);font-size:14px}
#dfer .tw{overflow-x:auto;margin-top:8px}
#dfer .pos{color:var(--inc)}#dfer .neg{color:var(--exp)}#dfer .blu{color:var(--sav)}
#dfer .rangebox{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-bottom:10px}
#dfer .btnrow{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
#dfer details.bk{margin-top:16px}
#dfer details.bk summary{cursor:pointer;font-weight:600}
#dfer .toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#18232d;color:#fff;padding:9px 18px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:99999}
#dfer .toast.show{opacity:1}
#dfer #df_print{display:none}
#dfer.wide .cell{min-height:92px}#dfer.wide .dn{font-size:18px}#dfer.wide .ci,#dfer.wide .ce,#dfer.wide .cs{font-size:12px}#dfer.wide .card{padding:18px}#dfer.wide .cover h1{font-size:36px}
#dfer.mid .main{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;padding:0 10px}#dfer.mid .card{padding:10px}#dfer.mid .cell{min-height:66px;padding:3px 1px}#dfer.mid .dn{font-size:14px}#dfer.mid .ci,#dfer.mid .ce,#dfer.mid .cs{font-size:9.5px}#dfer.mid .fields{grid-template-columns:minmax(0,1fr)}#dfer.mid .rangebox{grid-template-columns:1fr 1fr}#dfer.mid .rangebox button{grid-column:1/-1}#dfer.mid .seg button{font-size:14px}#dfer.mid .tab{padding:8px 8px;font-size:14px}#dfer.mid .cover h1{font-size:26px}
#dfer.narrow .main{grid-template-columns:minmax(0,1fr);padding:0 12px}
#dfer.xnarrow .cover h1{font-size:22px}#dfer.xnarrow .cell{min-height:62px}#dfer.xnarrow .dn{font-size:14px}#dfer.xnarrow .ci,#dfer.xnarrow .ce,#dfer.xnarrow .cs{font-size:9px}#dfer.xnarrow .fields{grid-template-columns:minmax(0,1fr)}#dfer.xnarrow .rangebox{grid-template-columns:1fr 1fr}#dfer.xnarrow .rangebox button{grid-column:1/-1}#dfer.xnarrow .seg button{font-size:14px}
@media(prefers-reduced-motion:reduce){#dfer .toast{transition:none}}
@media print{body.dfer-fb *{visibility:hidden!important}body.dfer-fb #dfer #df_print,body.dfer-fb #dfer #df_print *{visibility:visible!important}body.dfer-fb #dfer #df_print{display:block!important;position:absolute;left:0;top:0;width:100%;background:#fff;color:#000;padding:10px}}
#dfer .sync{font-size:13px;color:#fff;opacity:.92;align-self:center;margin-left:4px}
#dfer .sync a{color:#fff;text-decoration:underline}
#dfer .sync[data-st="off"],#dfer .sync[data-st="auth"]{background:rgba(0,0,0,.25);padding:2px 10px;border-radius:999px}
