@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-arabic-400-normal-DMZFCm7K.woff2)format("woff2"),url(/assets/vazirmatn-arabic-400-normal-C4W5XURk.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-ext-400-normal-BdGhO0lm.woff2)format("woff2"),url(/assets/vazirmatn-latin-ext-400-normal-DPxMaNjI.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-400-normal-BT_DHTc7.woff2)format("woff2"),url(/assets/vazirmatn-latin-400-normal-GKyMcI03.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-arabic-700-normal-Dge_DOjm.woff2)format("woff2"),url(/assets/vazirmatn-arabic-700-normal-B5nPuCFv.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-ext-700-normal-BfoXmNMx.woff2)format("woff2"),url(/assets/vazirmatn-latin-ext-700-normal-DMYLqBto.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-700-normal-9BlbvDRV.woff2)format("woff2"),url(/assets/vazirmatn-latin-700-normal-DrB0PBU6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/vazirmatn-arabic-800-normal-Bwnt96zj.woff2)format("woff2"),url(/assets/vazirmatn-arabic-800-normal-BH12s3-y.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/vazirmatn-latin-ext-800-normal-BzH3Tiwu.woff2)format("woff2"),url(/assets/vazirmatn-latin-ext-800-normal-HbVXW2Kv.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/vazirmatn-latin-800-normal-e0EQwLmk.woff2)format("woff2"),url(/assets/vazirmatn-latin-800-normal-fM8Xz9cI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#faf9f6;--surface:#fff;--line:#e6e3dc;--ink:#242220;--ink-dim:#7a766e;--accent:#a1471f;--accent-soft:#f3e4dc;--done:#8b9a7c;--event:#3d6b8a;--event-soft:#e1eaf0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1c1a17;--surface:#242220;--line:#3a352f;--ink:#efece5;--ink-dim:#a39c8f;--accent:#e08a5c;--accent-soft:#3a2a20;--done:#a7b895;--event:#7fb0d0;--event-soft:#20303a}}:root[data-theme=dark]{--bg:#1c1a17;--surface:#242220;--line:#3a352f;--ink:#efece5;--ink-dim:#a39c8f;--accent:#e08a5c;--accent-soft:#3a2a20;--done:#a7b895;--event:#7fb0d0;--event-soft:#20303a}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);direction:rtl;margin:0;font-family:Vazirmatn,system-ui,sans-serif}.app{flex-direction:column;max-width:720px;height:100%;margin:0 auto;display:flex}.topbar{padding:calc(12px + env(safe-area-inset-top,0px)) 16px 10px;border-bottom:1px solid var(--line);background:var(--bg);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;display:flex}.topbar h1{letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:1.05rem;font-weight:800}.summary{flex-wrap:wrap;gap:6px;display:flex}.stat{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:70px;padding:4px 10px}.stat .num{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800;display:block}.stat .lbl{color:var(--ink-dim);font-size:.62rem}.stat.remaining .num{color:var(--accent)}main{padding:14px 16px calc(84px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.pill-row{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.pill{background:var(--surface);border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:.76rem}.pill.active{background:var(--accent);color:var(--surface);border-color:var(--accent);font-weight:700}.chip-row{border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{background:var(--surface);border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:6px 13px;font-family:inherit;font-size:.78rem;display:flex}.chip .ic{font-size:.9rem}.chip.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:700}.cat-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cat-head h2{margin:0;font-size:.9rem;font-weight:800}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:start;gap:10px;display:grid}.project{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px 8px}.project-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;display:flex}.project-title{color:var(--ink);background:0 0;border:none;flex:1;width:0;min-width:0;padding:2px 0;font-family:inherit;font-size:.88rem;font-weight:800}.project-title:focus{border-bottom:1px dashed var(--line);outline:none}.icon-btn{color:var(--ink-dim);cursor:pointer;background:0 0;border:none;padding:2px 3px;font-size:.85rem;line-height:1}.icon-btn:hover{color:var(--accent)}.bar{background:var(--bg);border-radius:99px;height:4px;margin-bottom:8px;overflow:hidden}.bar-fill{background:var(--done);border-radius:99px;height:100%;transition:width .25s}.tasks{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.task{border-radius:6px;align-items:center;gap:7px;padding:3px 4px;display:flex}.task:hover{background:var(--bg)}.task input[type=checkbox]{appearance:none;border:1.5px solid var(--line);cursor:pointer;background:var(--surface);border-radius:4px;flex-shrink:0;width:15px;height:15px;position:relative}.task input[type=checkbox]:checked{background:var(--done);border-color:var(--done)}.task input[type=checkbox]:checked:after{content:"";border:solid var(--surface);border-width:0 2px 2px 0;width:3px;height:7px;position:absolute;top:1px;right:4px;transform:rotate(35deg)}.task input.task-text{width:0;min-width:0;color:var(--ink);background:0 0;border:none;flex:1;padding:2px 0;font-family:inherit;font-size:.78rem}.task input.task-text:focus{border-bottom:1px dashed var(--line);outline:none}.due-ctrl{flex-shrink:0;display:inline-flex}.due-badge{color:var(--ink-dim);white-space:nowrap;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:1px 7px;font-size:.62rem}.due-badge-btn{cursor:pointer;font-family:inherit}.due-badge-btn:hover{border-color:var(--accent);color:var(--accent)}.due-add-btn{opacity:0;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;display:flex}.task:hover .due-add-btn,.row:hover .due-add-btn{opacity:.6}.due-add-btn:hover{opacity:1!important}.due-input{background:var(--bg);border:1px solid var(--line);width:110px;color:var(--ink);border-radius:7px;padding:2px 6px;font-family:inherit;font-size:.68rem}.del-btn{color:var(--ink-dim);opacity:0;cursor:pointer;background:0 0;border:none;padding:2px 3px;font-size:.8rem}.task:hover .del-btn,.row:hover .del-btn,.del-btn.visible{opacity:1}.del-btn:hover{color:var(--accent)}.add-task{border-top:1px solid var(--line);gap:5px;margin-top:6px;padding-top:6px;display:flex}.add-task input{background:var(--bg);border:1px solid var(--line);width:0;min-width:0;color:var(--ink);border-radius:7px;flex:1;padding:5px 8px;font-family:inherit;font-size:.76rem}.add-task input:focus{outline:2px solid var(--accent);outline-offset:1px}.add-task button{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:none;border-radius:7px;padding:5px 10px;font-family:inherit;font-size:.8rem;font-weight:700}.empty-note{color:var(--ink-dim);text-align:center;padding:22px 0;font-size:.82rem}.empty-note.compact{padding:10px 0}.board-actions{justify-content:flex-end;margin-bottom:8px;display:flex}.square-btn{border:1px solid var(--line);border-radius:7px;width:26px;height:26px;font-size:1rem}.row{background:var(--surface);border:1px solid var(--line);border-radius:9px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.row input.task-text{width:0;min-width:0;color:var(--ink);background:0 0;border:none;flex:1;padding:2px 0;font-family:inherit;font-size:.85rem}.row input.task-text:focus{border-bottom:1px dashed var(--line);outline:none}.row input[type=checkbox]{appearance:none;border:1.5px solid var(--line);cursor:pointer;background:var(--surface);border-radius:5px;flex-shrink:0;width:16px;height:16px;position:relative}.row input[type=checkbox]:checked{background:var(--done);border-color:var(--done)}.row input[type=checkbox]:checked:after{content:"";border:solid var(--surface);border-width:0 2px 2px 0;width:3px;height:8px;position:absolute;top:1.5px;right:4.5px;transform:rotate(35deg)}.row-cb-placeholder{border:1.5px dashed var(--line);border-radius:5px;flex-shrink:0;width:16px;height:16px}.add-row{background:0 0;border-style:dashed}.add-task-btn{background:var(--accent-soft);color:var(--accent);border-radius:6px;flex-shrink:0;width:20px;height:20px;font-size:.9rem}.cal-nav{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cal-nav button{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;width:32px;height:32px;font-size:1rem}.cal-nav .cal-label{font-size:.92rem;font-weight:800}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:14px;display:grid}.cal-dow{text-align:center;color:var(--ink-dim);padding-bottom:2px;font-size:.65rem}.cal-day{background:var(--surface);border:1px solid var(--line);cursor:pointer;min-height:46px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:3px 2px;font-size:.76rem;display:flex;position:relative;overflow:hidden}.cal-day.other-month{opacity:.35}.cal-day.today{border-color:var(--accent);font-weight:800}.cal-day.selected{background:var(--accent);color:var(--surface);border-color:var(--accent)}.cal-day .snippet{color:var(--event);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.52rem;line-height:1.1;overflow:hidden}.cal-day.selected .snippet{color:var(--surface)}.day-events-title{color:var(--ink-dim);margin-bottom:8px;font-size:.82rem;font-weight:700}.event-row{background:var(--event-soft);border-radius:9px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.event-row input.ev-time{width:56px;color:var(--event);font-variant-numeric:tabular-nums;background:0 0;border:none;font-family:inherit;font-size:.68rem;font-weight:800}.event-row input.ev-time:focus{border-bottom:1px dashed var(--event);outline:none}.event-row input.ev-title{width:0;min-width:0;color:var(--ink);background:0 0;border:none;flex:1;padding:2px 0;font-family:inherit;font-size:.82rem}.event-row input.ev-title:focus{border-bottom:1px dashed var(--event);outline:none}.gcal-link{color:var(--event);white-space:nowrap;border:1px solid var(--event);border-radius:999px;padding:2px 9px;font-size:.68rem;text-decoration:none}.gcal-link:hover{opacity:.8}.week-row{background:var(--surface);border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;margin-bottom:6px;padding:9px 10px;display:flex}.week-date{text-align:center;flex-shrink:0;min-width:38px}.week-date .d{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:800;line-height:1.1;display:block}.week-date .w{color:var(--ink-dim);font-size:.6rem}.week-body{flex:1;min-width:0}.week-body .t{overflow-wrap:anywhere;font-size:.85rem}.week-body .meta{color:var(--ink-dim);font-size:.66rem}.kind-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:.6rem}.kind-badge.event{background:var(--event-soft);color:var(--event)}.kind-badge.category{background:var(--accent-soft);color:var(--accent)}.kind-badge.task{background:var(--bg);color:var(--done);border:1px solid var(--done)}.top-nav{background:var(--surface);border-bottom:1px solid var(--line);z-index:15;flex-shrink:0;display:flex}.top-nav button{color:var(--ink-dim);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:9px 4px;font-family:inherit;font-size:.72rem;display:flex}.top-nav button .ic{font-size:1.15rem;line-height:1}.top-nav button.active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.fab{left:calc(50% - 342px);bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--accent);width:46px;height:46px;color:var(--surface);cursor:pointer;z-index:20;border:none;border-radius:50%;font-size:1.5rem;line-height:1;position:fixed;box-shadow:0 4px 14px #00000040}@media (width<=756px){.fab{left:18px}}.fab:hover{opacity:.92}.add-popover{max-width:684px;left:18px;right:18px;bottom:calc(74px + env(safe-area-inset-bottom,0px));background:var(--surface);border:1px solid var(--line);z-index:20;border-radius:12px;flex-wrap:wrap;gap:7px;margin:0 auto;padding:12px;display:flex;position:fixed;box-shadow:0 8px 24px #0003}.add-popover input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:7px;padding:7px 10px;font-family:inherit;font-size:.82rem}.add-popover input:focus{outline:2px solid var(--accent);outline-offset:1px}.add-popover input.grow{flex:1;min-width:120px}.add-popover input.date-in,.add-popover input.time-in{width:118px}.add-popover button.submit{background:var(--ink);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:7px;padding:7px 14px;font-family:inherit;font-size:.78rem;font-weight:700}.topbar-end{align-items:center;gap:8px;display:flex}.account{position:relative}.account-btn{border:1px solid var(--line);background:var(--accent-soft);width:32px;height:32px;color:var(--accent);cursor:pointer;border-radius:50%;font-family:inherit;font-size:.85rem;font-weight:800}.account-menu{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:190px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000002e}.account-name{font-size:.85rem;font-weight:800}.account-email{color:var(--ink-dim);text-align:right;margin:2px 0 10px;font-size:.72rem}.account-signout{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;border-radius:7px;padding:6px;font-family:inherit;font-size:.78rem}.account-signout:hover{border-color:var(--accent);color:var(--accent)}.error-banner{background:var(--accent-soft);color:var(--accent);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;font-size:.78rem;display:flex}.link-btn{color:var(--accent);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.auth{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:12px;width:100%;max-width:360px;padding:22px 20px;display:flex}.auth-card h1{text-align:center;margin:0 0 2px;font-size:1.1rem;font-weight:800}.auth-tabs{justify-content:center;margin-bottom:0}.auth-card label{color:var(--ink-dim);flex-direction:column;gap:5px;font-size:.76rem;display:flex}.auth-card input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:.9rem}.auth-card input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-card .submit{background:var(--accent);color:var(--surface);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:10px;font-family:inherit;font-size:.88rem;font-weight:800}.auth-card .submit:disabled{opacity:.6;cursor:default}.auth-error{background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:8px 10px;font-size:.78rem}
