:root{--pink:#a64d7a;--pink-dark:#803b61;--rose:#f9eaf0;--rose2:#f3dce7;--ink:#34232d;--muted:#927987;--line:#f0dce5;--white:#fff;--green:#2d8b68;--shadow:0 12px 35px rgba(117,54,85,.09)}*{box-sizing:border-box}body{margin:0;background:#fff8fb;color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--pink-dark);text-decoration:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#f6dce8,#fff8fb 60%)}.login-card{width:min(100%,420px);background:white;border:1px solid var(--line);border-radius:25px;padding:30px;box-shadow:var(--shadow);text-align:center}.brand-avatar,.profile-photo{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#f2cddd,#a64d7a);color:white;display:grid;place-items:center;margin:0 auto 12px;font-size:44px;font-weight:800;overflow:hidden;border:4px solid white;box-shadow:0 0 0 1px #efd2df}.brand-avatar span{display:block}.login-card h1,.top h1{font-size:clamp(23px,5vw,29px);letter-spacing:.3px;color:var(--pink-dark);margin:8px 0 0}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px;margin-top:18px}.login-card form{text-align:left;margin-top:22px}label{display:block;font-weight:650;font-size:13px;margin:12px 0 6px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #e8d3de;border-radius:12px;background:#fff;color:var(--ink);font:inherit;outline:none}input:focus,select:focus{border-color:var(--pink);box-shadow:0 0 0 3px #f9eaf0}.btn{border:0;border-radius:12px;padding:12px 17px;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}.primary{background:var(--pink);color:white}.secondary{background:var(--rose2);color:var(--pink-dark)}.full{width:100%;margin-top:18px}.app-shell{max-width:900px;margin:0 auto;min-height:100vh;background:#fff;box-shadow:0 0 40px #6b34400a}.top{text-align:center;padding:24px 16px 20px;background:linear-gradient(180deg,#fff4f9,#fff)}.profile-photo{width:106px;height:106px;margin-bottom:10px}.profile-photo img{width:100%;height:100%;object-fit:cover}.top p{margin:4px 0;color:var(--muted);font-size:13px}.hello{display:inline-block;background:var(--rose);color:var(--pink-dark);border-radius:99px;padding:6px 13px;margin-top:12px;font-size:12px;font-weight:650}.nav{display:flex;gap:7px;padding:10px 14px;overflow-x:auto;border-block:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:3}.nav a{white-space:nowrap;padding:8px 11px;border-radius:10px;font-size:12px;font-weight:650;color:#876b7b}.nav a.active{background:var(--pink);color:white}.content{padding:20px 16px 35px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title h2{margin:0;color:var(--pink-dark);font-size:23px}.section-title p{margin:3px 0 0;color:var(--muted);font-size:13px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.summary{padding:16px;border-radius:16px;display:flex;flex-direction:column;gap:7px;min-width:0}.summary span{font-size:12px;color:#76596a}.summary strong{font-size:clamp(15px,2.8vw,20px);overflow-wrap:anywhere;color:var(--pink-dark)}.summary.in{background:#e9f7ef}.summary.out{background:#fff0f3}.summary.balance{background:#f9eaf0}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.quick{border:1px solid var(--line);border-radius:15px;padding:15px 10px;display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center;background:white}.quick span{font-size:26px;color:var(--pink)}.quick b{font-size:13px}.quick small{font-size:11px;color:var(--muted)}.panel{border:1px solid var(--line);border-radius:17px;padding:18px;margin:14px 0;background:#fff;box-shadow:0 5px 18px #7a39540a}.panel h3{margin:0 0 14px;font-size:16px;color:var(--pink-dark)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 13px}.wide{grid-column:1/-1}.form-grid .btn{margin-top:12px}.list-row,.transaction-row,.notification-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #f5e8ee}.list-row:last-child,.transaction-row:last-child,.notification-row:last-child{border-bottom:0}.date-chip{background:var(--rose);color:var(--pink-dark);border-radius:12px;padding:8px 10px;text-align:center;font-weight:750;min-width:55px;font-size:13px}.date-chip small{display:block;font-size:10px}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.row-main b{font-size:14px}.row-main small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.transaction-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-size:22px;font-weight:700;flex-shrink:0}.green{background:#e3f6eb;color:var(--green)}.pink{background:var(--rose);color:var(--pink)}.green-text{color:var(--green)}.pink-text{color:var(--pink)}.amount{font-size:13px;white-space:nowrap}.icon-btn{border:0;background:#fff0f3;color:#b54e72;border-radius:9px;width:30px;height:30px;font-size:19px;cursor:pointer}.filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.filter input{flex:1;min-width:120px}.notice{padding:18px;background:var(--rose);border-radius:15px;margin-bottom:18px;color:var(--pink-dark)}.alert{padding:12px 14px;background:#fff0f2;color:#a33759;border-radius:11px;margin:14px 0;font-size:13px}.alert.success{background:#e9f7ef;color:#236c4f}.notification-row.unread{background:#fff7fa;margin-inline:-8px;padding-inline:8px;border-radius:12px}.bell{font-size:24px;color:var(--pink)}.report-box{display:grid;gap:0;margin:10px 0 18px}.report-box div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.report-box span{color:var(--muted)}footer{text-align:center;padding:20px;color:#b094a3;font-size:11px;border-top:1px solid var(--line)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}h3{color:var(--pink-dark)}@media(max-width:620px){.summary-grid{grid-template-columns:1fr}.summary{padding:13px 15px}.quick-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.transaction-row{gap:8px}.amount{font-size:12px}.content{padding:16px 12px 28px}.panel{padding:15px}.nav{padding-inline:9px}}@media print{.nav,.btn,.filter,form,.top .hello{display:none!important}.app-shell{box-shadow:none}.content{padding:0}.panel{break-inside:avoid}}
