.fp{--ink:#452a1e;--muted:#917c70;--line:#eee4db;--paper:#fbf8f4;--white:#fff;--rose:#f7d8d8;--peach:#ffe7d0;--blue:#d8f3f5;--orange:#e89c50;--brown:#894400;--green:#387c61;--shadow:0 10px 30px #5635200f}.fp *{box-sizing:border-box}.fp{background:var(--paper);color:var(--ink);font:14px var(--font-sans),sans-serif;margin:0}.fp button,.fp input,.fp select{font:inherit}.fp button{cursor:pointer}.fp .app{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.fp .side{border-right:1px solid var(--line);background:#fff;flex-direction:column;padding:25px 17px;display:flex}.fp .brand{align-items:center;gap:11px;padding:0 8px 28px;display:flex}.fp .monogram{background:var(--rose);width:42px;height:42px;color:var(--brown);font:600 24px var(--font-display);border-radius:50% 50% 50% 12px;place-items:center;display:grid;position:relative}.fp .monogram:after{content:"✦";color:var(--orange);font-size:13px;position:absolute;bottom:-3px;right:-4px}.fp .brand strong{font:600 16px var(--font-display);display:block}.fp .brand small{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:9px}.fp .nav-label{text-transform:uppercase;letter-spacing:.14em;color:#ae9e92;margin:10px 12px;font-size:10px}.fp .nav{gap:5px;display:grid}.fp .nav button{color:#78675d;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:11px 13px;font-weight:600;display:flex}.fp .nav button:hover,.fp .nav button.active{color:var(--brown);background:#fbf0ed}.fp .ico{text-align:center;width:18px;font-size:17px}.fp .side-bottom{margin-top:auto}.fp .help{color:#705847;background:#fff8f0;border:1px solid #f3e5d4;border-radius:14px;padding:14px}.fp .help b{margin-bottom:4px;display:block}.fp .help small{color:var(--muted);line-height:1.5}.fp .account{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:14px;padding:17px 6px 0;display:flex}.fp .avatar{background:var(--peach);width:34px;height:34px;color:var(--brown);border-radius:50%;place-items:center;font-weight:700;display:grid}.fp .account b{font-size:12px}.fp .account small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.fp .main{min-width:0}.fp .top{border-bottom:1px solid var(--line);z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;justify-content:space-between;align-items:center;height:78px;padding:0 38px;display:flex;position:sticky;top:0}.fp .crumb{color:var(--muted);font-size:12px}.fp .crumb strong{color:var(--ink)}.fp .top-right{align-items:center;gap:12px;display:flex}.fp .demo{color:#a95037;background:#fff5f1;border:1px solid #f0c7b9;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:700}.fp .iconbtn{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:#fff;border-radius:50%}.fp .content{max-width:1440px;margin:auto;padding:34px 38px 50px}.fp .head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px;display:flex}.fp .eyebrow{color:#b56e3d;text-transform:uppercase;letter-spacing:.16em;margin-bottom:8px;font-size:10px;font-weight:700}.fp .head h1{font:600 32px var(--font-display);letter-spacing:-.02em;margin:0}.fp .head p{color:var(--muted);margin:7px 0 0}.fp .head-actions{gap:9px;display:flex}.fp .btn{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:10px 14px;font-weight:600;box-shadow:0 2px 4px #472a1a08}.fp .btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.fp .btn.primary{background:var(--brown);color:#fff;border-color:var(--brown)}.fp .btn.primary:hover{background:#6f3600}.fp .period{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:11px;padding:9px 11px;font-weight:600}.fp .banner{color:#785243;background:linear-gradient(100deg,#fff1ed,#fff8ec);border:1px solid #f1ded0;border-radius:14px;align-items:center;gap:12px;margin-bottom:19px;padding:12px 16px;display:flex}.fp .banner span{font-size:18px}.fp .banner b{color:#684331}.fp .banner small{color:#92796b}.fp .metrics{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.fp .card{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 5px #50321e06}.fp .metric{padding:18px 19px;position:relative;overflow:hidden}.fp .metric-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.fp .metric-icon{color:#a85825;background:#fff3eb;border-radius:10px;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.fp .metric:nth-child(2) .metric-icon{color:#bc6670;background:#fff0f0}.fp .metric:nth-child(3) .metric-icon{color:#438b70;background:#edf8f4}.fp .metric:nth-child(4) .metric-icon{color:#397e84;background:#edf8f9}.fp .metric-value{font:600 25px var(--font-display);margin:12px 0 7px}.fp .metric-foot{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.fp .up{color:var(--green);font-weight:700}.fp .down{color:#b55848;font-weight:700}.fp .dashgrid{grid-template-columns:minmax(0,1.65fr) minmax(270px,.9fr);gap:16px;display:grid}.fp .panel{padding:20px}.fp .panel-head{justify-content:space-between;align-items:start;margin-bottom:18px;display:flex}.fp .panel-title{font-size:14px;font-weight:700}.fp .panel-sub{color:var(--muted);margin-top:5px;font-size:11px}.fp .legend{color:var(--muted);align-items:center;gap:14px;font-size:10px;display:flex}.fp .dot{background:var(--orange);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.fp .dot.rose{background:#e5aab2}.fp .chartwrap{height:210px;position:relative}.fp .chartwrap svg{width:100%;height:100%;overflow:visible}.fp .gridline{stroke:#f0e9e3;stroke-width:1px}.fp .axis{fill:#a28e80;font-size:10px;font-family:var(--font-sans)}.fp .line1{fill:none;stroke:#d98b47;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.fp .line2{fill:none;stroke:#ddaab1;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.fp .area{fill:url(#grad);opacity:.45}.fp .charttip{border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:7px 10px;font-size:10px;position:absolute;top:8px;right:5%}.fp .charttip b{color:var(--ink);margin-top:3px;font-size:12px;display:block}.fp .donutrow{align-items:center;gap:22px;padding:5px 4px 10px;display:flex}.fp .donut{background:conic-gradient(#e89c50 0 32%,#e8b3b5 32% 56%,#9bcdd1 56% 70%,#c7b5a7 70% 82%,#f3dfc4 82%);border-radius:50%;flex-shrink:0;width:142px;height:142px;position:relative}.fp .donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:22px}.fp .donutcenter{text-align:center;z-index:1;font:600 18px var(--font-display);place-content:center;display:grid;position:absolute;inset:0}.fp .donutcenter small{font:10px var(--font-sans);color:var(--muted);font-weight:400}.fp .catlist{flex:1;gap:11px;display:grid}.fp .cat{color:#735f53;justify-content:space-between;align-items:center;gap:9px;font-size:11px;display:flex}.fp .catname{align-items:center;gap:7px;display:flex}.fp .cat .dot{flex-shrink:0;margin:0}.fp .cat b{color:var(--ink)}.fp .bottomgrid{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:16px;margin-top:16px;display:grid}.fp .tablewrap{overflow:auto}.fp table{border-collapse:collapse;width:100%;min-width:590px}.fp th{text-align:left;text-transform:uppercase;letter-spacing:.09em;color:#a28e80;padding:0 10px 11px;font-size:9px;font-weight:700}.fp td{white-space:nowrap;border-top:1px solid #f4eee9;padding:12px 10px;font-size:11px}.fp td b{font-weight:600}.fp .subtext{color:var(--muted);margin-top:3px;font-size:10px}.fp .amount.pos{color:#387c61;font-weight:700}.fp .amount.neg{color:#b55848;font-weight:700}.fp .pill{color:#3d8067;background:#edf7f1;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:700}.fp .pill.pending{color:#aa792b;background:#fff5df}.fp .goal{background:linear-gradient(145deg,#fff4ec,#fff);border:1px solid #f1e4d9;border-radius:14px;padding:18px}.fp .goaltop{justify-content:space-between;align-items:center;display:flex}.fp .goaltop b{font-size:12px}.fp .goaltop span{color:var(--muted);font-size:10px}.fp .goalnum{font:600 23px var(--font-display);margin:15px 0 5px}.fp .progress{background:#f0e8df;border-radius:99px;height:8px;overflow:hidden}.fp .progress i{background:linear-gradient(90deg,#e89c50,#e9b4a6);border-radius:99px;width:68%;height:100%;display:block}.fp .goalfoot{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.fp .shortcut{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.fp .shortcut button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:11px;padding:11px 10px;font-size:11px;font-weight:600}.fp .shortcut button span{color:#bd7950;margin-bottom:5px;font-size:17px;display:block}.fp .page{display:none}.fp .page.active{display:block}.fp .tabletools{justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;display:flex}.fp .search{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:210px;padding:10px 12px}.fp .filters{flex-wrap:wrap;gap:7px;display:flex}.fp .filters select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:9px}.fp .reportgrid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.fp .reportbox{min-height:235px}.fp .emptyhint{color:var(--muted);text-align:center;background:#fffaf6;border-radius:12px;padding:35px 20px}.fp .settingsgrid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.fp .setting{padding:20px}.fp .setting h3{font:600 18px var(--font-display);margin:0 0 8px}.fp .setting p{color:var(--muted);font-size:12px;line-height:1.6}.fp .setting label{margin:12px 0 6px;font-size:11px;font-weight:600;display:block}.fp .setting input,.fp .setting select{border:1px solid var(--line);border-radius:9px;width:100%;padding:10px}.fp .modalback{z-index:10;background:#32201570;justify-content:center;align-items:center;padding:15px;display:none;position:fixed;inset:0}.fp .modalback.show{display:flex}.fp .modal{background:#fff;border-radius:18px;width:min(540px,100%);padding:22px;box-shadow:0 20px 70px #29170e30}.fp .modalhead{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.fp .modalhead h2{font:600 22px var(--font-display);margin:0}.fp .close{width:31px;height:31px;color:var(--ink);background:#f8f0ea;border:0;border-radius:50%}.fp .formgrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fp .field.full{grid-column:1/-1}.fp .field label{margin-bottom:6px;font-size:11px;font-weight:700;display:block}.fp .field input,.fp .field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;padding:10px}.fp .modalactions{justify-content:end;gap:8px;margin-top:18px;display:flex}.fp .toast{color:#fff;box-shadow:var(--shadow);opacity:0;z-index:20;background:#452a1e;border-radius:10px;padding:12px 16px;transition:all .25s;position:fixed;bottom:22px;right:22px;transform:translateY(10px)}.fp .toast.show{opacity:1;transform:none}.fp .mobilemenu{display:none}@media (width<=1050px){.fp .app{grid-template-columns:210px 1fr}.fp .content{padding:28px 24px}.fp .top{padding:0 24px}.fp .metrics{grid-template-columns:repeat(2,1fr)}.fp .dashgrid,.fp .bottomgrid{grid-template-columns:1fr}}@media (width<=720px){.fp .app{display:block}.fp .side{z-index:8;width:250px;box-shadow:var(--shadow);transition:left .25s;position:fixed;top:0;bottom:0;left:-260px}.fp .side.open{left:0}.fp .mobilemenu{display:inline-grid}.fp .top{height:64px;padding:0 16px}.fp .content{padding:23px 15px 40px}.fp .head{flex-direction:column;align-items:start}.fp .head h1{font-size:28px}.fp .head-actions{flex-wrap:wrap;width:100%}.fp .head-actions>*{flex:1}.fp .metrics{gap:9px}.fp .metric{padding:14px}.fp .metric-value{font-size:21px}.fp .metric-head{font-size:10px}.fp .banner{align-items:flex-start}.fp .panel{padding:15px}.fp .donutrow{gap:13px}.fp .donut{width:120px;height:120px}.fp .categorytable{min-width:540px}.fp .reportgrid,.fp .settingsgrid{grid-template-columns:1fr}.fp .tabletools{flex-direction:column;align-items:stretch}.fp .search{width:100%}.fp .demo{font-size:9px}.fp .top-right{gap:7px}}.fp,.fp .app{min-height:calc(100vh - 117px)}.fp .side{align-self:start;height:100vh;max-height:100vh;position:sticky;top:0}.fp .rowactions{justify-content:end;gap:6px;display:flex}.fp .rowactions .iconbtn{width:30px;height:30px;font-size:12px}.fp .rowactions .btn{padding:6px 10px;font-size:11px}.fp .pill.cancel{color:#b55848;background:#fff0f0}.fp .pager{color:var(--muted);justify-content:space-between;align-items:center;margin-top:14px;font-size:11px;display:flex}.fp .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.fp .alert{color:#8a6420;background:#fff5df;border:1px solid #f3e1b8;border-radius:14px;margin-bottom:16px;padding:12px 16px;font-size:12px}.fp .customrange{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.fp .customrange input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:8px 10px}.fp .tag{color:#76513b;background:#faf3ed;align-items:center;gap:6px;display:inline-flex}.fp .tag button{color:inherit;background:0 0;border:0;padding:0;font-size:12px;line-height:1}.fp .sidescrim{display:none}@media (width<=720px){.fp .side{height:100vh;position:fixed}.fp .sidescrim.open{z-index:7;background:#32201540;display:block;position:fixed;inset:0}}.fp .check{align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;display:flex}.fp .field textarea{border:1px solid var(--line);border-radius:9px;width:100%;padding:10px}.fp .modal{max-height:92dvh;overflow:auto}.fp .modalback{display:flex}.fp .modal .hint{color:var(--muted);margin:-8px 0 14px;font-size:11px}.fp .card,.fp .main,.fp .content>section{min-width:0}.fp .demo{white-space:nowrap}.fp .greeting-star{color:var(--orange)}.fp .chart-gradient{stop-color:var(--orange)}@media (width<=720px){.fp .panel-head{flex-wrap:wrap;gap:12px}.fp .legend{flex-shrink:0}.fp .setting .btn{white-space:normal}.fp .demo{display:none}.fp .crumb{white-space:nowrap}}@media (width<=1050px){.fp .dashgrid,.fp .bottomgrid{grid-template-columns:minmax(0,1fr)}}
