:root{
  --primary:#3157d5;--accent:#7c5cff;--bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;
  --text:#172033;--muted:#667085;--line:#e6eaf1;--shadow:0 10px 35px rgba(26,39,72,.08);
  --sidebar:#111b35;--sidebar-text:#dce5ff;--danger:#dc3545;--success:#0f9f6e;--warning:#e88a08;
}
[data-theme=dark]{
  --bg:#0b1120;--surface:#111a2d;--surface-2:#172238;--text:#eef3ff;--muted:#9aa8c2;
  --line:#24324c;--shadow:0 12px 40px rgba(0,0,0,.24);--sidebar:#070d1a;--sidebar-text:#dce5ff;
  color-scheme:dark
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Tahoma,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.65}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%}
h1,h2,h3,h4,p{margin-top:0}h1{font-size:22px}h2{font-size:25px}h3{font-size:17px}.muted{color:var(--muted)}.small{font-size:12px}.grow{flex:1;min-width:0}.hidden{display:none!important}
input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px;outline:0}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
textarea{resize:vertical;min-height:90px}label{display:block;font-weight:700;font-size:13px}label small{display:block;font-weight:400;color:var(--muted);margin-top:4px}
select[multiple]{min-height:100px}.btn{border:1px solid transparent;border-radius:10px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;background:var(--surface);white-space:nowrap}
.btn.primary{background:var(--primary);color:#fff;box-shadow:0 7px 20px color-mix(in srgb,var(--primary) 25%,transparent)}.btn.soft{background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary)}.btn.ghost{border-color:var(--line);background:var(--surface)}.btn.danger-outline{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));color:var(--danger);background:transparent}.btn.wide{width:100%;padding:12px}.btn.small{padding:6px 10px;font-size:12px}
.alert{padding:12px 16px;border-radius:11px;margin-bottom:14px;border:1px solid transparent}.alert.error{background:#fff1f2;color:#9f1239;border-color:#fecdd3}.alert.success{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.alert.info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.alert.warning{background:#fffbeb;color:#92400e;border-color:#fde68a}
[data-theme=dark] .alert.error{background:#3a1520;color:#fecdd3}[data-theme=dark] .alert.success{background:#0d3228;color:#a7f3d0}[data-theme=dark] .alert.info{background:#15294a;color:#bfdbfe}[data-theme=dark] .alert.warning{background:#392b0c;color:#fde68a}
.brand-mark{width:52px;height:52px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:15px;display:grid;place-items:center;color:#fff;font-size:25px;font-weight:900;box-shadow:0 10px 25px color-mix(in srgb,var(--primary) 30%,transparent)}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:20px;flex:0 0 auto}
.brand-image{width:42px;height:42px;object-fit:contain;border-radius:10px;flex:0 0 auto}.brand-image.login-logo{width:58px;height:58px}
.avatar,.mini-avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#dbe7ff,#c7d5ff);color:#284eaa;font-weight:800;flex:0 0 auto}.avatar{width:38px;height:38px}.avatar.large{width:52px;height:52px;font-size:19px}.avatar.huge{width:90px;height:90px;font-size:36px}.mini-avatar{width:27px;height:27px;font-size:11px;display:inline-grid}
/* Login */
.login-page{min-height:100vh;background:#eef2fb}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-visual{background:radial-gradient(circle at 20% 20%,#6f86ff33,transparent 30%),linear-gradient(135deg,#0d1731,#1d3471 65%,#5d47c9);color:#fff;display:grid;place-items:center;padding:7vw;overflow:hidden;position:relative}.login-visual:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff22;border-radius:50%;bottom:-180px;left:-120px;box-shadow:0 0 0 75px #ffffff08,0 0 0 150px #ffffff05}.login-visual-content{max-width:650px;position:relative;z-index:1}.eyebrow{display:inline-block;padding:6px 12px;background:#ffffff16;border:1px solid #ffffff22;border-radius:999px;margin-bottom:25px}.login-visual h1{font-size:44px;line-height:1.35;margin-bottom:18px}.login-visual p{font-size:17px;color:#dce4ff;max-width:570px}.login-kanban{display:flex;gap:12px;margin-top:45px;direction:rtl;transform:perspective(900px) rotateX(7deg) rotateY(-4deg)}.login-kanban>div{width:160px;background:#ffffff13;border:1px solid #ffffff1c;border-radius:14px;padding:13px;backdrop-filter:blur(10px)}.login-kanban b{display:block;font-size:12px;margin-bottom:10px}.login-kanban span{display:block;height:42px;border-radius:8px;background:#fff;margin:7px 0;box-shadow:0 8px 15px #0a102033}.login-kanban span.done{border-right:4px solid #28c99b}.login-panel{display:grid;place-items:center;padding:30px;background:var(--surface)}.login-box{width:min(420px,100%)}.login-box h2{font-size:26px;margin:20px 0 3px}.login-box label{margin:17px 0 7px}.input-icon{position:relative}.input-icon>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--muted)}.input-icon input{padding-right:39px;height:48px}.password-field input{padding-left:70px}.password-toggle{position:absolute;left:7px;top:7px;border:0;background:var(--surface-2);color:var(--primary);border-radius:7px;padding:6px 9px}.form-row{display:flex;gap:12px;align-items:center;margin:18px 0}.between{justify-content:space-between}.check{display:flex!important;align-items:center;gap:7px;margin:0!important}.check input{width:auto}.demo-login{margin-top:22px;border:1px dashed var(--line);padding:12px;border-radius:10px;background:var(--surface-2);display:flex;gap:8px 16px;flex-wrap:wrap;color:var(--muted)}.demo-login b{width:100%;color:var(--text)}.demo-login code{direction:ltr;color:var(--primary)}
/* App frame */
.app-body{min-height:100vh}.sidebar{position:fixed;right:0;top:0;bottom:0;width:254px;background:var(--sidebar);color:var(--sidebar-text);z-index:40;display:flex;flex-direction:column;transition:.25s}.sidebar-brand{height:78px;padding:17px 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #ffffff12}.brand-copy{display:flex;flex-direction:column}.brand-copy b{font-size:15px}.brand-copy small{color:#9fb0d7}.nav{padding:12px 10px;overflow:auto;flex:1}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;color:#adbbd8;margin:2px 0;transition:.2s}.nav-item:hover{background:#ffffff0b;color:#fff}.nav-item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 82%,#fff),color-mix(in srgb,var(--accent) 75%,#fff));color:#fff;box-shadow:0 8px 20px #00000025}.nav-icon{width:24px;text-align:center;font-size:16px}.nav-label{color:#6f80a7;font-size:10px;font-weight:800;margin:17px 13px 6px}.sidebar-user{padding:14px 15px;border-top:1px solid #ffffff12;display:flex;align-items:center;gap:10px}.user-copy{flex:1;display:flex;flex-direction:column;min-width:0}.user-copy b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy small{color:#90a1c7}.sidebar-user>a{font-size:20px}.app-shell{margin-right:254px;min-height:100vh;transition:.25s}.topbar{height:78px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 25px;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.topbar-start,.topbar-tools{display:flex;align-items:center;gap:12px}.topbar h1{margin:0;font-size:18px}.breadcrumbs{font-size:11px;color:var(--muted)}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;place-items:center;position:relative}.notification-button b{position:absolute;top:-6px;left:-6px;background:var(--danger);color:#fff;min-width:19px;height:19px;padding:0 4px;border-radius:10px;font-size:9px;display:grid;place-items:center}.sidebar-toggle{display:none}.business-switch{width:190px}.global-search{position:relative}.global-search span{position:absolute;right:11px;top:8px;color:var(--muted)}.global-search input{width:230px;padding-right:34px}.content{padding:24px;max-width:1700px;margin:auto}.sidebar.collapsed{width:76px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-item>span:not(.nav-icon),.sidebar.collapsed .nav-label,.sidebar.collapsed .user-copy,.sidebar.collapsed .sidebar-user>a{display:none}.sidebar.collapsed .sidebar-brand{justify-content:center}.sidebar.collapsed .nav-item{justify-content:center}.sidebar.collapsed+.app-shell{margin-right:76px}
/* Common */
.page-head,.board-head,.task-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h2,.board-head h2,.task-detail-head h2{margin:0 0 3px}.page-head p,.board-head p{color:var(--muted);margin:0}.head-actions,.board-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 3px 15px rgba(20,32,70,.03);margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.panel-head h3{margin:0 0 2px}.panel-head p{color:var(--muted);font-size:12px;margin:0}.panel-head>a{color:var(--primary);font-weight:700;font-size:12px}.empty,.empty-card{text-align:center;color:var(--muted);padding:35px 18px}.empty.small{padding:15px}.empty-card{background:var(--surface);border:1px dashed var(--line);border-radius:15px;grid-column:1/-1}.empty-card b,.empty-card h2{color:var(--text)}.empty-card.forbidden span{font-size:60px;color:var(--danger)}.center-page{display:grid;place-items:center;min-height:100vh}.filter-bar{background:var(--surface);border:1px solid var(--line);padding:12px 15px;border-radius:13px;display:flex;align-items:center;gap:10px;margin-bottom:18px;box-shadow:0 4px 16px rgba(20,32,70,.03)}.filter-bar input,.filter-bar select{width:auto;min-width:150px}.filter-bar label{display:flex;align-items:center;gap:7px}.view-buttons{margin-right:auto;display:flex;gap:3px}.view-buttons button{border:0;background:var(--surface-2);border-radius:7px;padding:7px 10px}.view-buttons button.active{background:var(--primary);color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.stats-grid.compact{grid-template-columns:repeat(5,1fr)}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;align-items:center;gap:12px;box-shadow:0 3px 15px rgba(20,32,70,.03);transition:.2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stat-card>span:nth-child(2){display:flex;flex-direction:column}.stat-card small{color:var(--muted)}.stat-card b{font-size:23px;line-height:1.25}.stat-card>i{margin-right:auto;color:var(--muted);font-style:normal}.stat-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:19px}.stat-icon.blue{background:#eaf0ff;color:#3157d5}.stat-icon.violet{background:#f1edff;color:#7c5cff}.stat-icon.slate{background:#edf2f7;color:#475569}.stat-icon.orange{background:#fff4e5;color:#e88a08}.stat-icon.green{background:#e8fbf4;color:#0f9f6e}.stat-icon.red{background:#fff0f1;color:#dc3545}.stat-icon.pink{background:#fff0f7;color:#db2777}.stat-icon.cyan{background:#e8f9ff;color:#0891b2}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart-panel{min-height:320px}.chart{width:100%;height:245px}.bar-chart{height:240px}.chart-with-legend{display:grid;grid-template-columns:minmax(220px,1fr) 150px;align-items:center}.chart-legend{display:flex;flex-direction:column;gap:8px}.chart-legend span{display:flex;gap:7px;align-items:center;font-size:12px}.chart-legend i{width:9px;height:9px;border-radius:3px}.progress-list,.due-list{display:flex;flex-direction:column}.progress-item,.due-item{display:flex;align-items:center;gap:11px;padding:10px 3px;border-bottom:1px solid var(--line)}.progress-item:last-child,.due-item:last-child{border:0}.project-dot{width:11px;height:36px;border-radius:6px;background:var(--dot)}.progress-item .grow{display:grid;grid-template-columns:1fr auto;gap:2px 8px}.progress-item .grow b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-item small,.due-item small{color:var(--muted)}.progress-item .progress{grid-column:1/-1}.progress{height:7px;background:var(--surface-2);border-radius:99px;display:block;overflow:hidden}.progress i{display:block;height:100%;border-radius:99px;background:var(--primary)}.progress.large{height:9px;margin-bottom:14px}.due-date{width:55px;display:flex;flex-direction:column;align-items:center;border-radius:9px;background:var(--surface-2);padding:5px}.due-date b{font-size:18px}.due-item.late .due-date{background:#fff0f1;color:var(--danger)}.activity-feed{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.activity-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.activity-item .grow{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.activity-item small{display:block;width:100%;color:var(--muted)}.activity-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);flex:0 0 auto}
.badge,.priority,.tag{display:inline-flex;align-items:center;border-radius:99px;padding:4px 8px;font-size:10px;font-weight:700;white-space:nowrap}.badge.blue{background:#eaf0ff;color:#3157d5}.badge.green{background:#e7faf3;color:#078259}.badge.orange{background:#fff4e3;color:#b96900}.badge.red{background:#ffeaed;color:#c92339}.badge.violet{background:#f1edff;color:#6947dc}.badge.gray{background:#eef1f6;color:#64748b}.priority{gap:5px}.priority i{width:6px;height:6px;border-radius:50%}.priority.urgent{background:#fff0f1;color:#ce2137}.priority.urgent i{background:#dc3545}.priority.high{background:#fff4e5;color:#b86800}.priority.high i{background:#f59e0b}.priority.medium{background:#eef4ff;color:#3157d5}.priority.medium i{background:#3b82f6}.priority.low{background:#ecfdf5;color:#087c58}.priority.low i{background:#10b981}.tag{background:color-mix(in srgb,var(--tag) 14%,var(--surface));color:var(--tag)}
/* Cards */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.business-card,.project-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(20,32,70,.04);transition:.2s}.business-card:hover,.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.business-cover{height:90px;background:linear-gradient(130deg,color-mix(in srgb,var(--business) 85%,#111),color-mix(in srgb,var(--business) 62%,#fff));display:flex;align-items:center;padding:18px;position:relative}.business-cover>span{width:52px;height:52px;background:#ffffff22;border:1px solid #ffffff38;border-radius:14px;color:#fff;display:grid;place-items:center;font-size:22px;font-weight:800}.card-menu{margin-right:auto;align-self:flex-start}.card-menu button,.dots{border:0;background:transparent;color:inherit;padding:3px 6px;font-weight:900}.business-cover .card-menu button{color:#fff}.business-body{padding:16px}.business-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.business-title h3{margin:0}.business-title p{color:var(--muted);height:43px;overflow:hidden}.mini-stats{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:11px 0;margin:10px 0;font-size:11px;color:var(--muted)}.mini-stats span{display:flex;flex-direction:column}.mini-stats b{font-size:16px;color:var(--text)}.mini-stats.three{margin:13px 0}.progress-block>div{display:flex;justify-content:space-between;margin-bottom:6px;font-size:11px}.card-actions{display:flex;gap:7px;margin-top:15px}.card-actions .btn{flex:1}.project-card{position:relative;padding:17px}.project-accent{position:absolute;top:0;right:0;left:0;height:4px;background:var(--project)}.project-card-head{display:flex;align-items:center;gap:10px}.project-logo{width:43px;height:43px;border-radius:12px;background:color-mix(in srgb,var(--project) 13%,var(--surface));color:var(--project);display:grid;place-items:center;font-weight:800}.project-card-head h3{margin:0}.project-card-head small{color:var(--muted)}.project-card>p{color:var(--muted);height:45px;margin:13px 0}.project-meta{display:flex;gap:7px;margin-bottom:14px}.project-footer{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--muted);font-size:11px}.projects-grid.list-view{grid-template-columns:1fr}.projects-grid.list-view .project-card{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:15px}.projects-grid.list-view .project-card>p,.projects-grid.list-view .project-footer{display:none}
/* Kanban */
.board-head{align-items:center}.board-tools select{width:200px}.kanban{display:flex;gap:13px;overflow-x:auto;padding-bottom:18px;align-items:flex-start;min-height:calc(100vh - 190px);scrollbar-width:thin}.kanban-column{width:295px;min-width:295px;background:color-mix(in srgb,var(--surface-2) 78%,var(--bg));border:1px solid var(--line);border-radius:13px;padding:10px}.kanban-column>header{display:flex;align-items:center;gap:8px;padding:4px 4px 10px}.kanban-column>header .dots{margin-right:auto}.list-color{width:8px;height:24px;border-radius:6px}.count{background:var(--surface);border:1px solid var(--line);border-radius:99px;min-width:24px;text-align:center;font-size:10px}.task-dropzone{min-height:55px}.task-dropzone.drag-over{background:color-mix(in srgb,var(--primary) 7%,transparent);border-radius:9px}.task-card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px;margin-bottom:9px;box-shadow:0 3px 10px rgba(20,32,70,.05);cursor:grab}.task-card.dragging{opacity:.4;transform:rotate(2deg)}.task-card-top{display:flex;justify-content:space-between}.task-title{display:block;font-weight:700;margin:9px 0 12px}.task-progress{display:flex;align-items:center;gap:7px}.task-progress>span{height:5px;background:var(--surface-2);border-radius:99px;flex:1}.task-progress i{display:block;height:100%;background:var(--primary);border-radius:99px}.task-progress small{color:var(--muted)}.task-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-top:10px}.task-card-meta .mini-avatar{margin-right:auto}.task-card-meta .late{background:#fff0f1;color:var(--danger);border-radius:6px;padding:2px 5px}.add-card,.add-list-card{width:100%;border:0;background:transparent;color:var(--muted);padding:8px;text-align:right;border-radius:8px}.add-card:hover{background:var(--surface)}.add-list-card{width:270px;min-width:270px;background:var(--surface);border:1px dashed var(--line);padding:12px;color:var(--primary);font-weight:700}
/* Tables */
.table-panel{padding:0;overflow:hidden}.table-summary{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--line)}.table-summary>div{display:flex;gap:7px}.table-summary input{width:260px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap}.data-table th,.data-table td{padding:12px 14px;text-align:right;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{background:var(--surface-2);font-size:11px;color:var(--muted)}.data-table td small{display:block;color:var(--muted);font-size:10px}.data-table tr:hover td{background:color-mix(in srgb,var(--primary) 2.5%,var(--surface))}.table-task-title{font-weight:700;color:var(--text)}.assignee{display:flex;align-items:center;gap:7px}.assignee>i{width:29px;height:29px;border-radius:50%;background:#eaf0ff;color:#3157d5;display:grid;place-items:center;font-style:normal;font-weight:800}.row-actions{display:flex;gap:4px}.row-actions a,.row-actions button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:7px}.inline-progress{display:flex;align-items:center;gap:7px}.inline-progress i{width:70px;height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}.inline-progress b{display:block;height:100%;background:var(--primary)}.danger-text{color:var(--danger)!important}.task-filters{flex-wrap:wrap}
/* Personal, calendar, timeline, workload */
.mytasks-layout,.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.personal-task{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.personal-task small{display:block;color:var(--muted)}.task-check{width:23px;height:23px;border:2px solid var(--line);border-radius:7px;display:grid;place-items:center;flex:0 0 auto}.task-check.checked{background:var(--success);border-color:var(--success);color:#fff}.performance-card{text-align:center}.score-ring{--score:0;width:150px;height:150px;border-radius:50%;margin:10px auto 20px;display:grid;place-items:center;background:conic-gradient(var(--primary) calc(var(--score)*1%),var(--surface-2) 0);position:relative}.score-ring:before{content:"";position:absolute;inset:12px;background:var(--surface);border-radius:50%}.score-ring>span{position:relative;display:flex;flex-direction:column}.score-ring b{font-size:28px}.score-ring small{color:var(--muted)}.performance-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.calendar-title{direction:ltr}.calendar-panel{padding:0;overflow:hidden}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week b{padding:10px;text-align:center;background:var(--surface-2);border-left:1px solid var(--line);font-size:11px}.calendar-cell{min-height:125px;border-left:1px solid var(--line);border-top:1px solid var(--line);padding:7px}.calendar-cell.other{background:var(--surface-2)}.calendar-cell.today{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-cell .day{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-weight:700}.calendar-cell.today .day{background:var(--primary);color:#fff}.calendar-task{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 5px;margin:3px 0;border-right:3px solid var(--primary);background:var(--surface-2);border-radius:4px;font-size:9px}.calendar-task.urgent{border-color:#dc3545}.calendar-task.high{border-color:#f59e0b}.calendar-task.low{border-color:#10b981}.timeline-scale{margin-right:240px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding-bottom:10px}.timeline-row{display:grid;grid-template-columns:230px 1fr;gap:10px;border-top:1px solid var(--line);min-height:57px;align-items:center}.timeline-label a{font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-label small{color:var(--muted)}.timeline-track{height:26px;background:repeating-linear-gradient(90deg,var(--surface-2) 0,var(--surface-2) calc(10% - 1px),var(--line) 10%);position:relative;border-radius:5px}.timeline-bar{position:absolute;height:21px;top:2px;border-radius:5px;color:#fff;min-width:20px;display:flex;align-items:center;justify-content:center;font-size:9px;box-shadow:0 3px 9px #0002}.workload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.workload-user{display:flex;align-items:center;gap:10px}.workload-user h3{margin:0}.workload-user p{margin:0;color:var(--muted)}.load-label{padding:4px 8px;border-radius:99px;font-size:9px;font-weight:700}.load-label.high{background:#ffeaed;color:#c92339}.load-label.medium{background:#fff4e3;color:#b96900}.load-label.low{background:#e7faf3;color:#078259}.load-bar{height:7px;background:var(--surface-2);border-radius:99px;margin:15px 0}.load-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--success),var(--warning),var(--danger));border-radius:99px}
/* Task detail */
.back-link{color:var(--primary);font-weight:700}.task-path{color:var(--muted);font-size:11px;margin:7px 0}.task-detail-head h2{font-size:27px}.task-tags{display:flex;gap:6px}.task-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.description{font-size:15px;line-height:1.9;min-height:70px}.external-links{margin-top:15px;padding:10px;background:var(--surface-2);border-radius:8px}.check-item{display:flex;align-items:center;gap:9px;padding:9px;border-bottom:1px solid var(--line)}.check-item input{width:18px;height:18px}.check-item>span{flex:1}.check-item small{margin:0}.check-item button{border:0;background:transparent;color:var(--danger)}.check-item.done>span{text-decoration:line-through;color:var(--muted)}.inline-add{display:flex;gap:8px;margin-top:12px}.subtask-list>a{display:flex;align-items:center;gap:9px;padding:10px;border-bottom:1px solid var(--line)}.files-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.file-card{border:1px solid var(--line);border-radius:10px;padding:9px;display:flex;align-items:center;gap:8px}.file-card small{display:block;color:var(--muted)}.file-card button{border:0;background:transparent;color:var(--danger)}.file-icon{width:35px;height:35px;background:var(--surface-2);border-radius:9px;display:grid;place-items:center}.upload-label{cursor:pointer}.comment{display:flex;gap:10px;margin:15px 0}.comment-body{flex:1;background:var(--surface-2);border-radius:11px;padding:10px 12px}.comment-body>div{display:flex;gap:8px;align-items:center}.comment-body small{color:var(--muted)}.comment-body button{margin-right:auto;border:0;background:transparent;color:var(--danger)}.comment-body p{margin:7px 0 0}.comment-form textarea{margin-top:10px}.comment-form>div{display:flex;justify-content:space-between;align-items:center}.task-facts>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.task-facts>div>span{color:var(--muted)}.task-facts b{display:flex;align-items:center;gap:6px;text-align:left}.small-ring{width:120px;height:120px}.small-ring:before{inset:10px}.participant-list{display:flex;flex-direction:column;gap:8px}.participant-list span{display:flex;align-items:center;gap:7px}
.reply-label{display:block;color:var(--primary)!important;margin-top:5px}.replying{background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--primary);padding:7px 10px;border-radius:8px;margin-top:8px}.replying button{border:0;background:transparent;color:var(--danger);margin-right:auto}
/* Search, roles, settings, logs */
.search-hero{text-align:center;max-width:780px;margin:20px auto 28px}.search-hero form{display:flex;gap:8px;position:relative}.search-hero form>span{position:absolute;right:14px;top:11px}.search-hero input{height:47px;padding-right:38px}.search-results{display:grid;grid-template-columns:1fr 1fr;gap:18px}.search-result{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.search-result small{display:block;color:var(--muted)}.search-icon{width:35px;height:35px;background:var(--surface-2);color:var(--primary);border-radius:9px;display:grid;place-items:center}.report-header{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px;margin-bottom:17px}.report-header>div{display:flex;align-items:center;gap:10px}.report-header h2,.report-header p{margin:0}.report-header>div:last-child{display:block;text-align:left}.report-footer{text-align:center;color:var(--muted);padding:18px}.roles-layout,.settings-layout{display:grid;grid-template-columns:260px 1fr;gap:18px}.roles-list,.settings-nav{padding:8px}.roles-list button,.settings-nav button{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:right;padding:11px;border-radius:9px}.roles-list button.active,.settings-nav button.active{background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary)}.roles-list button span{display:flex;flex-direction:column}.roles-list small{color:var(--muted)}.role-pane,.settings-pane{display:none}.role-pane.active,.settings-pane.active{display:block}.permission-group-title{margin:22px 0 9px;border-bottom:1px solid var(--line);padding-bottom:7px}.permissions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-check{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:9px}.permission-check input{width:18px}.permission-check span{display:flex;flex-direction:column}.permission-check small{margin:0;font-size:9px}.settings-content h3{border-bottom:1px solid var(--line);padding-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.settings-actions{display:flex;gap:8px;margin-top:22px}.notification-item{display:flex;align-items:flex-start;gap:11px;padding:13px;border-bottom:1px solid var(--line)}.notification-item.unread{background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.notification-item p{margin:2px 0;color:var(--muted)}.notification-item small{color:var(--muted)}.notification-item>button{border:0;background:transparent;color:var(--muted)}.notification-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:var(--surface-2)}.notification-icon.success{background:#e7faf3;color:#078259}.notification-icon.warning{background:#fff4e3;color:#b96900}.activity-log details{border-bottom:1px solid var(--line)}.activity-log summary{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer}.activity-log summary small{display:block;color:var(--muted)}.activity-log time{color:var(--muted);font-size:11px}.change-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 55px 12px}.change-values pre{direction:ltr;text-align:left;white-space:pre-wrap;background:var(--surface-2);padding:10px;border-radius:8px;max-height:200px;overflow:auto}.profile-layout{grid-template-columns:290px 1fr}.profile-card{text-align:center}.profile-card .avatar{margin:10px auto}.profile-card h2{margin-bottom:2px}.profile-card p{color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}
/* Modals and toasts */
.modal-backdrop{display:none;position:fixed;inset:0;background:#071021aa;z-index:90;backdrop-filter:blur(3px)}.modal-backdrop.open{display:block}.modal{display:none;position:fixed;z-index:100;top:50%;right:50%;transform:translate(50%,-50%);width:min(650px,calc(100% - 24px));max-height:90vh;background:var(--surface);border-radius:17px;box-shadow:0 30px 90px #0006;overflow:hidden}.modal.open{display:block}.modal.wide{width:min(920px,calc(100% - 24px))}.modal.small-modal{width:min(460px,calc(100% - 24px))}.modal form{display:flex;flex-direction:column;max-height:90vh}.modal header,.modal footer{display:flex;align-items:center;gap:9px;padding:15px 19px;border-bottom:1px solid var(--line)}.modal footer{border:0;border-top:1px solid var(--line)}.modal header h3{margin:0}.modal header p{margin:0;color:var(--muted);font-size:11px}.modal header>button{margin-right:auto;width:32px;height:32px;border:0;border-radius:8px;background:var(--surface-2);font-size:20px}.modal-body{padding:18px;overflow:auto}.modal-body>label{margin-bottom:13px}.toast-stack{position:fixed;left:20px;bottom:20px;z-index:130;display:flex;flex-direction:column;gap:8px}.toast{background:var(--surface);border:1px solid var(--line);border-right:4px solid var(--success);box-shadow:var(--shadow);border-radius:10px;padding:11px 14px;min-width:270px;animation:toastIn .25s}.toast.error{border-right-color:var(--danger)}@keyframes toastIn{from{transform:translateX(-20px);opacity:0}}
.context-menu{position:fixed;z-index:120;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:9px;padding:5px;min-width:140px}.context-menu button,.context-menu a{display:block;width:100%;border:0;background:transparent;text-align:right;padding:8px;border-radius:6px}.context-menu button:hover,.context-menu a:hover{background:var(--surface-2)}
/* Responsive */
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid.compact{grid-template-columns:repeat(3,1fr)}.cards-grid,.workload-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(105%)}.sidebar.mobile-open{transform:none}.app-shell,.sidebar.collapsed+.app-shell{margin-right:0}.sidebar-toggle{display:grid}.global-search{display:none}.content{padding:15px}.dashboard-grid,.task-detail-layout,.mytasks-layout,.profile-layout,.roles-layout,.settings-layout,.search-results{grid-template-columns:1fr}.task-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.business-switch{width:150px}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}.calendar-cell{min-height:95px}.calendar-task{font-size:0;height:8px;padding:0}.stats-grid.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.topbar{padding:0 10px}.topbar-tools{gap:5px}.topbar-start h1,.breadcrumbs,.business-switch{display:none}.content{padding:10px}.page-head,.board-head,.task-detail-head{flex-direction:column}.page-head .btn,.page-head .head-actions{width:100%}.page-head .head-actions .btn{flex:1}.stats-grid,.stats-grid.compact,.cards-grid,.workload-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:10px;gap:8px}.stat-card b{font-size:19px}.stat-icon{width:37px;height:37px}.dashboard-grid{gap:10px}.panel{padding:13px;margin-bottom:10px}.chart-with-legend{grid-template-columns:1fr}.chart-legend{display:grid;grid-template-columns:1fr 1fr}.activity-feed,.permissions-grid,.form-grid,.files-grid,.change-values{grid-template-columns:1fr}.filter-bar{overflow:auto}.calendar-week b{font-size:8px;padding:6px 1px}.calendar-cell{min-height:70px;padding:3px}.timeline-row{grid-template-columns:130px 1fr}.timeline-scale{margin-right:140px}.task-sidebar{display:block}.modal footer{flex-wrap:wrap}.login-box{padding:6px}.table-summary{align-items:flex-start;gap:8px;flex-direction:column}.table-summary input{width:100%}.report-header{align-items:flex-start;gap:15px;flex-direction:column}.report-header>div:last-child{text-align:right}.projects-grid.list-view .project-card{display:block}.score-ring{width:130px;height:130px}}
@media(max-width:400px){.stats-grid,.stats-grid.compact,.cards-grid{grid-template-columns:1fr}.icon-btn{width:36px;height:36px}.topbar-tools .avatar{display:none}}
@media print{body{background:#fff;color:#111}.sidebar,.topbar,.print-hide,.toast-stack,.modal,.modal-backdrop{display:none!important}.app-shell{margin:0}.content{padding:0;max-width:none}.panel,.stat-card,.report-header{box-shadow:none;break-inside:avoid}.report-stats{grid-template-columns:repeat(5,1fr)}.report-stats .stat-icon{display:none}.data-table th,.data-table td{padding:7px;font-size:10px}.chart{max-height:220px}}
