:root{--bg:#f5f3ed;--ink:#233e35;--muted:#758078;--line:#dce1d6;--accent:#d7e6b3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,sans-serif}header{max-width:1280px;margin:auto;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{font-size:30px;font-weight:750;letter-spacing:-1px}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}main{max-width:1280px;margin:auto;padding:0 36px 55px}h1{font-size:clamp(36px,4.7vw,65px);line-height:1.12;letter-spacing:-2px;font-weight:550;margin:16px 0}h2{font-size:22px;font-weight:600}h3{font-size:17px;line-height:1.4;margin:12px 0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:650}.muted{color:var(--muted);line-height:1.7}.hero{padding:55px 0 35px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}button,.button,.primary{display:inline-block;padding:11px 17px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.primary{background:var(--ink);color:white;border-color:var(--ink)}button:hover,.button:hover{filter:brightness(.92)}button:disabled{opacity:.4;cursor:default}.quiet{border:0;padding:4px;font-size:12px}label{display:block;font-size:13px;margin:17px 0}input,textarea{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fcfcf8;font:inherit;color:var(--ink);margin-top:7px}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #739657;outline-offset:3px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;background:#fffef8}.stats>div{padding:23px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats span{font-size:12px;color:var(--muted);display:block;margin-bottom:10px}.stats strong{font-size:27px;font-weight:550}.stats small{font-size:16px;color:var(--muted)}progress{display:block;width:100%;height:5px;border:0;margin-top:14px;accent-color:#78975a}progress::-webkit-progress-bar{background:#e4e8da;border-radius:8px}progress::-webkit-progress-value{background:#78975a;border-radius:8px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:32px 0 14px}.section-title span{font-size:11px;color:var(--muted)}.years{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.year{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#eeeee6}.year-head{padding:22px;background:#e8ecde}.year-head span{font-size:10px;letter-spacing:2px}.year-head h2{font-size:38px;margin:8px 0}.year-head p{font-size:12px;color:var(--muted)}.year:nth-child(2) .year-head{background:#e7e6d9}.year:nth-child(3) .year-head{background:#dee8e1}.year:nth-child(4) .year-head{background:#eadfcf}.target{background:#fffef9;margin:12px;padding:15px;border-radius:8px;overflow-wrap:anywhere}.target-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tag{font-size:10px;background:#edf0e5;padding:5px 8px;border-radius:20px}.check{font-size:23px;border:0;padding:0 3px}.notes{font-size:12px;line-height:1.7;color:var(--muted);white-space:normal}.date{font-size:10px;color:var(--muted)}.late{color:#a8523e}.completed h3{text-decoration:line-through;color:var(--muted)}.completed .check{color:#688b47}.target-actions{display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line);font-size:12px}.empty{padding:22px;font-size:13px;color:var(--muted);line-height:1.8}.panel{border:1px solid var(--line);background:#fffef9;border-radius:10px;padding:28px}.bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:25px;margin-top:40px}.bottom details{margin-top:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}summary{cursor:pointer;font-weight:550}.login{min-height:70vh;display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;padding:50px 0}.login .panel{max-width:420px}.lines{margin-top:35px;line-height:2.6;font-size:13px}.alert{background:#f9e3d7;padding:15px;border-radius:8px;font-size:13px}.outside{margin-top:20px}footer{text-align:center;border-top:1px solid var(--line);padding:24px;font-size:10px;letter-spacing:1px;color:var(--muted)}.print-status{display:none}@media(max-width:1000px){.years{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.stats>div:nth-child(2){border:0}.login{gap:30px}}@media(max-width:600px){header{padding:22px}main{padding:0 20px 35px}.login,.bottom{grid-template-columns:1fr;gap:25px}.login .panel{max-width:none}.years{grid-template-columns:1fr}.hero{padding-top:35px}.section-title{align-items:start;gap:15px}.section-title span{max-width:110px}.stats>div{padding:17px}.stats strong{font-size:22px}.two{grid-template-columns:1fr;gap:0}}@media print{body{background:white;color:black}header form,.toolbar,.bottom,.target-actions,.target-top form,.alert,.outside,footer{display:none!important}main{padding:0}header{padding:10px}.hero{padding:15px 0}.hero h1{font-size:30px}.stats{break-inside:avoid}.years{display:block}.year{margin:16px 0;break-inside:auto;background:white}.year-head{padding:12px;break-after:avoid}.year-head h2{font-size:26px}.target{break-inside:avoid;border:1px solid #ddd}.print-status{display:block;font-size:11px}a{color:black}.section-title span{display:none}@page{size:A4;margin:14mm}}

.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:25px}.goal-grid .panel{padding:23px}.goal-grid h2{font-size:21px}.goal-grid .muted{font-size:13px}.goal-list{padding-left:18px;font-size:13px;line-height:2;color:var(--muted)}.quran-numbers{display:flex;gap:24px;margin:20px 0}.quran-numbers strong{font-size:30px;font-weight:550}.quran-numbers small{display:block;font-size:11px;color:var(--muted)}.weekly{margin:25px 0}.weekly .section-title{margin:0}.weekly .muted{font-size:13px}.habit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.habit button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#f5f5ed;line-height:1.5}.habit button>span{font-size:23px}.habit small{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.habit-done button{background:#e6edd9}.habit-done button>span{color:#66863e}.history{margin-top:22px;font-size:12px}.history p{color:var(--muted)}@media(max-width:1000px){.goal-grid{grid-template-columns:1fr}}@media(max-width:600px){.habit-grid{grid-template-columns:1fr}}@media print{.goal-grid{display:block}.goal-grid .panel{margin:10px 0;break-inside:avoid}.goal-grid form,.weekly{display:none!important}.personal-goals{break-inside:auto}}

.daily{margin:25px 0;scroll-margin-top:20px}.daily .section-title{margin:0}.daily .muted{font-size:13px}.date-picker{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:15px 0}.date-picker label{margin:0}.date-picker input{width:190px}.daily-recap{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:15px}.daily-recap a{padding:12px;border:1px solid var(--line);border-radius:7px;text-align:center}.daily-recap strong{display:block;margin-top:8px;font-size:16px}@media(max-width:600px){.daily-recap{grid-template-columns:repeat(2,1fr)}}@media print{.daily{display:none!important}}

.brand{display:flex;gap:12px;align-items:center}.profile-logo{width:54px;height:54px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}header{gap:15px;flex-wrap:wrap}[hidden]{display:none!important}select{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fcfcf8;margin-top:7px}.daily-task{padding:22px;background:#f7f7ef;border:1px solid var(--line);border-radius:8px}.daily-task>small{color:var(--muted)}.daily-task p{font-size:13px;line-height:1.7}.daily-task.habit-done{background:#e8efde}.schedule{margin:25px 0}.plan-row{border-top:1px solid var(--line);padding:20px 0}.reflection{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px;overflow-wrap:anywhere}footer details{font-size:12px;letter-spacing:0;max-width:600px;margin:15px auto;line-height:1.8}@media(max-width:600px){.brand{font-size:23px}.brand span{font-size:8px;letter-spacing:1px}.profile-logo{width:44px;height:44px}}@media print{#install-app,.schedule,.review{display:none!important}}
