:root{--bg:#f7f8fa;--card:#ffffff;--text:#111827;--accent:#16a34a}:root[data-theme=dark]{--bg:#0b0f14;--card:#0f172a;--text:#e5e7eb;--accent:#22c55e}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Vazirmatn,system-ui,Arial,sans-serif;line-height:1.5}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}.layout{display:flex;height:100%}.sidebar{width:240px;background:var(--card);border-right:1px solid #e5e7eb;display:flex;flex-direction:column}.logo{padding:16px;font-weight:600;color:var(--accent)}.sidebar nav{display:flex;flex-direction:column}.sidebar a{padding:12px 16px;color:inherit;text-decoration:none}.sidebar a:hover{background:#f0f2f5}.content{flex:1;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--card);border-bottom:1px solid #e5e7eb}.controls{display:flex;gap:8px;align-items:center}.btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:10px 12px;min-height:40px;cursor:pointer;font-family:inherit}.tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tab{background:transparent;color:inherit;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;font-family:inherit}.tab:hover{background:#f0f2f5}.tab[aria-selected=true],.tab.tab--active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px #0000000f inset}.tablist{border-bottom:1px solid #e5e7eb;padding-bottom:8px}.viewbar{display:flex;align-items:center;gap:8px;padding-bottom:8px}.viewbar{flex-wrap:wrap;overflow-x:auto}.viewbar{position:relative;z-index:1000}.view-chip{display:inline-flex;align-items:center;gap:6px;background:transparent;color:inherit;border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px;font-size:14px;white-space:nowrap;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.view-chip:hover{background:#f0f2f5}.view-chip[aria-selected=true]{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px #0000000f inset}.view-plus{background:transparent;color:inherit;border:1px solid #e5e7eb;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.view-plus:hover{background:#f0f2f5}.view-menu{position:absolute;z-index:1000;background:var(--card);color:var(--text);border-radius:12px;padding:12px;border:1px solid #e5e7eb;box-shadow:0 8px 24px #00000040;max-width:min(320px,calc(100vw - 16px));max-height:min(60vh,calc(100vh - 16px));overflow:auto}.view-menu *{color:var(--text)}.view-menu-title{font-weight:600;color:var(--text);margin-bottom:8px}.view-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.view-menu-item{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid #e5e7eb;border-radius:10px;padding:10px;cursor:pointer;color:var(--text)}.view-menu-item:hover,.view-menu-item:focus{background:#f3f4f6;border-color:#d1d5db;color:var(--text)}:root[data-theme=dark] .view-menu{background:#0f172a;color:#e5e7eb;border-color:#1f2937}:root[data-theme=dark] .view-menu *{color:#e5e7eb}:root[data-theme=dark] .view-menu-title{color:#cbd5e1}:root[data-theme=dark] .view-menu-item{background:var(--card);border-color:#1f2937;color:#e5e7eb}:root[data-theme=dark] .view-menu-item:hover,:root[data-theme=dark] .view-menu-item:focus{background:#0b0f14;border-color:#0b0f14;color:#fff}.view-container{position:relative}.fade-enter{opacity:0;transform:translateY(6px)}.fade-enter-active{opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:var(--card);border:1px solid #e5e7eb;border-radius:8px;padding:16px}.tasks-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.tasks-table-header{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr 80px;gap:8px;font-weight:600;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.tasks-table-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr 80px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dashed #e5e7eb}.list .row{display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:8px 0;border-bottom:1px dashed #e5e7eb}.login{max-width:360px;margin:80px auto;background:var(--card);padding:24px;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:8px}input,select,textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:16px;font-family:inherit}section{padding:16px}.tasks-layout{display:grid;grid-template-columns:280px 1fr 360px;gap:16px}.tasks-left{display:flex;flex-direction:column;gap:12px}.tasks-main{min-height:480px}.tasks-right{position:relative}.kanban{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.kanban-column{background:var(--card);border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;min-height:300px;flex:0 0 240px}.kanban-column-title{padding:10px 12px;font-weight:600;border-bottom:1px solid #e5e7eb}.kanban-column-body{padding:12px;display:flex;flex-direction:column;gap:10px}.kanban-card{background:var(--card);color:var(--text);border:1px solid #e5e7eb;border-radius:10px;padding:10px;box-shadow:0 1px 2px #0000000f;cursor:grab;transition:transform .12s ease,box-shadow .12s ease}.kanban-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.kanban-card-title{font-weight:600;margin-bottom:6px}.kanban-card-meta{font-size:12px;color:#6b7280}.kanban-card-due{font-size:12px;color:#374151;margin-top:4px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-cell{background:var(--card);border:1px solid #e5e7eb;border-radius:10px;min-height:120px;padding:8px;display:flex;flex-direction:column}.calendar-date{font-weight:600;font-size:12px;color:#6b7280}.calendar-items{display:flex;flex-direction:column;gap:6px;margin-top:6px}.calendar-item{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:6px 8px;text-align:left}.calendar-drop{height:8px}.timeline{display:flex;flex-direction:column;gap:12px}.timeline,.timeline-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch}.timeline-days{display:flex;gap:0}.timeline-day{width:24px;text-align:center;font-size:12px;color:#6b7280}.timeline-track{position:relative;height:140px;background:repeating-linear-gradient(to right,transparent,transparent 23px,rgba(0,0,0,.06) 24px)}.timeline-today{position:absolute;top:0;bottom:0;width:2px;background:#ef4444}:root[data-theme=dark] .timeline-day{color:#94a3b8}:root[data-theme=dark] .timeline-track{background:repeating-linear-gradient(to right,transparent,transparent 23px,rgba(255,255,255,.08) 24px)}.timeline-row{display:flex;align-items:center;gap:12px}.timeline-title{width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-bar{height:24px;background:#e5e7eb;border-radius:6px;cursor:ew-resize;box-shadow:inset 0 1px #0000000f}.timeline-bar:after{content:"";position:absolute;right:-6px;top:0;bottom:0;width:6px}.drawer{position:absolute;right:0;top:0;bottom:0;width:0;overflow:hidden;background:var(--card);border-left:1px solid #e5e7eb;box-shadow:-8px 0 16px #0000000a;transition:width .2s ease}.drawer--open{width:100%}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #e5e7eb}.drawer-body{padding:12px;display:flex;flex-direction:column;gap:12px}.drawer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.drawer-section{margin-top:8px}.drawer-section-title{font-weight:600;margin-bottom:6px}.drawer-attachments,.drawer-comments,.drawer-subtasks{display:flex;flex-direction:column;gap:8px}.drawer-attachment{display:flex;justify-content:space-between;align-items:center;gap:8px}.drawer-check{display:flex;gap:8px;align-items:center}@media (max-width: 1024px){.grid{grid-template-columns:1fr}.sidebar{width:200px}}@media (max-width: 1024px){.tasks-layout{grid-template-columns:1fr}}@media (max-width: 640px){.kanban{grid-template-columns:1fr 1fr}.calendar{grid-template-columns:repeat(4,1fr)}.drawer-grid{grid-template-columns:1fr}}@media (max-width: 640px){.list .row{grid-template-columns:1fr;gap:8px}.header,.controls{flex-wrap:wrap}}@media (max-width: 640px){.view-menu-grid{grid-template-columns:repeat(2,1fr)}.view-chip{padding:4px 8px;font-size:13px}}@media (max-width: 640px){.kanban-column{flex-basis:200px}}[dir=rtl] body{font-family:Vazirmatn,system-ui,Arial,sans-serif}[dir=rtl] input,[dir=rtl] select,[dir=rtl] textarea{text-align:right}[dir=rtl] .header,[dir=rtl] .controls,[dir=rtl] .tabs{flex-direction:row-reverse}
