:root{--font: "Vazirmatn", system-ui, sans-serif;--bg: #0f0c29;--bg2: #1a1640;--bg3: #241f4e;--card: rgba(255, 255, 255, .06);--card-border: rgba(255, 255, 255, .1);--text: #f0eeff;--text2: #a8a3c8;--primary: #7c5cff;--primary2: #00d4ff;--accent: #ff6bcb;--success: #2ecc71;--warning: #f39c12;--danger: #ff4757;--shadow: 0 8px 32px rgba(0, 0, 0, .35);--radius: 16px;--gradient: linear-gradient(135deg, #7c5cff, #00d4ff);--sidebar-bg: rgba(15, 12, 41, .92)}[data-theme=light]{--bg: #f4f2fb;--bg2: #ffffff;--bg3: #ebe7f7;--card: #ffffff;--card-border: rgba(0, 0, 0, .07);--text: #1c1a2e;--text2: #6b6885;--primary: #6c5ce7;--primary2: #00b4d8;--accent: #e84393;--shadow: 0 8px 24px rgba(108, 92, 231, .12);--gradient: linear-gradient(135deg, #6c5ce7, #00b4d8);--sidebar-bg: rgba(255, 255, 255, .95)}[data-theme=ocean]{--bg: #0a192f;--bg2: #0f2744;--bg3: #163454;--card: rgba(0, 180, 216, .08);--card-border: rgba(0, 180, 216, .2);--text: #e0f7fa;--text2: #7fb8c9;--primary: #00b4d8;--primary2: #48cae4;--accent: #06d6a0;--shadow: 0 8px 32px rgba(0, 180, 216, .15);--gradient: linear-gradient(135deg, #0077b6, #06d6a0);--sidebar-bg: rgba(10, 25, 47, .95)}[data-theme=sunset]{--bg: #2d1b2e;--bg2: #3d2440;--bg3: #4f2d52;--card: rgba(255, 159, 67, .08);--card-border: rgba(255, 159, 67, .22);--text: #fff5eb;--text2: #d4a5a5;--primary: #ff7b54;--primary2: #ffb26b;--accent: #ff5d8f;--shadow: 0 8px 32px rgba(255, 123, 84, .18);--gradient: linear-gradient(135deg, #ff7b54, #ff5d8f);--sidebar-bg: rgba(45, 27, 46, .95)}[data-theme=forest]{--bg: #0b1f17;--bg2: #123026;--bg3: #1a4033;--card: rgba(46, 204, 113, .07);--card-border: rgba(46, 204, 113, .2);--text: #e8faf0;--text2: #8fbfa6;--primary: #2ecc71;--primary2: #00cec9;--accent: #ffeaa7;--shadow: 0 8px 32px rgba(46, 204, 113, .14);--gradient: linear-gradient(135deg, #2ecc71, #00cec9);--sidebar-bg: rgba(11, 31, 23, .95)}[data-theme=rose]{--bg: #1f1218;--bg2: #2e1a24;--bg3: #3e2430;--card: rgba(255, 107, 129, .08);--card-border: rgba(255, 107, 129, .22);--text: #fff0f3;--text2: #c99aa6;--primary: #ff6b81;--primary2: #feca57;--accent: #ff9ff3;--shadow: 0 8px 32px rgba(255, 107, 129, .16);--gradient: linear-gradient(135deg, #ff6b81, #ff9ff3);--sidebar-bg: rgba(31, 18, 24, .95)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);background-image:radial-gradient(ellipse 80% 50% at 20% -10%,rgba(124,92,255,.25),transparent),radial-gradient(ellipse 60% 40% at 90% 10%,rgba(0,212,255,.15),transparent);background-attachment:fixed;-webkit-font-smoothing:antialiased}[data-theme=light] body{background-image:radial-gradient(ellipse 80% 50% at 20% -10%,rgba(108,92,231,.12),transparent),radial-gradient(ellipse 60% 40% at 90% 10%,rgba(0,180,216,.1),transparent)}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none;color:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:8px}.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--sidebar-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid var(--card-border);padding:24px 16px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh;flex-shrink:0;z-index:40}.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.25rem;padding:8px 12px 20px;background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.logo-icon{width:40px;height:40px;border-radius:12px;background:var(--gradient);display:grid;place-items:center;-webkit-text-fill-color:initial;font-size:1.2rem;box-shadow:0 4px 15px #7c5cff66}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:var(--text2);font-weight:500;transition:all .2s;position:relative}.nav-link:hover{background:var(--card);color:var(--text)}.nav-link.active{background:var(--gradient);color:#fff;box-shadow:0 4px 15px #7c5cff59}.nav-link .badge{margin-right:auto;background:var(--danger);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:99px;font-weight:700}.nav-section{font-size:.72rem;color:var(--text2);padding:16px 14px 6px;font-weight:700;letter-spacing:.5px;opacity:.7}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--card-border)}.main{flex:1;min-width:0;padding:28px 32px 80px;max-width:1100px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-title{font-size:1.7rem;font-weight:800}.page-sub{color:var(--text2);font-size:.92rem;margin-top:4px}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card:hover{border-color:#7c5cff59}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:28px}.stat-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:18px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient);opacity:.07}.stat-value{font-size:1.9rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stat-label{color:var(--text2);font-size:.85rem;margin-top:4px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;font-weight:600;font-size:.92rem;transition:all .2s;white-space:nowrap}.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 4px 15px #7c5cff59}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c5cff80}.btn-ghost{background:var(--card);border:1px solid var(--card-border);color:var(--text)}.btn-ghost:hover{background:var(--bg3)}.btn-danger{background:#ff475726;color:var(--danger);border:1px solid rgba(255,71,87,.3)}.btn-sm{padding:6px 12px;font-size:.82rem;border-radius:10px}.btn-icon{width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:10px;background:var(--card);border:1px solid var(--card-border)}.btn-icon:hover{background:var(--bg3)}.input,.select,.textarea{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--card-border);background:var(--bg2);color:var(--text);outline:none;transition:border .2s}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c5cff33}.textarea{min-height:90px;resize:vertical}.label-text{display:block;font-size:.85rem;color:var(--text2);margin-bottom:6px;font-weight:600}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row>*{flex:1;min-width:160px}.form-group{margin-bottom:16px}.todo-list{display:flex;flex-direction:column;gap:10px}.todo-item{display:flex;align-items:flex-start;gap:14px;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:16px 18px;transition:all .2s;position:relative}.todo-item:hover{transform:translate(-4px);border-color:#7c5cff66;box-shadow:var(--shadow)}.todo-item.done{opacity:.55}.todo-item.done .todo-title{text-decoration:line-through}.checkbox{width:24px;height:24px;border-radius:8px;border:2px solid var(--text2);display:grid;place-items:center;flex-shrink:0;margin-top:2px;transition:all .2s;cursor:pointer;background:transparent}.checkbox:hover{border-color:var(--primary)}.checkbox.checked{background:var(--gradient);border-color:transparent;color:#fff}.todo-body{flex:1;min-width:0}.todo-title{font-weight:600;font-size:1rem}.todo-desc{color:var(--text2);font-size:.85rem;margin-top:4px;white-space:pre-wrap}.todo-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:600}.chip-label{border:1px solid;opacity:.9}.chip-priority-urgent{background:#ff47572e;color:#ff4757}.chip-priority-high{background:#f39c122e;color:#f39c12}.chip-priority-medium{background:#00b8942e;color:#00b894}.chip-priority-low{background:#6c7a892e;color:#95a5a6}.chip-overdue{background:#ff475733;color:#ff4757}.chip-status{background:var(--bg3);color:var(--text2)}.sub-jobs{margin-top:12px;padding-right:18px;border-right:2px dashed var(--card-border);display:flex;flex-direction:column;gap:8px}.sub-job{display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--card-border);border-radius:10px;padding:10px 12px;font-size:.9rem}.sub-job.done span{text-decoration:line-through;opacity:.6}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.project-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.project-card .bar{position:absolute;top:0;right:0;left:0;height:4px}.project-icon{font-size:2rem}.project-name{font-weight:700;font-size:1.1rem;margin:10px 0 4px}.project-desc{color:var(--text2);font-size:.85rem;min-height:2.4em}.progress{height:8px;background:var(--bg3);border-radius:99px;overflow:hidden;margin-top:14px}.progress-fill{height:100%;background:var(--gradient);border-radius:99px;transition:width .5s}.progress-text{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text2);margin-top:6px}.labels-wrap{display:flex;flex-wrap:wrap;gap:10px}.label-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:99px;border:2px solid;font-weight:600;font-size:.9rem;background:var(--card)}.label-dot{width:10px;height:10px;border-radius:50%}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:100;padding:20px;animation:fadeIn .2s}.modal{background:var(--bg2);border:1px solid var(--card-border);border-radius:20px;padding:28px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow);animation:slideUp .25s}.modal-title{font-size:1.25rem;font-weight:800;margin-bottom:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filter-chip{padding:8px 16px;border-radius:99px;background:var(--card);border:1px solid var(--card-border);color:var(--text2);font-size:.85rem;font-weight:600;transition:all .2s}.filter-chip:hover{border-color:var(--primary);color:var(--text)}.filter-chip.active{background:var(--gradient);color:#fff;border-color:transparent}.search-bar{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:4px 14px;flex:1;max-width:340px}.search-bar input{flex:1;background:none;border:none;outline:none;color:var(--text);padding:8px 0}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--card-border);border-radius:24px;padding:40px 32px;text-align:center;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-logo{width:72px;height:72px;margin:0 auto 18px;background:var(--gradient);border-radius:22px;display:grid;place-items:center;font-size:2.2rem;box-shadow:0 10px 30px #7c5cff73}.login-title{font-size:1.6rem;font-weight:800;margin-bottom:6px}.login-sub{color:var(--text2);margin-bottom:28px;font-size:.92rem}.bale-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#26a69a,#00897b);color:#fff;font-weight:700;font-size:1rem;transition:all .2s;box-shadow:0 6px 20px #00897b66}.bale-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00897b8c}.divider{display:flex;align-items:center;gap:12px;color:var(--text2);font-size:.82rem;margin:22px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--card-border)}.theme-dots{display:flex;gap:10px;justify-content:center;margin-top:8px;flex-wrap:wrap}.theme-dot{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .2s;position:relative}.theme-dot:hover{transform:scale(1.15)}.theme-dot.active{border-color:var(--text);box-shadow:0 0 0 3px var(--bg2)}.theme-dot[data-t=midnight]{background:linear-gradient(135deg,#0f0c29,#7c5cff)}.theme-dot[data-t=light]{background:linear-gradient(135deg,#f4f2fb,#6c5ce7)}.theme-dot[data-t=ocean]{background:linear-gradient(135deg,#0a192f,#00b4d8)}.theme-dot[data-t=sunset]{background:linear-gradient(135deg,#2d1b2e,#ff7b54)}.theme-dot[data-t=forest]{background:linear-gradient(135deg,#0b1f17,#2ecc71)}.theme-dot[data-t=rose]{background:linear-gradient(135deg,#1f1218,#ff6b81)}.toast-wrap{position:fixed;bottom:24px;left:24px;display:flex;flex-direction:column;gap:10px;z-index:200}.toast{background:var(--bg2);border:1px solid var(--card-border);border-right:4px solid var(--primary);border-radius:12px;padding:14px 18px;min-width:260px;box-shadow:var(--shadow);animation:slideUp .25s;font-size:.9rem}.toast.error{border-right-color:var(--danger)}.toast.success{border-right-color:var(--success)}.empty{text-align:center;padding:60px 20px;color:var(--text2)}.empty-icon{font-size:3.5rem;margin-bottom:14px;opacity:.7}.empty-title{font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:6px}.reminder-item{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:16px 18px}.reminder-time{color:var(--accent);font-weight:700;font-size:.85rem}.menu-toggle{display:none}@media (max-width: 860px){.sidebar{position:fixed;right:0;top:0;transform:translate(100%);transition:transform .3s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.menu-toggle{display:grid}.main{padding:20px 16px 80px}.page-title{font-size:1.35rem}}.backdrop{display:none}@media (max-width: 860px){.backdrop.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:30}}.loading-wrap{display:grid;place-items:center;min-height:50vh;color:var(--text2)}.spinner{width:40px;height:40px;border:3px solid var(--card-border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
