:root{--bg-primary: #F9F8F4;--bg-secondary: #F9F8F4;--bg-surface: #FFFFFF;--text-primary: #2D2D2D;--text-secondary: #6E6E6E;--text-tertiary: #9E9E9E;--border-color: rgba(0, 0, 0, .06);--accent-hover: #EBEAE6;--accent-active: #E0DFDB;--action-text: #2D2D2D;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--spacing-unit: 16px}:root.dark{--bg-primary: #1A1A1A;--bg-secondary: #1A1A1A;--bg-surface: #242424;--text-primary: #EAEAEA;--text-secondary: #A0A0A0;--text-tertiary: #757575;--border-color: rgba(255, 255, 255, .08);--accent-hover: #2A2A2A;--accent-active: #333333;--action-text: #EAEAEA}body{margin:0;font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;line-height:1.5}button{font-family:var(--font-family)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.login-container{height:100vh;width:100vw;display:flex;justify-content:center;align-items:center;background-color:var(--bg-primary)}.login-form-wrapper{width:100%;max-width:400px;padding:0 24px;display:flex;flex-direction:column}.login-title{font-size:24px;font-size:28px;font-weight:500;color:var(--text-primary);text-align:center;margin-bottom:56px;padding:0}.login-form{display:flex;flex-direction:column;width:100%}.input-group{margin-bottom:32px;display:flex;flex-direction:column}.input-group label{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.input-group input{height:48px;padding:12px 16px;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:16px;color:var(--text-primary);background-color:var(--bg-surface);transition:border-color .2s,background-color .2s;outline:none}.input-group input{border-color:var(--border-color, rgba(0, 0, 0, .1));background-color:#00000005}.input-group input:focus{background-color:#0000000d;border-color:var(--text-secondary)}.login-error-message{font-size:14px;color:#b91c1c;margin-top:-16px;margin-bottom:24px;margin-left:2px}.dark .login-error-message{color:#fda4af}.action-group{margin-top:8px;margin-bottom:24px}.btn-primary{width:100%;height:48px;background-color:var(--text-primary);color:var(--bg-primary);border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.secondary-action{text-align:center}.btn-link{background:none;border:none;font-size:14px;color:var(--text-secondary);cursor:pointer;padding:8px;transition:color .2s,opacity .2s;opacity:.7}.btn-link:hover{opacity:1;text-decoration:underline}.dark .input-group input{background-color:#ffffff0d;border-color:#ffffff1a}.dark .input-group input:focus{background-color:#ffffff14;border-color:#fff3}.app-header{height:64px;width:100%;position:fixed;top:0;left:0;right:0;z-index:100;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 40px;box-sizing:border-box;transition:background-color .3s ease}.header-left{display:flex;align-items:center}.page-title{font-size:20px;font-weight:500;color:var(--text-primary);letter-spacing:-.02em}.header-right{display:flex;align-items:center;gap:24px}.header-nav{display:flex;gap:24px}.nav-link{text-decoration:none;color:var(--text-secondary);font-size:14px;font-weight:400;transition:color .2s}.nav-link.active{color:var(--text-primary);font-weight:500}.theme-toggle{background:none;border:none;padding:8px;color:var(--text-secondary);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s}.theme-toggle:hover{background-color:var(--accent-hover);color:var(--text-primary)}.action-group{display:flex;gap:16px;margin-left:16px;padding-left:16px;border-left:1px solid var(--border-color)}.text-action{background:none;border:none;font-size:13px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .2s,background-color .2s}.text-action:hover{color:var(--text-primary);background-color:var(--accent-hover)}.page-container{max-width:720px;margin:0 auto;padding:120px 24px 80px}.page-loader,.loader-text{text-align:center;padding-top:100px;color:var(--text-tertiary);font-size:14px}.empty-container{text-align:center;margin-top:80px}.empty-message{font-size:16px;color:var(--text-secondary);margin-bottom:8px}.empty-submessage{font-size:14px;color:var(--text-tertiary)}.btn-text-link{background:none;border:none;color:var(--text-primary);text-decoration:underline;cursor:pointer;font-size:14px;margin-top:16px}.error-text,.error-banner{color:var(--text-secondary);font-size:13px;margin-top:8px;opacity:.8}.task-list{display:flex;flex-direction:column;gap:48px}.task-group{display:flex;flex-direction:column}.group-completed{opacity:.5}.task-row{display:flex;align-items:flex-start;padding:24px 0;border-bottom:0px solid transparent;cursor:pointer;transition:background-color .2s,transform .2s;border-radius:8px;position:relative}.task-row:hover{background-color:var(--accent-hover);padding-left:16px;padding-right:16px;margin-left:-16px;margin-right:-16px}.task-row.is-now{background-color:var(--bg-surface);box-shadow:0 4px 20px #00000008;padding:32px 24px;margin-left:-24px;margin-right:-24px;margin-bottom:24px;border-radius:12px}.dark .task-row.is-now{background-color:#252525;box-shadow:0 4px 20px #0003}.row-time{width:80px;flex-shrink:0;display:flex;flex-direction:column;color:var(--text-secondary);font-size:13px;line-height:1.5;margin-top:2px}.time-end{color:var(--text-tertiary);font-size:12px}.row-content{flex-grow:1;display:flex;flex-direction:column;justify-content:center;padding-right:16px}.task-title{font-size:16px;color:var(--text-primary);font-weight:500;line-height:1.4;margin-bottom:4px}.task-meta{font-size:12px;color:var(--text-tertiary)}.row-action{width:80px;flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;opacity:0;transform:translate(-4px);transition:opacity .2s ease,transform .2s ease}.task-row:hover .row-action,.task-row.is-now .row-action{opacity:1;transform:translate(0)}.action-link{font-size:14px;font-weight:500;color:var(--action-text);position:relative;padding-bottom:2px;border-bottom:1px solid transparent}.action-link:hover{border-bottom-color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:var(--bg-primary);padding:32px;border-radius:12px;width:100%;max-width:420px;box-shadow:0 10px 40px #0000001a}.modal-content h2{margin-top:0;font-size:20px;font-weight:500;margin-bottom:24px;color:var(--text-primary)}.modal-content label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;margin-top:16px}.modal-content input{width:100%;padding:12px;background:var(--bg-secondary);border:1px solid transparent;border-radius:6px;color:var(--text-primary);font-family:inherit;box-sizing:border-box}.modal-content input:focus{outline:none;background:var(--bg-surface);box-shadow:0 0 0 2px var(--border-color)}.modal-actions{margin-top:32px;display:flex;justify-content:flex-end;gap:16px}.modal-actions button{background:none;border:none;cursor:pointer;font-size:14px;font-weight:500}.modal-actions button[type=button]{color:var(--text-secondary)}.modal-actions button[type=submit]{color:var(--text-primary)}@media(max-width:600px){.page-container{padding-left:16px;padding-right:16px}.app-header{padding:0 16px}.header-right{gap:16px}.row-time{width:60px;font-size:12px}}.focus-container{height:100vh;width:100vw;background-color:var(--bg-primary);display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;transition:background-color .4s ease}.focus-theme-toggle-wrapper{position:absolute;top:24px;right:24px;opacity:0;transition:opacity .3s ease}.focus-container:hover .focus-theme-toggle-wrapper{opacity:1}.focus-theme-toggle-wrapper{opacity:.2}.focus-theme-toggle-wrapper:hover{opacity:1}.focus-theme-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px}.focus-content{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:70vh;width:100%;max-width:600px}.focus-task-title{font-size:24px;color:var(--text-primary);opacity:.9;font-weight:400;text-align:center;line-height:1.4;margin-top:5vh;padding:0 24px}.focus-timer{font-family:Courier New,Courier,monospace;font-variant-numeric:tabular-nums;font-size:80px;font-weight:300;color:var(--text-primary);opacity:.95;letter-spacing:-2px;margin:auto 0}@media(max-width:600px){.focus-timer{font-size:56px}.focus-task-title{font-size:20px}}.focus-actions{margin-bottom:10vh}.btn-finish{background:none;border:none;font-size:16px;color:var(--text-primary);opacity:.8;cursor:pointer;padding:12px 24px;transition:opacity .2s,transform .1s}.btn-finish:hover{opacity:1;text-decoration:none;transform:scale(1.05)}.dark .focus-timer{color:#fff;opacity:.95}.dark .focus-task-title{color:#eaeaea;opacity:.85}.review-container{max-width:640px;margin:0 auto;padding:100px 24px 80px}.review-loading,.review-error,.review-empty{text-align:center;padding-top:120px;color:var(--text-secondary);font-size:14px}.review-error{color:#ef4444}.review-date-header{text-align:center;font-size:24px;font-weight:500;color:var(--text-primary);margin-bottom:80px}.day-summary-section{max-width:520px;margin:0 auto 120px;display:flex;flex-direction:column;gap:48px;align-items:center}.summary-metric{display:flex;flex-direction:column;align-items:center;text-align:center}.metric-label{font-size:12px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.metric-value{font-size:32px;font-weight:400;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.2}.task-breakdown-section{max-width:640px;margin:0 auto}.section-header{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:40px}.task-list{display:flex;flex-direction:column;gap:40px}.review-task-row{display:flex;justify-content:space-between;align-items:baseline}.review-task-title{font-size:16px;color:var(--text-primary);font-weight:400;max-width:60%;line-height:1.5}.review-task-stats{text-align:right}.stat-line{font-size:13px;color:var(--text-tertiary);white-space:nowrap}.review-empty-state{text-align:center;color:var(--text-tertiary);font-size:14px;padding:40px 0}.dark .metric-value{opacity:.95}@media(max-width:600px){.review-container{padding-top:80px;padding-left:20px;padding-right:20px}.review-date-header{font-size:20px;margin-bottom:60px}.day-summary-section{margin-bottom:80px;gap:32px}.metric-value{font-size:28px}.review-task-row{flex-direction:column;gap:8px}.review-task-title{max-width:100%}.review-task-stats{text-align:left}}.profile-container{max-width:520px;margin:0 auto;padding:100px 24px 80px}.profile-content{display:flex;flex-direction:column}.profile-section{margin-bottom:80px}.info-group{margin-bottom:40px}.info-group:last-child{margin-bottom:0}.info-label{font-size:13px;font-weight:500;color:var(--text-tertiary);margin-bottom:8px}.info-value{font-size:19px;font-weight:400;color:var(--text-primary);line-height:1.4;word-break:break-all}.section-label{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:32px}.service-row{display:flex;flex-direction:column;gap:4px}.service-name{font-size:19px;color:var(--text-primary);font-weight:400}.service-status{font-size:13px;color:var(--text-tertiary)}.profile-actions{margin-top:20px}.btn-logout{background:none;border:none;padding:10px 0;font-size:16px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .2s;position:relative}.btn-logout:hover{color:var(--text-primary);text-decoration:underline}.dark .info-value{opacity:.95}
