@import "tailwindcss";
:root{--ink:#122c2a;--cream:#f7f4ec;--paper:#fffefa;--coral:#ef937e;--line:#deddd5;--muted:#6f7772}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:34px 22px;background:var(--ink);color:#fff;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font:21px Georgia,serif;line-height:1;margin:0 10px 50px}.brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--coral);color:var(--ink);font-weight:bold}.brand small{display:block;font:9px Arial;letter-spacing:2.5px;opacity:.58;margin-top:4px}nav{display:grid;gap:6px}nav button{border:0;background:transparent;color:#bfcac5;display:flex;gap:14px;align-items:center;text-align:left;padding:13px 14px;border-radius:10px}nav button:hover,nav button.active{background:#23413e;color:#fff}nav i{font-style:normal;font-size:20px;width:20px;text-align:center}.protected{margin-top:auto;border-top:1px solid #35514e;padding:24px 10px 0}.protected b{font-size:13px}.protected p{color:#96aaa4;font-size:11px}.workspace{padding:32px 42px 60px;max-width:1500px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:10px!important;font-weight:700;letter-spacing:2px;color:#8a908b;margin:0 0 8px!important}h1,h2{font-family:Georgia,serif}header h1{font-size:29px;margin:0}.account{display:flex;align-items:center;gap:8px}.account i{width:8px;height:8px;border-radius:50%;background:#e9d6a7}.account i.ready{background:#5ca37f}.account small{color:var(--muted);margin-right:8px}.account b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e9d6a7}.hero{background:var(--ink);color:#fff;border-radius:18px;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:180px;width:190px;height:190px;border:38px solid #24423e;border-radius:50%}.hero>*{position:relative;z-index:1}.hero small,.hero p{color:#a9bab5}.hero h2{font-size:30px;margin:10px 0 9px}.primary{border:0;background:var(--coral);color:var(--ink);font-weight:700;padding:12px 18px;border-radius:9px;box-shadow:0 4px 0 #b86957}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat{border:1px solid var(--line);background:var(--paper);padding:20px;min-height:132px;border-radius:14px;display:flex;flex-direction:column}.stat span,.stat small{color:var(--muted);font-size:12px}.stat b{font:28px Georgia,serif;margin:auto 0 9px}.stat.ink{border-top:4px solid var(--ink)}.stat.green{border-top:4px solid #78b398}.stat.coral{border-top:4px solid var(--coral)}.stat.gold{border-top:4px solid #e9d6a7}.columns{display:grid;grid-template-columns:1.2fr .9fr;gap:18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px}.panel-title,.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel h2{font-size:22px;margin:0}.panel-title button{border:0;background:transparent;color:#447d6a;font-size:12px;font-weight:bold}.transactions>div,.upcoming>div{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #e8e7e0}.transactions i{width:36px;height:36px;display:grid;place-items:center;background:#fae1da;color:#b45d49;border-radius:10px;font-size:20px;font-style:normal}.transactions i.in{background:#dcefe6;color:#3c8066}.transactions span b,.upcoming span b{display:block;font-size:13px}.transactions small,.upcoming small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.transactions strong,.upcoming strong{font-size:13px}.positive{color:#3d8568}.upcoming time{border:1px solid var(--line);border-radius:9px;text-align:center;overflow:hidden}.upcoming time b{display:block;font:19px Georgia;padding:4px}.upcoming time small{background:#edf3ef;color:#58806f;padding:3px;margin:0;text-transform:uppercase}.page{min-height:610px}.page-title p{color:var(--muted)}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#eef2ee;border-radius:12px;padding:16px 20px;margin:20px 0}.summary span{color:var(--muted);font-size:12px}.summary b{display:block;color:var(--ink);font:20px Georgia;margin-top:5px}.bill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.bill-grid article{border:1px solid var(--line);border-top:4px solid var(--coral);border-radius:12px;padding:19px}.bill-grid article.paid{opacity:.63;border-top-color:#78b398}.bill-grid article>div{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.bill-grid h3{margin:25px 0 6px}.bill-grid article>strong{font:27px Georgia}.bill-grid p{color:var(--muted);font-size:12px}.bill-grid article>button{width:100%;border:1px solid var(--ink);background:transparent;padding:9px;border-radius:8px;font-weight:bold}.calendar-layout{display:grid;grid-template-columns:1fr 280px;gap:18px}.calendar-head{display:flex;justify-content:center;gap:30px;align-items:center;margin-bottom:24px}.calendar-head button{border:0;background:transparent;font-size:26px}.calendar-head h2{min-width:190px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{text-align:center;color:var(--muted);font-size:9px;padding:8px}.calendar-grid>div{min-height:98px;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:8px;font-size:11px}.calendar-grid>div.today>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--coral)}.event{display:block;width:100%;text-align:left;border:0;border-radius:5px;padding:5px;margin-top:5px;color:#365b4f;background:#dcece5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px}.event.paid{text-decoration:line-through;opacity:.6}.agenda>div{display:grid;grid-template-columns:48px 1fr auto;gap:7px;border-top:1px solid var(--line);padding:16px 0;font-size:11px}.backdrop{position:fixed;inset:0;background:#0a1b1ab8;z-index:5;display:grid;place-items:center;padding:20px}.modal{width:min(500px,100%);background:var(--paper);border-radius:16px;padding:26px}.modal>div{display:flex;justify-content:space-between;align-items:center}.modal h2{font-size:25px}.modal>div button{border:0;background:transparent;font-size:28px}form{display:grid;gap:15px}form label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:bold}input,select{width:100%;border:1px solid #cfcfc6;border-radius:8px;background:#fff;color:var(--ink);padding:11px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{grid-template-columns:18px 1fr;align-items:center}.check input{width:16px}.submit{margin-top:5px}@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}.columns,.calendar-layout{grid-template-columns:1fr}.bill-grid{grid-template-columns:1fr 1fr}.agenda{display:none}}@media(max-width:720px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:4;bottom:0;top:auto;height:auto;width:100%;padding:8px}.brand,.protected{display:none}.sidebar nav{grid-template-columns:repeat(4,1fr)}nav button{font-size:9px;display:grid;justify-items:center;gap:3px;padding:8px 2px}.workspace{padding:22px 15px 100px}.hero{display:block}.hero button{margin-top:18px}.stats,.columns,.bill-grid{grid-template-columns:1fr}.calendar{padding:10px;overflow-x:auto}.calendar-grid{min-width:650px}.summary{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}
.tab{display:none}.tab.active{display:block}.protected form{margin-top:14px}.protected form button{border:1px solid #66807b;background:transparent;color:#d9e3df;padding:8px 10px;border-radius:7px;width:100%;font-size:11px}.empty{padding:42px 15px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}.row-actions{display:flex;align-items:center;gap:12px}.delete-form{display:inline}.delete-form button{border:0;background:transparent;color:#9a655a;font-size:18px;padding:5px}.bill-grid article>div.bill-actions{display:grid;grid-template-columns:1fr 40px;gap:8px}.bill-grid article>div.bill-actions form{display:block}.bill-grid article>div.bill-actions button{width:100%;height:38px;border:1px solid var(--ink);background:transparent;border-radius:8px;font-weight:bold}.bill-grid article>div.bill-actions .delete{color:#9a5548;border-color:#d9b6ae;font-size:18px}.lock-page{min-height:100vh;display:grid;place-items:center;background:var(--ink);padding:20px}.lock-page:before{content:"";position:fixed;width:520px;height:520px;border:80px solid #23413e;border-radius:50%;right:-180px;top:-180px}.lock-card{position:relative;width:min(480px,100%);background:var(--paper);padding:42px;border-radius:20px;box-shadow:0 30px 90px #071513}.lock-brand{display:flex;align-items:center;gap:12px;margin-bottom:45px;font:22px Georgia}.lock-brand>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--coral);font-weight:bold}.lock-brand small{display:block;font:9px Arial;letter-spacing:2.5px;color:var(--muted)}.lock-card h1{font-size:34px;margin:8px 0}.lock-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.lock-form{margin:28px 0 22px}.privacy{display:block;color:#668078;text-align:center}.error{background:#fae1da;color:#8c4335;padding:11px;border-radius:8px;font-size:13px;margin-top:18px}.agenda>div>div{display:grid;grid-template-columns:55px 1fr auto;gap:8px;border-top:1px solid var(--line);padding:15px 0;font-size:11px}@media(max-width:720px){.lock-card{padding:28px}.lock-brand{margin-bottom:32px}.row-actions{gap:5px}}
.backdrop{display:none}.backdrop.open{display:grid}
.loan-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#eef2ee;border-radius:12px;padding:16px 20px;margin:20px 0}.loan-summary span{color:var(--muted);font-size:12px}.loan-summary b{display:block;color:var(--ink);font:20px Georgia;margin-top:5px}.loan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.loan-card{border:1px solid var(--line);border-radius:14px;padding:20px;border-top:4px solid #78b398}.loan-card-head{display:flex;justify-content:space-between;align-items:flex-start}.loan-card-head small{color:var(--muted);font-size:9px;letter-spacing:1px}.loan-card h3{margin:5px 0 20px}.loan-delete{border:0;background:transparent;color:#9a5548;font-size:22px}.loan-amounts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.loan-amounts span{font-size:11px;color:var(--muted)}.loan-amounts b{display:block;font:20px Georgia;color:var(--ink);margin-top:5px}.progress{height:8px;background:#e5e8e3;border-radius:10px;overflow:hidden;margin:20px 0 8px}.progress i{display:block;height:100%;background:#78b398;border-radius:10px}.loan-original{font-size:11px;color:var(--muted);margin:0 0 18px}.loan-pay{width:100%;margin-bottom:14px}.loan-card details{border-top:1px solid var(--line);padding-top:13px}.loan-card summary{cursor:pointer;font-size:12px;font-weight:bold;color:#46705f}.payment-list>div{display:flex;justify-content:space-between;border-top:1px solid #ecebe5;padding:11px 0}.payment-list span b,.payment-list span small{display:block}.payment-list span small,.payment-list time{color:var(--muted);font-size:10px;margin-top:4px}.payment-list>p,.payment-for{color:var(--muted);font-size:12px}.payment-for strong{color:var(--ink)}@media(max-width:1000px){.loan-grid{grid-template-columns:1fr}}@media(max-width:720px){.sidebar nav{grid-template-columns:repeat(5,1fr)}.loan-summary{grid-template-columns:1fr}.loan-amounts{grid-template-columns:1fr 1fr}}
/* Calendar layout correction */
.tab.calendar-layout.active{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}
.calendar{min-width:0;overflow:hidden}
.agenda{min-width:0}
.agenda>#agenda{display:block;border:0;padding:0}
.agenda>#agenda>div{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:15px 0;font-size:11px}
.agenda>#agenda>div span,.agenda>#agenda>div b,.agenda>#agenda>div strong{min-width:0}
.agenda>#agenda>div b{overflow:hidden;text-overflow:ellipsis}
@media(max-width:1000px){.tab.calendar-layout.active{display:block}.agenda{display:block;margin-top:18px}.agenda>#agenda>div{grid-template-columns:64px minmax(0,1fr) auto}}
@media(max-width:720px){.agenda{display:block}.agenda>#agenda>div{grid-template-columns:58px minmax(0,1fr) auto}}
