:root{--bg:#f7f8fb;--panel:#fff;--text:#1f2937;--muted:#6b7280;--border:#d8dee8;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#b91c1c;--shadow:0 12px 30px #0f172a14;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}#root{min-height:100vh}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--border);background:var(--panel);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;padding:32px}.auth-panel h1,.page-panel h1{margin:0 0 24px;font-size:28px;line-height:1.2}.stack{gap:16px;display:grid}label{color:var(--muted);gap:6px;font-size:14px;font-weight:600;display:grid}input{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:6px;padding:9px 11px}select{border:1px solid var(--border);min-height:42px;color:var(--text);font:inherit;background:#fff;border-radius:6px;padding:9px 11px}input:focus{border-color:var(--primary);outline:3px solid #2563eb29}.primary-button,.top-nav button,.link-button{border:1px solid #0000;border-radius:6px;min-height:38px;padding:8px 12px}.primary-button{color:#fff;background:var(--primary)}.primary-button:hover:not(:disabled){background:var(--primary-hover)}.link-button{width:100%;color:var(--primary);background:0 0;margin-top:16px}.link-button:hover{background:#2563eb14}.error-message{color:var(--danger);margin:0;font-size:14px}.app-shell{min-height:100vh}.top-nav{border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 24px;display:flex}.brand-button{color:var(--text);background:0 0;font-weight:700}.nav-actions{align-items:center;gap:8px;display:flex}.nav-actions button{color:var(--text);border-color:var(--border);background:#f3f5f9}.nav-actions button:hover,.brand-button:hover{background:#e9edf5}.nav-user{max-width:220px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-main{width:min(1080px,100%);margin:0 auto;padding:32px 24px}.page-panel{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;padding:28px}.page-panel p{color:var(--muted);margin:0}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header h1{margin-bottom:6px}.task-board,.life-areas-page{gap:20px;display:grid}.life-area-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.life-area-card{border:1px solid var(--border);background:#fff;border-radius:8px;gap:12px;padding:16px;display:grid}.life-area-main{align-items:center;gap:14px;display:flex}.sortable-card{touch-action:manipulation;cursor:grab}.sortable-card.dragging{opacity:.72;cursor:grabbing;z-index:2;box-shadow:0 12px 24px #0f172a24}.sortable-card button,.sortable-card input,.sortable-card select,.sortable-card textarea,.sortable-card a,.sortable-card [role=button],.sortable-card [data-no-drag]{cursor:auto}.sortable-card .drag-handle{cursor:grab}.drag-handle{border:1px solid var(--border);width:40px;min-width:40px;min-height:40px;color:var(--muted);cursor:grab;background:#fff;border-radius:6px;padding:0;font-size:18px;font-weight:800;line-height:1}.drag-handle:active{cursor:grabbing}.drag-handle:disabled{cursor:not-allowed;opacity:.55}.life-area-main h2{margin:0 0 4px;font-size:18px}.life-area-main p{font-size:14px}.life-area-actions{flex-wrap:wrap;gap:8px;display:flex}.life-area-actions button,.page-header>button{border:1px solid var(--border);min-height:36px;color:var(--text);background:#f8fafc;border-radius:6px;padding:7px 10px}.life-area-actions button:hover,.page-header>button:hover{background:#eef2f7}.life-area-actions .danger-button{color:var(--danger);background:#b91c1c0f;border-color:#b91c1c40}.target-form{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(100px,140px) minmax(100px,140px) auto auto auto;align-items:end;gap:10px;padding:12px;display:grid}.target-form button{border:1px solid var(--border);min-height:36px;color:var(--text);background:#fff;border-radius:6px;padding:7px 10px}.target-form .primary-button{color:#fff;border-color:var(--primary);background:var(--primary)}.target-form .error-message{grid-column:1/-1}.toolbar{grid-template-columns:minmax(220px,320px) 1fr;align-items:end;gap:16px;display:grid}.field-inline{gap:6px;display:grid}.inline-form{grid-template-columns:minmax(180px,1fr) auto;align-items:start;gap:10px;display:grid}.inline-form .error-message{grid-column:1/-1}.task-create-form{grid-template-columns:minmax(180px,1fr) minmax(130px,180px) auto}.selected-context{border:1px solid var(--border);background:#f8fafc;border-radius:6px;align-items:center;gap:8px;width:fit-content;padding:8px 10px;display:inline-flex}.selected-context span{color:var(--muted);font-size:13px}.status-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-bottom:10px;display:flex}.status-tabs button{border:1px solid var(--border);min-height:38px;color:var(--text);background:#f8fafc;border-radius:6px;padding:8px 12px}.status-tabs button.active,.status-tabs button[aria-selected=true]{color:#fff;border-color:var(--primary);background:var(--primary)}.empty-state,.loading-state{border:1px dashed var(--border);background:#f8fafc;border-radius:8px;gap:16px;padding:28px;display:grid}.loading-state{color:var(--muted)}.task-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.task-card{border:1px solid var(--border);background:#fff;border-radius:8px;gap:12px;padding:14px 16px;display:grid}.task-card-main{justify-content:flex-start;align-items:flex-start;gap:12px;display:flex}.task-card-content{text-align:left;flex:auto;min-width:0}.task-card-main .priority-badge{margin-left:auto}.task-card h3{margin:0 0 4px;font-size:16px}.task-card p{font-size:14px}.priority-badge{min-width:42px;color:var(--muted);text-align:center;background:#eef2f7;border-radius:999px;flex:none;padding:5px 8px}.milestone-pill{width:fit-content;min-height:24px;color:var(--muted);background:#eef2f7;border-radius:999px;align-items:center;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.milestone-smallwin{color:#166534;background:#dcfce7}.milestone-major{color:#7c2d12;background:#ffedd5}.task-actions,.task-action-form{flex-wrap:wrap;gap:8px;display:flex}.task-actions button,.task-action-form button{border:1px solid var(--border);min-height:36px;color:var(--text);background:#f8fafc;border-radius:6px;padding:7px 10px}.task-actions button:hover,.task-action-form button:hover{background:#eef2f7}.task-action-form input,.task-action-form select{width:min(240px,100%);min-height:36px}.task-action-form .primary-button{color:#fff;border-color:var(--primary);background:var(--primary)}.task-actions .danger-button{color:var(--danger);background:#b91c1c0f;border-color:#b91c1c40}.summary-page,.summary-results{gap:20px;display:grid}.summary-period-form{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(120px,160px) minmax(120px,160px) auto;align-items:end;gap:12px;padding:16px;display:grid}.summary-period-form .status-tabs{border-bottom:0;align-self:end;padding-bottom:0}.summary-period-form .error-message{grid-column:1/-1}.summary-section{border:1px solid var(--border);background:#fff;border-radius:8px;gap:12px;padding:18px;display:grid}.summary-section h2{margin:0;font-size:18px}.summary-life-area-list,.summary-task-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.summary-task-list li{border:1px solid var(--border);background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.summary-life-area-list{gap:12px}.summary-life-area-card{border:1px solid var(--border);background:#f8fafc;border-radius:8px;gap:8px;padding:12px;display:grid}.summary-life-area-card.NearTarget{background:#fefce8;border-color:#facc15}.summary-life-area-card.TargetReached{background:#dcfce7;border-color:#4ade80}.summary-life-area-row{width:100%;min-height:36px;color:var(--text);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:0;display:flex}.summary-life-area-title{font-weight:700}.summary-life-area-metrics{color:var(--muted);text-align:right;gap:3px;display:grid}.summary-life-area-metrics strong{color:var(--text)}.summary-milestone-badges{flex-wrap:wrap;gap:8px;display:flex}.summary-milestone-badge{border:1px solid var(--border);min-height:28px;color:var(--text);background:#fff;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:13px;font-weight:700;display:inline-flex}.summary-task-time-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.summary-task-time-list li{background:#fff;border-radius:6px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;display:grid}.status-pill{min-width:82px;color:var(--muted);text-align:center;background:#eef2f7;border-radius:999px;padding:4px 8px;font-size:13px;font-weight:700}.summary-task-list h3{margin:0 0 4px;font-size:16px}.summary-task-meta{color:var(--muted);text-align:right;gap:4px;font-size:14px;display:grid}@media (width<=720px){.top-nav{flex-direction:column;align-items:stretch}.nav-actions{flex-wrap:wrap}.nav-user{width:100%;max-width:none}.toolbar,.inline-form,.task-create-form{grid-template-columns:1fr}.life-area-main,.task-card-main,.task-actions,.task-action-form,.life-area-actions{flex-direction:column;align-items:stretch}.task-action-form input,.task-action-form select{width:100%}.summary-period-form,.target-form{grid-template-columns:1fr}.summary-life-area-row,.summary-task-list li{flex-direction:column;align-items:flex-start}.summary-life-area-metrics{text-align:left}.summary-task-time-list li{grid-template-columns:1fr}.summary-task-meta{text-align:left}}
