@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');
:root{--bg:#f7f4f1;--card:#fff;--text:#27252a;--muted:#77727a;--line:#ece6e4;--accent:#c75b7a;--accent2:#e7a0b3;--soft:#fae9ee;--green:#6d927d;--shadow:0 12px 35px rgba(45,35,40,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Vazirmatn,Tahoma,sans-serif}.app{display:flex;min-height:100vh}.sidebar{width:245px;background:#fff;border-left:1px solid var(--line);padding:25px 18px;position:fixed;right:0;top:0;bottom:0;display:flex;flex-direction:column;z-index:5}.side-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 28px}.side-brand strong{display:block}.side-brand span{font-size:10px;color:var(--muted);letter-spacing:1px}.brand-mark{width:58px;height:58px;border-radius:20px;background:linear-gradient(135deg,var(--accent),#e8a0b3);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800;box-shadow:0 9px 20px rgba(199,91,122,.2)}.brand-mark.small{width:42px;height:42px;border-radius:14px;font-size:20px}.nav-item{width:100%;border:0;background:none;padding:13px 14px;margin:3px 0;border-radius:14px;text-align:right;font-family:inherit;color:#6f6970;cursor:pointer;font-size:14px}.nav-item span{margin-right:10px}.nav-item.active,.nav-item:hover{background:var(--soft);color:var(--accent);font-weight:700}.logout{margin-top:auto;text-decoration:none;color:#9a8e94;font-size:13px;padding:14px}.main{width:calc(100% - 245px);margin-right:245px;padding:35px 5vw 60px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--accent);font-weight:700}.topbar h1{margin:6px 0 2px;font-size:27px}.topbar p{margin:0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:10px;align-items:center}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:12px;width:42px;height:42px;cursor:pointer;font-size:18px;color:var(--text)}.today-pill{padding:11px 15px;background:#fff;border:1px solid var(--line);border-radius:13px;font-size:12px;color:var(--muted)}.page{display:none}.page.active{display:block}.hero{background:linear-gradient(110deg,#f8dfe6,#f8eee9 55%,#e7efe9);border-radius:26px;padding:31px;display:flex;justify-content:space-between;align-items:center;min-height:190px;margin-bottom:18px}.hero h2{font-size:27px;margin:10px 0 7px}.hero p{color:#6f6870;margin:0}.tag{background:#fff8;border-radius:20px;padding:7px 12px;font-size:11px;color:var(--accent)}.hero-date{text-align:center;font-size:44px;font-weight:800;color:#725b63}.hero-date small{display:block;font-size:12px;font-weight:500;color:var(--muted)}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.two{grid-template-columns:1.2fr .8fr}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.stat{min-height:130px}.stat span,.stat small{color:var(--muted);font-size:12px}.stat b{display:block;font-size:25px;margin:10px 0 2px}.mini-progress,.progress{height:7px;background:#f0e9eb;border-radius:99px;overflow:hidden}.mini-progress i,.progress i{display:block;height:100%;background:var(--accent);border-radius:inherit}.section-head,.page-head,.calendar-head{display:flex;justify-content:space-between;align-items:center}.section-head h3,.card h3{margin:0}.text-btn{border:0;background:none;color:var(--accent);font-family:inherit;cursor:pointer}.list{display:flex;flex-direction:column;gap:9px;margin-top:15px}.task-row,.finance-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line);padding:11px;border-radius:14px}.check{width:21px;height:21px;border-radius:7px;border:1px solid #d9cfd3;cursor:pointer;background:#fff}.check.done{background:var(--accent);border-color:var(--accent);color:#fff}.row-main{flex:1}.row-main b{display:block;font-size:13px}.row-main small{color:var(--muted);font-size:11px}.page-head{margin:10px 0 20px}.page-head h2{margin:0;font-size:24px}.page-head p{margin:4px 0;color:var(--muted);font-size:12px}.primary{border:0;background:var(--accent);color:#fff;padding:12px 18px;border-radius:13px;font-family:inherit;font-weight:700;cursor:pointer}.wide{width:100%;margin-top:12px}.view-tabs{display:flex;gap:7px;margin-bottom:12px}.view-tabs button,.themes button{border:1px solid var(--line);background:#fff;padding:9px 15px;border-radius:11px;font-family:inherit;cursor:pointer}.view-tabs button.active,.themes button.active{background:var(--soft);color:var(--accent);border-color:#efb6ca}.calendar-card{min-height:330px}.calendar-head{border-bottom:1px solid var(--line);padding-bottom:17px}.calendar-head small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.day-tasks{margin-top:18px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:20px}.week-col{border:1px solid var(--line);border-radius:13px;padding:10px;min-height:190px}.week-col.today{border-color:var(--accent);background:var(--soft)}.week-col strong{font-size:12px}.week-col small{display:block;color:var(--muted);font-size:10px}.week-task{font-size:10px;background:#f7f2f3;border-radius:8px;padding:6px;margin-top:7px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:18px}.month-cell{min-height:75px;border:1px solid var(--line);border-radius:10px;padding:7px;font-size:11px}.month-cell b{font-size:12px}.month-cell.today{background:var(--soft);border-color:var(--accent)}.goal-grid,.habit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.goal-card,.habit-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:20px}.goal-top{display:flex;justify-content:space-between;gap:10px}.goal-top h3{font-size:16px;margin:0 0 4px}.goal-top small{color:var(--muted)}.percent{color:var(--accent);font-weight:800}.goal-bar{margin:17px 0 8px}.goal-actions{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.habit-list{margin-top:15px}.habit-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.habit-item:last-child{border:0}.habit-dot{width:13px;height:13px;border-radius:50%;background:#d8d0d4}.habit-dot.done{background:var(--green)}.journal-card input,.journal-card textarea,.modal-box input,.modal-box select,.modal-box textarea,.login-card input{width:100%;font-family:inherit;border:1px solid var(--line);border-radius:13px;padding:13px;margin-top:10px;outline:none;background:#fff}.journal-card textarea{min-height:300px;resize:vertical}.journal-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.journal-history{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.journal-entry{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.journal-entry h4{margin:0 0 6px}.journal-entry p{white-space:pre-wrap;color:#6d676d;font-size:12px}.bars{height:240px;display:flex;align-items:end;gap:12px;padding-top:25px}.bar-wrap{flex:1;text-align:center}.bar{height:20px;background:var(--accent);border-radius:8px 8px 2px 2px;min-height:3px}.bar-label{font-size:10px;color:var(--muted);display:block;margin-top:6px}.settings-card{max-width:650px}.themes{display:flex;gap:8px;margin:14px 0 28px}.modal{position:fixed;inset:0;background:#241b2077;display:none;align-items:center;justify-content:center;z-index:20;padding:20px}.modal.open{display:flex}.modal-box{background:#fff;border-radius:20px;width:min(520px,100%);padding:25px;position:relative;max-height:90vh;overflow:auto}.modal-close{position:absolute;left:15px;top:12px;border:0;background:none;font-size:25px;cursor:pointer;color:#888}.modal-box h3{margin:0 0 12px}.modal-box label{display:block;font-size:12px;color:var(--muted);margin-top:12px}.modal-box .primary{margin-top:15px}.error{margin-top:12px;padding:10px;border-radius:10px;background:#fff0f2;color:#b33655;text-align:center;font-size:12px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#f8e4e9,#eef2ed)}.login-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px;box-shadow:var(--shadow);text-align:center}.login-card .brand-mark{margin:auto}.login-card h1{margin:14px 0 4px}.login-card label{text-align:right;display:block;font-size:12px;color:var(--muted);margin-top:25px}.muted{color:var(--muted);font-size:12px}.login-card .muted{line-height:1.9}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);background:#28242a;color:#fff;padding:11px 18px;border-radius:12px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:50}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}body.dark{--bg:#191719;--card:#242023;--text:#f5eef1;--muted:#aaa0a6;--line:#3a3337;--soft:#3b2630}body.dark .sidebar,body.dark .icon-btn,body.dark .today-pill,body.dark .view-tabs button,body.dark .themes button,body.dark .modal-box,body.dark .journal-card input,body.dark .journal-card textarea,body.dark .modal-box input,body.dark .modal-box select,body.dark .modal-box textarea{background:var(--card);color:var(--text)}@media(max-width:900px){.sidebar{position:fixed;top:auto;bottom:0;right:0;left:0;width:100%;height:70px;padding:5px 8px;border-top:1px solid var(--line);border-left:0;flex-direction:row}.side-brand,.logout{display:none}.sidebar nav{display:flex;width:100%;justify-content:space-around}.nav-item{padding:8px 5px;font-size:19px;margin:0;text-align:center}.nav-item span{display:block;font-size:9px;margin:1px 0 0}.main{width:100%;margin:0;padding:22px 15px 95px}.topbar h1{font-size:21px}.today-pill{display:none}.hero{padding:23px;min-height:160px}.hero h2{font-size:21px}.hero-date{font-size:34px}.stats-grid{grid-template-columns:repeat(2,1fr)}.two,.goal-grid,.habit-grid,.journal-history{grid-template-columns:1fr}.week-grid{overflow:auto;grid-template-columns:repeat(7,115px)}.month-cell{min-height:58px}.top-actions{margin-top:5px}}
:root{--bg:#fff6f9;--card:#fff;--text:#3b2731;--muted:#796a71;--line:#f0dce3;--accent:#d94f87;--soft:#fceaf2;--shadow:0 18px 50px rgba(217,79,135,.10)}
body{background:radial-gradient(circle at 10% 0%,#fde7ef 0,transparent 32%),var(--bg)}.sidebar{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:-10px 0 40px rgba(130,55,85,.06)}.brand-mark{background:linear-gradient(135deg,var(--accent),#ef8db2);box-shadow:0 10px 25px rgba(217,79,135,.20)}.hero{background:linear-gradient(115deg,var(--soft),#fff 55%,#fff0f5);border:1px solid var(--line);box-shadow:0 18px 45px rgba(217,79,135,.07)}.card,.goal-card,.habit-card,.journal-entry{box-shadow:var(--shadow)}.primary{box-shadow:0 8px 20px rgba(217,79,135,.18)}.secondary{border:1px solid var(--line);background:var(--soft);color:var(--accent);padding:11px 16px;border-radius:12px;font-family:inherit;font-weight:700;cursor:pointer}.page-actions{display:flex;gap:8px;align-items:center}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.account-card{background:linear-gradient(145deg,#fff,var(--soft));border:1px solid var(--line);border-radius:20px;padding:19px;cursor:pointer;transition:.2s}.account-card:hover,.account-card.selected{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 12px 30px rgba(22,119,255,.12)}.account-head{display:flex;justify-content:space-between;align-items:flex-start}.account-card span,.account-card small{font-size:10px;color:var(--muted)}.account-card h3{margin:5px 0 14px}.account-card>b{font-size:23px;display:block}.mini-delete{border:0;background:transparent;color:#9aa5b5;font-size:22px;cursor:pointer}.finance-sign{font-size:18px}.finance-sign.income{color:#16a06a}.finance-sign.expense{color:#e25563}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.settings-card>input{width:100%;font-family:inherit;border:1px solid var(--line);border-radius:13px;padding:13px;margin:8px 0 12px;background:var(--card);color:var(--text)}body.dark{--bg:#0d1726;--card:#142033;--text:#f4f8ff;--muted:#9fb0c6;--line:#263952;--soft:#173354}body.dark .sidebar{background:#111d2e}body.dark .account-card{background:linear-gradient(145deg,#142033,#173354)}body.dark .settings-card>input{background:var(--card);color:var(--text)}body.compact .card,body.compact .goal-card,body.compact .habit-card{padding:15px}body.compact .main{padding-top:22px}@media(max-width:1000px){.account-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.account-grid{grid-template-columns:1fr}.page-actions{flex-wrap:wrap}.page-actions .primary,.page-actions .secondary{flex:1}}

.clock-pill{padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-variant-numeric:tabular-nums;direction:ltr}
.quick-card{margin-top:18px}
.quick-list{display:flex;flex-wrap:wrap;gap:9px}
.quick-task{border:1px solid var(--line);background:var(--soft);color:var(--text);padding:10px 13px;border-radius:12px;cursor:pointer;font:inherit}
.quick-task:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000000d}
.monthly-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.report-table{display:flex;flex-direction:column;gap:7px;max-height:330px;overflow:auto}
.report-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}
.report-row small{color:var(--muted)}
#reportMonth{border:1px solid var(--line);background:var(--card);color:var(--text);padding:9px;border-radius:10px}
@media(max-width:700px){.monthly-report-grid{grid-template-columns:1fr}.clock-pill{display:none}}

.suggested-task-box{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.suggested-task-box>label{margin-top:0!important}
.suggested-task-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.suggested-task{border:1px solid var(--line);background:var(--card);color:var(--text);padding:7px 10px;border-radius:10px;font:inherit;font-size:11px;cursor:pointer}
.suggested-task:hover{border-color:var(--accent);color:var(--accent)}
.task-row .danger-btn{color:#b44b66}
.task-row{align-items:center}
.task-row .text-btn{white-space:nowrap}
@media(max-width:600px){.task-row .text-btn{padding:5px 7px}}
