@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#493d45;background:#faf7f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d9a9c1;outline-offset:2px}h1,h2,h3,p{margin-top:0}.shell{display:flex;min-height:100vh}.sidebar{width:245px;background:#fff;border-right:1px solid #f0e8ed;position:fixed;inset:0 auto 0 0;padding:31px 17px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;padding:0 11px 43px}.brand-icon{background:#f7eaf0;color:#b77c99;border-radius:16px;width:45px;height:45px;display:grid;place-items:center}.brand strong{font-size:25px;letter-spacing:3px;color:#a36f89;display:block;line-height:1.1}.brand small{font-size:10px;color:#9b8a94}.sidebar-label{font-size:10px;letter-spacing:1.7px;color:#b3a4ad;font-weight:700;padding:0 13px 13px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:13px;border:0;background:transparent;padding:14px 16px;color:#82747e;text-align:left;border-radius:12px;font-size:14px;font-weight:600}.sidebar nav button.active,.sidebar nav button:hover{background:#f8edf3;color:#a36c87}.sidebar-bottom{margin-top:auto;border-top:1px solid #f1e9ed;padding:20px 6px 0;display:flex;align-items:center;gap:10px}.sidebar-bottom strong{display:block;font-size:12px}.sidebar-bottom small{display:block;color:#a3979e;font-size:10px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#f2dce7;color:#a66e8c;font-size:23px}.main{margin-left:245px;width:calc(100% - 245px)}.top{height:75px;background:#fff;border-bottom:1px solid #f0e8ed;display:flex;align-items:center;justify-content:space-between;padding:0 43px;font-size:13px;color:#9a8994;text-transform:capitalize}.top-right{display:flex;align-items:center;gap:8px;color:#766670}.online-dot{background:#93c6ad;width:8px;height:8px;border-radius:50%}.mobile-brand{display:none}.content{max-width:1250px;padding:35px 44px 65px;margin:auto}.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 17px;background:#fff5e8;border:1px solid #f0dcc0;color:#78664c;border-radius:13px;font-size:12px;line-height:1.6;margin-bottom:25px}.notice svg{flex:none}.notice.warning{background:#fff3ed}.notice.subtle{margin-top:25px;background:#fff;border-color:#f0e8ed;color:#8c7d85}.hero{position:relative;overflow:hidden;border-radius:23px;background:linear-gradient(110deg,#f3e0e9,#f9eef1 65%,#f7e6ea);padding:50px 52px;margin-bottom:25px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#b27d99;margin-bottom:15px}.hero h1{font-size:42px;line-height:1.2;letter-spacing:-1px;color:#6b4e60;margin-bottom:14px}.hero h1 em{font-family:Playfair Display,serif;font-weight:500;color:#a66e8c}.hero p{max-width:400px;font-size:14px;color:#8e7483;line-height:1.7}.hero-button,.primary{background:#aa7894;color:#fff;border:0;border-radius:11px;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13px}.hero-button{margin-top:10px}.hero-decor{position:absolute;right:7%;top:0;font-size:240px;color:#e6c3d3;transform:rotate(-12deg);opacity:.8;pointer-events:none}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #f4edf1;border-radius:17px;padding:20px 16px}.stat-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;flex:none}.stat-icon svg{width:20px}.blush{background:#f9eaf0;color:#bb86a0}.mint{background:#e8f5ed;color:#76ad8d}.cream{background:#fff3df;color:#c8a46a}.blue{background:#e9f1fc;color:#7da2d1}.stat strong{font-size:23px;display:block;color:#5d4a56}.stat small{font-size:11px;color:#9c8d96}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.panel{background:#fff;border:1px solid #f3eaf0;border-radius:18px;padding:23px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.panel-heading h3{font-size:16px;font-weight:700;color:#57424f;margin:0}.text-link{border:0;background:none;color:#a77390;font-size:12px;font-weight:700}.item-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #f7f0f3}.item-row:last-child{border-bottom:0}.item-row>div:nth-child(2){flex:1;min-width:0}.item-row strong,.event-line strong{display:block;font-size:13px}.item-row small,.event-line small,.expense small{display:block;color:#a4979f;font-size:11px;margin-top:5px}.date-badge{width:43px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;background:#f8edf3;color:#ac7694}.date-badge strong{font-size:17px}.date-badge small{font-size:10px;margin:0}.tag{border-radius:30px;font-size:10px;padding:5px 9px}.tag.shared{background:#e8f5ed;color:#5d9b7b}.tag.pink{background:#f9e9f0;color:#b47c9b}.tag.blue{background:#e9f0fb;color:#6c96cc}.empty-check{width:19px;height:19px;border:2px solid #e6d8df;border-radius:6px}.empty{padding:32px 10px;text-align:center;color:#c9a5b7;font-size:25px}.empty p{font-size:12px;color:#a899a2;margin:6px 0}.footer-note{text-align:center;color:#c0a8b6;font-size:12px;padding-top:15px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:6px 0 30px}.section-head h1{font-size:34px;color:#5e4756;letter-spacing:-.7px;margin:0 0 8px}.section-head p{color:#a0929b;font-size:14px;margin:0}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:20px;align-items:start}.calendar-panel{padding:23px 19px}.month-title{text-transform:capitalize}.arrows{display:flex;gap:5px}.arrows button{background:#faf5f8;border:0;color:#9b6b85;border-radius:9px;padding:8px;display:grid;place-items:center;font-size:12px}.arrows svg{width:16px;height:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;font-size:11px;color:#a997a2;font-weight:700;padding:10px 0}.day{height:64px;border:1px solid #f3eaf0;border-radius:10px;background:#fff;color:#76626f;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:10px 3px}.day:hover{background:#fcf3f7}.day.selected{background:#f9e9f1;border:2px solid #c78eaa;color:#985f7f;font-weight:700}.day.today:not(.selected)>span{background:#b982a0;color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}.day.blank{border:0;background:none}.dots{display:flex;gap:3px;justify-content:center}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.dot.pink{background:#e1a0bd}.dot.blue{background:#8ab3e6}.dot.shared{background:#89c4a4}.legend{display:flex;gap:17px;justify-content:center;flex-wrap:wrap;margin-top:22px;font-size:11px;color:#988895}.legend span{display:flex;align-items:center;gap:6px}.day-events{min-height:90px}.event-line{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #f5edf1}.event-line>div{flex:1}.subheading{font-size:12px;font-weight:700;color:#9d7289;margin:20px 0 10px}.form-stack{display:grid;gap:12px}.form-stack label{font-size:12px;color:#84717e;display:grid;gap:7px}.form-stack input,.form-stack select,.form-row input,.form-row select{width:100%;min-width:0;border:1px solid #ebdfe6;border-radius:10px;padding:12px;background:#fff;color:#594751;font-size:13px}.form-row{display:flex;gap:9px;align-items:end}.form-row>label{flex:1;min-width:0}.form-row>input,.form-row>select{flex:1}.icon-button{border:0;background:transparent;color:#b6a3af;padding:6px;display:grid;place-items:center}.list-space{margin-top:22px}.task-line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f5edf1;padding:12px 0;gap:12px}.task-line label{display:flex;align-items:center;gap:10px;flex:1;font-size:13px}.task-line input{accent-color:#b77c99;width:17px;height:17px}.task-line small{display:block;font-size:11px;color:#aa9aa4;margin-top:3px}.struck{text-decoration:line-through;color:#afa3aa}.counter{font-size:11px;color:#a48c9b;background:#faf1f6;padding:6px 9px;border-radius:20px}.finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.expense{border-bottom:1px solid #f4edf1;padding:14px 0}.expense-head{display:flex;justify-content:space-between;gap:10px}.expense-head strong{font-size:13px}.expense-right{text-align:right}.status{font-size:10px;display:inline-block;margin-top:6px;padding:4px 8px;border-radius:15px}.status.paid{color:#5c9d79;background:#e9f5ed}.status.pending{color:#ba9362;background:#fff4e1}.expense details{margin-top:12px}.expense summary{font-size:12px;color:#a36d89;cursor:pointer}.expense .delete-link{padding:9px 0}.error{background:#fff0f0;border:1px solid #f2c7c7;color:#a24b4b;padding:10px;border-radius:9px;font-size:12px}.goal{border-top:1px solid #f3eaf0;margin-top:18px;padding-top:16px}.goal-top{display:flex;justify-content:space-between;gap:10px;font-size:12px}.goal-top span{color:#9a8b95}.progress{height:9px;border-radius:10px;background:#f3e6ed;overflow:hidden;margin:12px 0}.progress>div{height:100%;background:#b77c99}.secondary{border:0;border-radius:10px;background:#f7e9f0;color:#9d6d88;padding:12px;font-weight:700;font-size:12px}.explainer{text-align:center;padding:25px 14px;color:#a16f8b}.explainer h3{color:#5d4755}.explainer p{font-size:13px;line-height:1.7;color:#8d7c86}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#f7eaf0,#fff)}.login-card{width:min(100%,430px);background:#fff;padding:40px;border-radius:25px;text-align:center;box-shadow:0 16px 65px #a7789120}.login-heart{font-size:55px;color:#b77c99}.login-card h1{font-size:48px;letter-spacing:5px;color:#a36e8b;margin:0}.login-card>p{font-size:13px;color:#a5969e}.login-card h2{font-size:19px;margin:35px 0 22px}.login-card form{text-align:left;display:grid;gap:15px}.login-card label{font-size:12px;color:#7e6e77;display:grid;gap:7px}.login-card input{padding:13px;border-radius:10px;border:1px solid #eadde5}.login-card small{display:block;color:#aaa;margin-top:18px}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:#a77591}.bottom-nav{display:none}@media(max-width:1100px){.content{padding:28px}.top{padding:0 28px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-layout{grid-template-columns:1fr}}@media(max-width:750px){.sidebar{display:none}.main{margin:0;width:100%}.top{height:62px;padding:0 19px}.mobile-brand{display:block;font-weight:700;letter-spacing:2px;color:#a36e8b;font-size:18px}.top>span{display:none}.content{padding:20px 16px 105px}.hero{padding:35px 26px}.hero h1{font-size:31px}.hero-decor{font-size:150px;right:-15px;top:35px;opacity:.5}.two-cols{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:13px 10px;gap:9px}.stat-icon{width:35px;height:35px}.stat strong{font-size:18px}.stat small{font-size:10px}.section-head h1{font-size:29px}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #f1e7ed;padding:9px 5px max(10px,env(safe-area-inset-bottom));z-index:5}.bottom-nav button{border:0;background:none;color:#a69aa2;display:grid;justify-items:center;gap:4px;font-size:10px}.bottom-nav button.active{color:#a76e8c;font-weight:700}.panel{padding:18px}.day{height:54px;font-size:12px;padding:7px 2px}.calendar-grid{gap:3px}.weekday{font-size:10px}.finance-stats{grid-template-columns:1fr 1fr}.finance-stats .stat:last-child{grid-column:span 2}}
