:root{--task-danger:#d95062;--task-blue:#5d83d5;--task-violet:#8a70d6;--task-mint:#43a978;--text:var(--ink);--border:var(--line);--border-strong:var(--line-strong);--surface-muted:var(--surface-2);--accent-border:color-mix(in srgb,var(--accent-strong) 30%,var(--line))}
.side-nav a.active{color:#151515;background:#fff;border-color:#fff}
.notice{display:flex;align-items:center;gap:10px;padding:13px 15px;margin-bottom:18px;border:1px solid var(--accent-border);border-radius:12px;background:var(--accent-soft);color:var(--text);font-size:14px}.notice.error{border-color:rgba(217,80,98,.28);background:rgba(217,80,98,.09);color:var(--task-danger)}.notice a{color:inherit;font-weight:700;text-decoration:underline}
.eyebrow{display:block;margin-bottom:8px;color:var(--accent-strong);font-weight:800;font-size:11px;letter-spacing:.12em}.dashboard-welcome h3{font-size:27px}
.stats-grid{display:grid;gap:18px}.stat-card{display:flex;align-items:center;gap:15px;padding:19px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.stat-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:13px;background:var(--accent-soft);color:var(--accent-strong);font-size:17px}.stat-card>div:last-child{min-width:0}.stat-card span{display:block;color:var(--muted);font-size:12px;font-weight:720}.stat-card strong{display:block;margin-top:2px;color:var(--text);font-size:27px;line-height:1.1;letter-spacing:-.6px}
.task-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.task-stats .stat-card{min-height:132px}.stat-card small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.stat-icon.blue{color:var(--task-blue);background:rgba(93,131,213,.12)}.stat-icon.violet{color:var(--task-violet);background:rgba(138,112,214,.12)}.stat-icon.lemon{color:#b68125;background:rgba(226,178,73,.13)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.7fr);gap:20px}.panel{border:1px solid var(--border);border-radius:16px;background:var(--surface)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--border)}.panel-head h3{margin:0 0 4px;font-size:17px}.panel-head p{margin:0;color:var(--muted);font-size:13px}
.compact-task-list{padding:6px 14px 14px}.compact-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 8px;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.compact-task:last-child{border-bottom:0}.compact-task:hover strong{color:var(--accent)}.compact-main{display:grid;gap:5px;min-width:0}.compact-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.compact-main small{display:flex;align-items:center;gap:6px;color:var(--muted)}.check-ring{width:18px;height:18px;border:2px solid var(--border-strong);border-radius:50%}.check-ring.doing{border-color:var(--task-violet);border-top-color:transparent}.compact-date{min-width:58px;color:var(--muted);font-size:12px;text-align:right}.project-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent)}.project-dot.violet,.project-icon.violet{--project-color:#8069c9}.project-dot.blue,.project-icon.blue{--project-color:#5481d2}.project-dot.amber,.project-icon.amber{--project-color:#c68a27}.project-dot.rose,.project-icon.rose{--project-color:#d45e77}.project-dot.graphite,.project-icon.graphite{--project-color:#68717d}.project-dot.green,.project-icon.green{--project-color:#3c9d70}.project-dot{background:var(--project-color,var(--accent))}
.progress-panel{padding-bottom:20px}.progress-ring{--progress:0;display:grid;place-items:center;width:146px;height:146px;margin:28px auto 23px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--progress)*1%),var(--surface-muted) 0);position:relative}.progress-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:var(--surface)}.progress-ring>div{position:relative;display:grid;text-align:center}.progress-ring strong{font-size:28px}.progress-ring span{color:var(--muted);font-size:12px}.progress-legend{display:grid;gap:11px;padding:0 22px}.progress-legend span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;color:var(--muted);font-size:13px}.progress-legend strong{color:var(--text)}.legend-dot{width:8px;height:8px;border-radius:50%;background:var(--task-blue)}.legend-dot.violet{background:var(--task-violet)}.legend-dot.mint{background:var(--task-mint)}
.tasks-kanban{grid-template-columns:repeat(3,minmax(250px,1fr));align-items:start}.tasks-kanban .lane{min-height:260px}.lane-head h3{display:flex;align-items:center;gap:9px}.status-mark{width:9px;height:9px;border-radius:50%;background:var(--task-blue)}.status-mark.violet{background:var(--task-violet)}.status-mark.mint{background:var(--task-mint)}.lane-cards{display:grid;gap:12px;min-height:160px}.lane.drag-over{border-color:var(--accent);background:var(--accent-soft)}.task-card{cursor:grab}.task-card.is-dragging{opacity:.4}.task-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.task-card h4 a{color:inherit;text-decoration:none}.task-card h4 a:hover{color:var(--accent)}.task-card .pill i{margin-right:5px;font-size:9px}.task-menu-btn{display:grid;place-items:center;width:28px;height:28px;margin:-5px -6px 0 0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.task-menu-btn:hover{background:var(--surface-muted);color:var(--text)}.card-menu .dropdown-menu{min-width:150px}.dropdown-menu-right{right:0;left:auto}.dropdown-menu form{margin:0}.dropdown-menu button{width:100%;text-align:left}.dropdown-danger{display:flex;align-items:center;gap:9px;border:0;background:none;color:var(--task-danger);padding:10px 12px;font:inherit;cursor:pointer}.task-project{display:flex;align-items:center;gap:7px;margin-top:13px;color:var(--muted);font-size:12px;text-decoration:none}.task-project:hover{color:var(--accent)}.task-foot .helper{display:flex;align-items:center;gap:5px}.task-foot .helper.overdue{color:var(--task-danger)}.lane-empty{display:none;place-items:center;gap:7px;min-height:82px;border:1px dashed var(--border-strong);border-radius:12px;color:var(--muted);font-size:12px}.lane-cards>.lane-empty:only-child{display:grid}
.filter-bar{display:none;grid-template-columns:1fr 1fr minmax(220px,1.5fr) auto auto;align-items:end;gap:12px;padding:16px;margin:-6px 0 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.filter-bar.open{display:grid}.filter-bar label{display:grid;gap:7px}.filter-bar label>span,.field>span{font-size:12px;font-weight:700;color:var(--muted)}
.form-panel{margin-bottom:20px}.app-form{padding:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:8px}.field-wide{grid-column:1/-1}.field textarea{min-height:90px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:18px}.project-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:visible}.project-card-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 0}.project-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--project-color,var(--accent)) 13%,transparent);color:var(--project-color,var(--accent))}.project-icon.large{width:58px;height:58px;border-radius:15px;font-size:20px}.project-card-body{display:block;flex:1;padding:15px 18px;color:inherit;text-decoration:none}.project-card-body h3{margin:10px 0 7px;font-size:18px}.project-card-body p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-progress{padding:15px 18px 18px;border-top:1px solid var(--border)}.project-progress>div:first-child,.summary-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px}.project-progress small{display:block;margin-top:8px;color:var(--muted);font-size:11px}.progress-bar{height:6px;border-radius:99px;background:var(--surface-muted);overflow:hidden}.progress-bar i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.wide{grid-column:1/-1}
.project-hero{padding:22px;margin-bottom:22px}.project-hero-main{display:flex;align-items:center;gap:15px;margin-right:auto}.project-hero{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.hero-title{display:flex;align-items:center;gap:10px}.hero-title h3{margin:0;font-size:22px}.project-hero-main p{margin:5px 0 0;color:var(--muted)}.project-hero>.inline-actions{margin-left:auto}.project-summary{display:grid;grid-template-columns:repeat(4,auto) minmax(180px,1fr);gap:26px;align-items:center;width:100%;padding-top:20px;border-top:1px solid var(--border)}.project-summary>span{display:grid;gap:4px;color:var(--muted);font-size:11px}.project-summary>span strong{color:var(--text);font-size:20px}.section-head.compact{margin-top:8px}
.empty-state{display:grid;place-items:center;text-align:center;min-height:230px;padding:35px;color:var(--muted)}.empty-state>i{font-size:28px;color:var(--accent)}.empty-state h4{margin:12px 0 3px;color:var(--text);font-size:17px}.empty-state p{margin:0 0 16px}.compact-task-list .empty-state{min-height:260px}.profile-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px}.profile-card{display:flex;flex-direction:column;align-items:center;padding:28px;text-align:center}.profile-avatar{width:82px;height:82px;font-size:24px}.profile-card h3{margin:16px 0 4px}.profile-card p{margin:0 0 16px;color:var(--muted)}
.installer-photo{background:linear-gradient(145deg,#14291f,#285a43)}.login-photo{background:linear-gradient(145deg,#1d2622,#416e58)}.auth-photo-panel:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.10) 0 2px,transparent 3px);background-size:28px 28px;opacity:.35}.auth-photo-content{position:relative}.auth-photo-copy h1{max-width:650px}.auth-photo-layer{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18))}
@media(max-width:1180px){.task-stats{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.filter-bar{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.project-summary{grid-template-columns:repeat(4,1fr)}.summary-progress{grid-column:1/-1}}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.tasks-kanban{grid-template-columns:1fr}.tasks-kanban .lane{min-height:0}.profile-layout{grid-template-columns:1fr}.profile-card{display:none}.global-search{display:none}}
@media(max-width:680px){.task-stats{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.form-grid,.filter-bar{grid-template-columns:1fr}.filter-search{grid-column:auto}.compact-task{grid-template-columns:auto minmax(0,1fr) auto}.compact-task .pill{display:none}.compact-date{grid-column:3}.project-summary{grid-template-columns:repeat(2,1fr)}.project-hero{align-items:flex-start}.project-hero>.inline-actions{width:100%;margin-left:0}.project-hero>.inline-actions .btn{flex:1}.dashboard-welcome .inline-actions{width:100%}.dashboard-welcome .btn{flex:1}.task-stats .stat-card{min-height:105px}.app-form{padding:17px}.form-actions .btn{flex:1}.auth-photo-copy h1{font-size:34px}}
@media(max-width:430px){.task-stats{grid-template-columns:1fr}.compact-date{display:none}.compact-task{grid-template-columns:auto minmax(0,1fr)}.project-summary{gap:16px}}
