#tasksView,#taskDetailView{width:100%;max-width:680px;margin-inline:auto}
body.app-mode.tasks-mode #portalBackBtn{display:flex;width:min(100%,680px);margin-inline:auto}
.tasks-toolbar{display:flex;align-items:center;gap:12px;margin:8px 0 20px}
.tasks-status{display:flex;gap:6px;padding:5px;background:#fff;border:1px solid #ece9df;border-radius:18px;flex:1}
.tasks-status button{flex:1;border:0;border-radius:13px;background:transparent;padding:11px 8px;color:#70737c;font:inherit;font-size:14px;font-weight:650;cursor:pointer}
.tasks-status button.active{background:#fff0b1;color:#77520c}
.task-filter-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #ece9df;border-radius:14px;background:#fff;color:#766b50;cursor:pointer}
.task-filter-toggle.active{background:#fff0b1}
.task-filter-toggle svg{width:22px;height:22px}
.tasks-filter-panel{display:flex;gap:8px;align-items:center;margin:-8px 0 20px}
.tasks-filter-panel select{flex:1;min-width:0;width:100%;padding:11px;border:1px solid #e4dfd1;border-radius:12px;background:white;color:#272b33;font-size:16px}
.tasks-filter-panel button{background:none;border:0;color:#98721b;font:inherit;font-size:13px;cursor:pointer}
.tasks-group{display:grid;gap:10px;margin:0 0 22px}
.tasks-group h3{display:flex;align-items:center;gap:9px;margin:0 2px 1px;font-size:16px;color:#535966}
.tasks-group h3 span{font-size:12px;font-weight:500;color:#898e97}
.portal-row[data-kind="tasks"]{border-color:#e5e6e8;border-radius:18px;box-shadow:0 3px 12px #11182704}
.portal-row[data-kind="tasks"] .portal-card-menu{flex:0 0 44px;width:44px;min-height:44px;font-size:16px;color:#81796a}
.task-card{--list-accent:#c99a26;position:relative;display:flex;align-items:stretch;gap:0;background:#fff;border:1px solid #e5e6e8;border-left:4px solid var(--list-accent);border-radius:18px;min-height:94px;padding:0 0 0 6px;min-width:0}
.portal-row-content>.task-card{flex:1;border:0;border-left:4px solid var(--list-accent);border-radius:0;box-shadow:none;margin:0}
.task-card[data-task-group="overdue"]{--list-accent:#ce7674}
.task-card[data-task-group="upcoming"]{--list-accent:#59a5c5}
.task-card[data-task-group="completed"]{--list-accent:#70aa6b}
.task-card[data-task-group="undated"]{--list-accent:#aaa69c}
.task-check-target{flex:0 0 44px;display:grid;place-items:center;min-width:44px;min-height:44px;cursor:pointer;margin:0}
.task-check{flex:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;margin:0;border:1.8px solid #c8bd9d;border-radius:8px;background:#fff;cursor:pointer;display:grid;place-items:center}
.task-check:checked{background:#edf6eb;border-color:#70aa6b}
.task-check:checked:after{content:'✓';font-size:18px;font-weight:750;color:#477841}
.task-check:disabled{opacity:.55}
.task-check:focus-visible,.task-card-open:focus-visible{outline:2px solid #a57818;outline-offset:-2px;border-radius:8px}
.task-card-open{display:grid;grid-template-columns:minmax(0,1fr) 12px;align-items:center;gap:10px;min-width:0;flex:1;text-align:left;padding:12px 3px 12px 6px;border:0;background:none;font:inherit;cursor:pointer;color:inherit}
.task-list-copy{display:grid;gap:4px;min-width:0}
.task-card-open strong{font-size:16px;font-weight:750;line-height:1.3;overflow-wrap:anywhere}
.task-context{font-size:12px;font-weight:550;color:#707681;line-height:1.35;overflow-wrap:anywhere}
.task-due{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.35;color:#777e88}
.task-due svg{width:14px;height:14px;flex:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.task-due.overdue,#taskDetailDue.overdue{color:#b24d4a}
.task-list-chevron{font-size:26px;line-height:1;color:#7a7e84;font-weight:400}
.task-completed .task-card-open strong{color:#727780}
.tasks-empty{display:grid;gap:15px;text-align:center;padding:45px 22px;background:#fff;border:1px solid #ece9df;border-radius:24px;color:#6e7480}
.tasks-empty strong{font-size:18px;color:#333943}.tasks-empty p{margin:0;font-size:14px}
.tasks-feedback{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff6d9;border-radius:14px;padding:13px 16px;margin-bottom:18px;font-size:14px;color:#71561a}
.tasks-feedback button{border:0;background:none;font:inherit;font-weight:700;color:#8d6816;cursor:pointer}
.task-detail-card{padding:24px;background:#fffdf7;border:1px solid #e9e4d7;border-radius:25px;box-shadow:0 8px 25px #171e2a06}
.task-detail-card h2{font-size:29px;line-height:1.25;margin:17px 0;overflow-wrap:anywhere}
.task-detail-card .task-context{font-size:14px}
.task-detail-meta{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#7b808a;font-size:14px;padding-bottom:20px;border-bottom:1px solid #eee8db}
.task-detail-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:22px 0 26px}
.task-detail-actions{display:grid;gap:12px}.task-detail-actions .btn{width:100%}
.task-form .task-date-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.task-form input,.task-form select,.task-form textarea{min-width:0;max-width:100%;font-size:16px}
.task-form textarea{min-height:120px}.task-form .form-actions{display:flex;gap:10px;justify-content:flex-end}
.task-form .form-actions .btn{min-width:0;flex:1}
.task-error{color:#b44242;line-height:1.45;font-size:14px;overflow-wrap:anywhere}
.task-origin{color:#8d7951;font-size:12px;line-height:1.4}
.task-detail-card .task-origin{margin-top:8px}
@media(max-width:360px){.task-form .task-date-fields{grid-template-columns:minmax(0,1fr)}.task-detail-card{padding:20px}.task-card{padding-left:2px}.task-card-open strong{font-size:16px}}
