.personal-widget { display:flex; flex:1; flex-direction:column; gap:12px; min-width:0; min-height:0; height:100%; }
.personal-header { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:20px; }
.personal-title { margin:0; color:#f2f2f3; font-size:14px; font-weight:600; letter-spacing:-.02em; }
.personal-meta { color:#a5a6ac; font-size:12px; white-space:nowrap; }
.personal-header-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
.personal-form { display:flex; gap:8px; flex-shrink:0; }
.dashboard-page .personal-input { flex:1; width:100%; min-width:0; min-height:38px; margin:0; padding:8px 12px; border:1px solid transparent; border-radius:6px; outline:none; background:rgb(255 255 255 / .045); color:#f2f2f3; font:inherit; }
.personal-input::placeholder { color:#85868d; }
.dashboard-page .personal-input:focus-visible { border-color:rgb(155 174 197 / .4); box-shadow:0 0 0 2px rgb(155 174 197 / .14); }
.dashboard-page .personal-primary { min-width:38px; min-height:38px; border-radius:12px; padding:8px 12px; color:#17181b; background:#dfe0e3; }
.dashboard-page .personal-primary:hover:not(:disabled) { color:#17181b; background:#f0f0f2; }
.personal-tabs { display:flex; gap:8px; flex-shrink:0; }
.dashboard-page .personal-tabs button { flex:1; min-width:0; min-height:34px; padding:6px 2px; border-radius:0; border-bottom:2px solid transparent; font-size:13px; }
.dashboard-page .personal-tabs button[aria-pressed=true] { color:#f2f2f3; border-bottom-color:#9baec5; }
.personal-scroll { flex:1; min-height:0; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#414249 transparent; }
.personal-empty { margin:0; padding-top:8px; color:#a5a6ac; font-size:13px; }
.personal-pinned-label { margin:0 0 4px; color:#a5a6ac; font-size:12px; }
.personal-task-divider { height:1px; margin:6px 6px; background:rgb(255 255 255 / .08); }
.personal-task { display:flex; align-items:center; gap:8px; min-width:0; padding:3px 6px; border-radius:6px; }
.personal-task:hover { background:rgb(255 255 255 / .03); }
.dashboard-page .personal-task-toggle { display:flex; flex:1; align-items:center; gap:10px; min-width:0; min-height:32px; padding:2px 0; color:#f2f2f3; font-size:13px; text-align:left; }
.dashboard-page .personal-task-toggle:hover:not(:disabled) { background:transparent; }
.personal-task-text { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.is-done .personal-task-text { color:#85868d; text-decoration:line-through; }
.personal-checkbox { display:grid; place-items:center; width:16px; height:16px; flex-shrink:0; border:1px solid rgb(255 255 255 / .25); border-radius:4px; }
.is-done .personal-checkbox { color:#17181b; border-color:#9baec5; background:#9baec5; }
.dashboard-page .personal-checkbox svg { width:12px; height:12px; stroke-width:2.5; }
.personal-row-actions { display:flex; gap:2px; flex-shrink:0; opacity:.5; }
.personal-task:hover .personal-row-actions,.personal-task:focus-within .personal-row-actions { opacity:1; }
.dashboard-page .personal-small-button { display:grid; place-items:center; flex-shrink:0; width:24px; height:28px; min-height:28px; padding:5px; border-radius:5px; }
.dashboard-page .personal-small-button svg { width:14px; height:14px; }
.dashboard-page .personal-add-habit { width:28px; }
.personal-days-header,.personal-habit { display:flex; align-items:center; gap:8px; min-width:0; }
.personal-days-header>span:first-child { flex:1; }
.personal-days { display:flex; flex-shrink:0; gap:4px; }
.personal-days-header .personal-days span { width:24px; color:#85868d; font-size:11px; text-align:center; }
.personal-days-header .personal-days span:last-child { color:#f2f2f3; }
.personal-delete-space { width:24px; }
.personal-habit { margin-bottom:12px; min-height:28px; }
.personal-habit-name { display:flex; flex:1; align-items:center; gap:6px; min-width:0; font-size:13px; }
.personal-habit-name>span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.personal-streak { flex-shrink:0; color:#a5a6ac; font-size:11px; }
.dashboard-page .personal-day { width:24px; height:24px; min-height:24px; padding:0; border:1px solid transparent; border-radius:6px; background:rgb(255 255 255 / .055); transition:background .15s,transform .15s; }
.dashboard-page .personal-day.is-today { border-color:rgb(155 174 197 / .54); background:rgb(155 174 197 / .15); }
.dashboard-page .personal-day.is-marked { background:#9baec5; }
.dashboard-page .personal-day:hover:not(:disabled) { background:rgb(155 174 197 / .35); }
.dashboard-page .personal-day.is-marked:hover:not(:disabled) { background:#bac7d7; }
.dashboard-page .personal-day:active:not(:disabled) { transform:scale(.93); }
.personal-habit-delete { opacity:.5; }
.personal-habit:hover .personal-habit-delete,.personal-habit:focus-within .personal-habit-delete { opacity:1; }
.personal-error { display:flex; align-items:flex-start; flex-wrap:wrap; gap:4px 8px; color:#e08070; font-size:12px; }
.dashboard-page .personal-error button { min-height:24px; padding:0; color:#d3d4d8; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.is-stacked .personal-title { display:none; }
@media(max-width:639px) { .dashboard-page .personal-input { font-size:16px; } .personal-habit-name { gap:4px; } }
@media(max-width:359px) { .personal-days { gap:2px; } .dashboard-page .personal-day,.personal-days-header .personal-days span { width:22px; } .personal-habit,.personal-days-header { gap:5px; } .personal-streak { display:none; } }
@media(prefers-reduced-motion:reduce) { .dashboard-page .personal-day { transition:none; } }

@keyframes ui-fade-in-fast { from { opacity: 0; } to { opacity: 1; } }
.personal-task, .personal-habit { animation: ui-fade-in-fast .2s ease-out both; }
.personal-form, .personal-error { animation: ui-fade-in-fast .2s ease-out both; }
@media (prefers-reduced-motion: reduce) { .personal-task, .personal-habit, .personal-form, .personal-error { animation: none; } }
