:root{
  --bg:#f5f4ef;--card:#fff;--text:#20201e;--muted:#74736e;--line:#e4e1d9;
  --accent:#304b3f;--accent2:#e8eee9;--danger:#a44b3f;--shadow:0 8px 30px rgba(30,30,20,.05);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}
a{color:inherit;text-decoration:none}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:10}
.brand{font-weight:750;letter-spacing:-.02em}.topbar nav{display:flex;gap:20px;align-items:center;font-size:14px}.topbar nav a{color:#5d5c57}.topbar nav a:hover{color:var(--text)}.user-pill{background:var(--accent2);padding:6px 10px;border-radius:99px;color:var(--accent);font-weight:600}
.container{width:min(1180px,92vw);margin:0 auto;padding:42px 0 70px}.footer{text-align:center;color:#92908a;font-size:12px;padding:20px}
.page-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:28px}.page-head h1{margin:2px 0 3px;font-size:34px;letter-spacing:-.04em}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#85837c}.muted{color:var(--muted);margin-top:5px}
.card,.member-card,.auth-card,.empty-state{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.card{padding:24px;margin-bottom:20px}.card h2{margin:0;font-size:19px;letter-spacing:-.02em}.narrow{max-width:700px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.group-switcher{display:flex;flex-wrap:wrap;gap:7px}.group-switcher a{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13px}.group-switcher a.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.member-card{padding:15px;display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent2);color:var(--accent);display:grid;place-items:center;font-weight:800}.member-main{display:flex;flex-direction:column;min-width:0}.member-main strong{font-size:14px}.member-main span{font-size:12px;color:var(--muted)}.progress{grid-column:1/-1;height:5px;background:#eceae4;border-radius:99px;margin-top:12px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);border-radius:99px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.commitment{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #efede8}.commitment.complete strong{text-decoration:line-through;color:#96938b}.commitment small{display:block;color:var(--muted);font-size:11px}.check{border:1px solid #c9c6bd;background:#fff;border-radius:6px;width:25px;height:25px;cursor:pointer;color:#fff}.complete .check{background:var(--accent);border-color:var(--accent)}
.add-form,.task-form,.inline-form{display:flex;gap:8px;margin-top:16px}.add-form input,.task-form input,.task-form select,.inline-form input{min-width:0;flex:1}
input,textarea,select{font:inherit;border:1px solid #d8d5cd;background:#fff;border-radius:9px;padding:10px 12px;color:var(--text);outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:#84978d;box-shadow:0 0 0 3px #e8eee9}
label{display:block;font-size:13px;font-weight:650;margin-bottom:14px}label input,label textarea,label select{display:block;margin-top:6px;font-weight:400}
.button{border:1px solid #d3d0c8;background:#fff;padding:10px 14px;border-radius:9px;cursor:pointer;font-weight:700;white-space:nowrap}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button:hover{filter:brightness(.97)}
.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.column{background:#f7f6f2;border-radius:12px;padding:12px;min-height:180px}.column-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#85827a;margin:4px 3px 10px}.task{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px;margin-bottom:9px}.task strong{font-size:14px}.task p{font-size:12px;color:var(--muted);margin:5px 0}.task-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#77746d;margin-top:10px}.task-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.mini-button{border:1px solid var(--line);background:#faf9f6;border-radius:7px;padding:5px 7px;font-size:10px;cursor:pointer}.task-form{border-top:1px solid var(--line);padding-top:16px}
.checkin{padding:12px 0;border-bottom:1px solid #efede8}.checkin strong{font-size:13px}.checkin p{font-size:13px;margin:5px 0;color:#57554f}.text-link{font-size:13px;color:var(--accent);font-weight:700}.activity{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid #efede8;font-size:13px}.activity-dot{width:7px;height:7px;border-radius:50%;background:#91a498;margin-top:7px;flex:none}.activity small{display:block;color:#97948c;font-size:11px;margin-top:2px}
.auth-card,.empty-state{width:min(440px,100%);margin:9vh auto;padding:34px}.auth-card h1,.empty-state h1{font-size:34px;letter-spacing:-.05em;margin:5px 0}.stack-form{margin-top:24px}.alert{background:#f8e8e5;color:#7d3e35;border:1px solid #e8c8c1;border-radius:9px;padding:10px 12px;margin:15px 0;font-size:13px}.success{color:#355d4b;font-size:13px}.table-row{display:grid;grid-template-columns:1.5fr 1fr .6fr;padding:11px 0;border-bottom:1px solid #efede8;font-size:13px}.table-row span{color:var(--muted)}
@media(max-width:850px){.member-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.topbar{padding:0 4vw}.topbar nav{gap:10px}.topbar nav>a:not(:last-child){display:none}}
@media(max-width:620px){.container{padding-top:25px}.page-head{display:block}.group-switcher{margin-top:18px}.member-grid{grid-template-columns:1fr}.kanban{grid-template-columns:1fr}.add-form,.task-form,.inline-form{flex-wrap:wrap}.topbar{height:auto;padding:15px 4vw}.topbar nav{font-size:12px}.user-pill{display:none}.page-head h1{font-size:29px}}

.drop-zone{min-height:120px;border-radius:9px;padding:2px;transition:background .15s,border-color .15s}
.drop-zone.is-drag-over{background:#e8eee9;outline:2px dashed #91a498;outline-offset:-2px}
.task{position:relative;cursor:grab}
.task:active{cursor:grabbing}
.task.is-dragging{opacity:.45}
.task.is-moving{opacity:.55}
.task-drag-handle{position:absolute;right:10px;top:9px;color:#aaa;font-size:15px;line-height:1;user-select:none}
.group-admin-row{grid-template-columns:1.5fr 1fr auto;align-items:center;gap:12px}
.group-admin-row small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.danger-button{color:var(--danger);border-color:#e6c8c3;background:#fff}


/* V7 task, avatar and admin UI */
.task{padding-left:17px;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}
.task.is-dragging{box-shadow:0 12px 28px rgba(30,30,20,.12);opacity:.55}
.task.is-moving{opacity:.65;transform:scale(.985)}
.task-priority{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:11px 0 0 11px}
.priority-low .task-priority{background:#9aa9a0}.priority-normal .task-priority{background:#d0cbc0}.priority-high .task-priority{background:#d39a55}.priority-urgent .task-priority{background:#b85b52}
.drop-zone{transition:background .18s ease,box-shadow .18s ease,min-height .18s ease}
.drop-zone.is-drag-over{background:#e8eee9;box-shadow:inset 0 0 0 2px #91a498}
.task-actions{align-items:flex-start}.task-edit{width:100%}.task-edit summary{display:inline-block;list-style:none}.task-edit summary::-webkit-details-marker{display:none}
.edit-task-form{margin-top:9px;padding-top:10px;border-top:1px solid var(--line)}
.edit-task-form label{margin-bottom:9px}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.edit-task-form textarea{resize:vertical}
.task-form{align-items:flex-start}.task-create-main{flex:1;min-width:280px}.task-create-side{width:270px;display:grid;gap:8px}.task-create-main label,.task-create-side label{margin:0}.task-create-main textarea{resize:vertical}.task-create-side .button{width:100%}
.date-quick{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}.date-option{border:1px solid var(--line);background:#faf9f6;border-radius:7px;padding:6px 8px;font-size:11px;cursor:pointer}.date-option.active{background:var(--accent);border-color:var(--accent);color:#fff}.task-due-input{font-size:13px;display:none}.task-due-input.show-custom{display:block}
.profile-preview{margin-bottom:18px}.profile-preview img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-large{width:72px;height:72px;font-size:24px}.field-help{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.admin-user-list{margin-top:15px}.admin-user-row{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #efede8;align-items:center}.admin-user-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:center}.role-label{font-size:11px;color:var(--muted)}
@media(max-width:700px){.task-create-side{width:100%}.edit-grid{grid-template-columns:1fr}.admin-user-form{grid-template-columns:1fr 1fr}.role-label{display:none}}
