:root{--bg: #020617;--bg-grad: radial-gradient(1200px 600px at 100% -10%, #0b1733 0%, transparent 55%), radial-gradient(900px 500px at -10% 10%, #0a1a16 0%, transparent 50%), #020617;--panel: #0b1220;--card: #0f1a2e;--card-2: #13203a;--muted-bg: #0c1424;--line: #1e2a44;--line-2: #293a5c;--text: #f1f5f9;--muted: #93a3bd;--faint: #5b6b86;--accent: #22c55e;--accent-700: #15803d;--accent-glow: rgba(34, 197, 94, .35);--ai: #38bdf8;--ai-bg: rgba(56, 189, 248, .12);--warn: #f59e0b;--warn-bg: rgba(245, 158, 11, .12);--danger: #f43f5e;--danger-bg: rgba(244, 63, 94, .12);--radius: 16px;--radius-sm: 10px;--shadow: 0 10px 30px -12px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 60px -20px rgba(0, 0, 0, .7)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Vazirmatn,system-ui,-apple-system,Segoe UI,Tahoma,sans-serif;background:var(--bg-grad);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--ai);text-decoration:none}.num{font-variant-numeric:tabular-nums}.app{display:flex;min-height:100vh}.sidebar{width:248px;background:linear-gradient(180deg,#0a1426,#070d18);border-inline-start:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.brand{font-size:1.5rem;font-weight:800;padding:6px 10px 20px;display:flex;align-items:center;gap:10px;letter-spacing:-.5px}.brand .logo{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),#0f9b6c);color:#04130b;box-shadow:0 6px 18px -6px var(--accent-glow);font-weight:900}.navbtn{text-align:start;background:none;border:none;color:var(--muted);padding:11px 13px;border-radius:12px;cursor:pointer;display:flex;gap:11px;align-items:center;font-size:.95rem;transition:background .18s,color .18s;position:relative}.navbtn svg{width:19px;height:19px;flex:none}.navbtn:hover{background:#ffffff08;color:var(--text)}.navbtn.active{background:linear-gradient(90deg,#ffffff10,transparent);color:var(--text);font-weight:700}.navbtn.active:before{content:"";position:absolute;inset-inline-start:-14px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.sidebar .spacer{flex:1}.userchip{padding:10px 12px;border-radius:12px;background:#ffffff06;border:1px solid var(--line);font-size:.82rem;margin-bottom:4px}.userchip .nm{color:var(--text);font-weight:600}.userchip .rl{color:var(--accent)}.main{flex:1;padding:28px 32px;max-width:1280px;margin:0 auto;width:100%}.topline{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:16px}h1{font-size:1.6rem;margin:0;letter-spacing:-.5px}h2{font-size:1.2rem;margin:0 0 14px}.sub{color:var(--muted);margin:6px 0 0;font-size:.9rem}.muted{color:var(--muted)}.faint{color:var(--faint)}.card{background:linear-gradient(180deg,var(--card),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card.hover{transition:transform .18s,border-color .18s,box-shadow .18s;cursor:pointer}.card.hover:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:var(--shadow-lg)}.grid{display:grid;gap:16px}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.btn{background:linear-gradient(145deg,var(--accent),#16a34a);color:#04130b;border:none;padding:11px 18px;border-radius:12px;cursor:pointer;font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:8px;transition:filter .15s,transform .1s,box-shadow .15s;box-shadow:0 8px 20px -10px var(--accent-glow)}.btn svg{width:17px;height:17px}.btn:hover{filter:brightness(1.07);box-shadow:0 10px 26px -10px var(--accent-glow)}.btn:active{transform:translateY(1px)}.btn.sec{background:#ffffff0d;color:var(--text);border:1px solid var(--line-2);box-shadow:none}.btn.sec:hover{background:#ffffff16}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--line);box-shadow:none}.btn.ghost:hover{color:var(--text);border-color:var(--line-2)}.btn.ai{background:linear-gradient(145deg,var(--ai),#0ea5e9);color:#041421;box-shadow:0 8px 20px -10px #38bdf866}.btn.danger{background:transparent;color:var(--danger);border:1px solid var(--danger);box-shadow:none}.btn.danger:hover{background:var(--danger-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{padding:7px 12px;font-size:.82rem;border-radius:9px}.btn.block{width:100%;justify-content:center}input,select,textarea{background:var(--muted-bg);border:1px solid var(--line);color:var(--text);padding:11px 13px;border-radius:11px;width:100%;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}textarea{min-height:92px;resize:vertical;line-height:1.7}label{display:block;font-size:.84rem;color:var(--muted);margin:12px 0 6px;font-weight:600}.badge{font-size:.72rem;padding:4px 10px;border-radius:20px;border:1px solid var(--line-2);color:var(--muted);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.badge .d{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ai{color:var(--ai);border-color:transparent;background:var(--ai-bg)}.badge.human{color:var(--warn);border-color:transparent;background:var(--warn-bg)}.badge.green,.badge.approved,.badge.done{color:var(--accent);border-color:transparent;background:#22c55e1f}.badge.rejected{color:var(--danger);border-color:transparent;background:var(--danger-bg)}table{width:100%;border-collapse:collapse}th,td{text-align:start;padding:12px 10px;border-bottom:1px solid var(--line);font-size:.9rem}th{color:var(--muted);font-weight:600;font-size:.8rem}tbody tr:hover{background:#ffffff05}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}.kcol{background:#ffffff05;border:1px solid var(--line);border-radius:14px;padding:12px}.kcol h3{font-size:.82rem;margin:0 0 12px;color:var(--text);display:flex;justify-content:space-between;align-items:center;font-weight:700}.kcol h3 .cnt{background:#ffffff10;color:var(--muted);border-radius:20px;padding:1px 9px;font-size:.72rem}.kcol .bar{height:3px;border-radius:3px;margin-bottom:12px}.kcol.route .bar{background:var(--ai)}.kcol.todo .bar{background:var(--warn)}.kcol.prog .bar{background:#a78bfa}.kcol.done .bar{background:var(--accent)}.ktask{background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:9px;cursor:pointer;transition:border-color .15s,transform .1s}.ktask:hover{border-color:var(--line-2);transform:translateY(-2px)}.ktask .t{font-size:.88rem;font-weight:700}.ktask .m{font-size:.74rem;color:var(--muted);margin-top:5px}.chat{display:flex;flex-direction:column;gap:14px}.chat-stream{display:flex;flex-direction:column;gap:12px;max-height:52vh;overflow-y:auto;padding:4px}.bubble{max-width:78%;padding:12px 15px;border-radius:16px;font-size:.92rem;line-height:1.75;white-space:pre-wrap}.bubble.ai{align-self:flex-start;background:var(--card-2);border:1px solid var(--line);border-bottom-inline-start-radius:5px}.bubble.me{align-self:flex-end;background:linear-gradient(145deg,#16331f,#0f2417);border:1px solid var(--accent-700);border-bottom-inline-end-radius:5px}.plan-preview{background:var(--muted-bg);border:1px dashed var(--line-2);border-radius:12px;padding:14px}.plan-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.86rem}.plan-row:last-child{border-bottom:none}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.authbox{width:380px;max-width:92vw}.code{font-family:ui-monospace,monospace;letter-spacing:7px;font-size:2rem;font-weight:700;color:var(--accent);background:var(--muted-bg);border:1px dashed var(--accent-700);padding:16px;border-radius:14px;text-align:center}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617a8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;animation:fade .18s ease-out}.modal{width:600px;max-width:96vw;max-height:90vh;overflow:auto;animation:pop .2s ease-out}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.98)}}.toast{position:fixed;bottom:22px;inset-inline-start:50%;transform:translate(50%);background:var(--card-2);border:1px solid var(--line-2);padding:13px 20px;border-radius:12px;z-index:60;box-shadow:var(--shadow-lg);animation:pop .2s}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty .ic{width:56px;height:56px;margin:0 auto 14px;color:var(--faint)}.empty .ic svg{width:56px;height:56px}.spin{display:inline-block;width:18px;height:18px;border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:s 1s linear infinite}.spin.lg{width:30px;height:30px}@keyframes s{to{transform:rotate(360deg)}}.dots:after{content:"…"}.dp{position:relative}.dp-input{display:flex;align-items:center;gap:9px;background:var(--muted-bg);border:1px solid var(--line);border-radius:11px;padding:11px 13px;cursor:pointer}.dp-input svg{width:17px;height:17px;color:var(--muted);flex:none}.dp-input:hover{border-color:var(--line-2)}.dp-pop{position:absolute;top:calc(100% + 6px);inset-inline-start:0;z-index:40;width:268px;background:var(--card);border:1px solid var(--line-2);border-radius:14px;padding:12px;box-shadow:var(--shadow-lg)}.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:700;font-size:.92rem}.dp-nav{background:#ffffff0d;border:1px solid var(--line);color:var(--text);width:30px;height:30px;border-radius:9px;cursor:pointer;font-size:1.1rem}.dp-nav:hover{background:#ffffff18}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.dp-wd{margin-bottom:6px}.dp-wd span{text-align:center;font-size:.72rem;padding:4px 0}.dp-day{background:none;border:none;color:var(--text);border-radius:8px;padding:7px 0;cursor:pointer;font-size:.85rem;transition:background .12s}.dp-day:hover{background:#ffffff12}.dp-day.today{border:1px solid var(--line-2)}.dp-day.sel{background:var(--accent);color:#04130b;font-weight:700}.aibtn{background:var(--ai-bg);color:var(--ai);border:1px solid transparent;border-radius:8px;width:28px;height:26px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-top:10px;transition:filter .15s}.aibtn svg{width:15px;height:15px}.aibtn:hover{filter:brightness(1.2)}.aibtn:disabled{opacity:.6;cursor:wait}.landing{max-width:1040px;margin:0 auto;padding:32px 22px 0}.lhero{text-align:center;padding:48px 16px 30px}.lh1{font-size:2.3rem;margin:18px 0 12px;letter-spacing:-1px;background:linear-gradient(120deg,#fff,#9be7bd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lsub{color:var(--muted);max-width:640px;margin:0 auto;font-size:1.05rem;line-height:1.9}.lsec{margin:40px 0}.lcap{text-align:center;font-size:1.4rem;margin-bottom:22px}.lstep{width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;font-weight:800;background:linear-gradient(145deg,var(--accent),#0f9b6c);color:#04130b}.lfeat{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--accent);background:#22c55e1f;margin-bottom:12px}.lfeat svg{width:22px;height:22px}.lfoot{text-align:center;padding:26px;margin-top:20px;border-top:1px solid var(--line);color:var(--muted)}.lfoot strong{color:var(--accent)}.credit{text-align:center;color:var(--faint);font-size:.82rem;margin-top:40px;padding-top:16px;border-top:1px solid var(--line)}.credit strong{color:var(--muted)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (max-width: 860px){.app{flex-direction:column}.sidebar{width:auto;height:auto;flex-direction:row;overflow-x:auto;position:static;gap:2px}.sidebar .spacer,.sidebar .userchip{display:none}.brand{padding:6px 10px}.main{padding:18px 16px}.cols-2,.cols-3,.kanban{grid-template-columns:1fr}}
