*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}img{max-width:100%;height:auto}button{background:none;border:none;cursor:pointer;font:inherit}input{font:inherit}a{text-decoration:none;color:inherit}::selection{background:#667eea33}.lang-switcher{display:flex;gap:4px;padding:2px;background:var(--color-bg-hover);border-radius:var(--radius-lg)}.lang-btn{padding:4px 10px;font-size:.8rem;border-radius:var(--radius-md);color:var(--color-text-medium);transition:all var(--duration-normal)}.lang-btn:hover{color:var(--color-text-primary)}.lang-btn-active{background:var(--color-bg-card);color:var(--color-primary);font-weight:600;box-shadow:0 1px 3px #0000001a}.ui-card{background:var(--color-bg-card);border-radius:12px;box-shadow:0 2px 4px #0000000d;transition:transform var(--duration-normal),box-shadow var(--duration-normal);overflow:hidden;border:1px solid var(--color-border)}.ui-card-header{padding:clamp(10px,2vw,20px) clamp(10px,3vw,24px) clamp(6px,1.5vw,12px);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.ui-card-title{margin:0;font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:600;color:var(--color-text-dark);display:flex;align-items:center;gap:var(--space-2)}.ui-card-content{padding:0 clamp(10px,3vw,24px) clamp(8px,3vw,24px);color:var(--color-text-light)}.ui-card-footer{padding:var(--space-3) var(--space-6) var(--space-6);display:flex;align-items:center;flex-wrap:wrap;gap:10px}.ui-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:6px;font-weight:500;cursor:pointer;transition:all var(--duration-normal);border:none;outline:none;font-size:.875rem;gap:var(--space-2);white-space:nowrap}.ui-button-primary{background-color:var(--color-primary);color:var(--color-white)}.ui-button-primary:hover{background-color:var(--color-primary-600)}.ui-button-primary:active{background-color:var(--color-primary-active)}.ui-button-secondary{background-color:var(--color-neutral-100);color:var(--color-text-medium)}.ui-button-secondary:hover{background-color:var(--color-border);color:var(--color-text-dark)}.ui-button-secondary:active{background-color:var(--color-secondary-active)}.ui-button-outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-medium)}.ui-button-outline:hover{background-color:var(--color-bg-light);border-color:var(--color-primary-400)}.ui-button-outline:active{background-color:var(--color-outline-active)}.ui-button-ghost{background-color:transparent;color:var(--color-text-medium)}.ui-button-ghost:hover{background-color:var(--color-neutral-100)}.ui-button-ghost:active{background-color:var(--color-ghost-active)}.ui-button-danger{background-color:var(--color-danger);color:var(--color-white)}.ui-button-danger:hover{background-color:var(--color-danger-600)}.ui-button-danger:active{background-color:var(--color-danger-active)}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-button-sm{padding:var(--space-1) var(--space-2);font-size:.75rem}.ui-button-md{padding:var(--space-2) var(--space-4);font-size:.875rem}.ui-button-lg{padding:var(--space-3) var(--space-6);font-size:1rem}.ui-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:9999px;font-size:.75rem;font-weight:600;line-height:1}.ui-badge-success{background-color:var(--color-success-200);color:var(--color-success-700)}.ui-badge-warning{background-color:var(--color-warning-200);color:var(--color-warning-700)}.ui-badge-error{background-color:var(--color-danger-100);color:var(--color-danger-800)}.ui-badge-info{background-color:var(--color-info-200);color:var(--color-info-700)}.ui-badge-neutral{background-color:var(--color-neutral-100);color:var(--color-text-medium)}.ui-input-wrapper{display:flex;flex-direction:column;margin-bottom:16px}.ui-label{margin-bottom:8px;font-size:.875rem;font-weight:500;color:var(--color-text-medium)}.ui-input{width:100%;padding:10px var(--space-3);border:1px solid var(--color-border);border-radius:6px;font-size:1rem;background:var(--color-bg-card);transition:border-color var(--duration-normal),box-shadow var(--duration-normal);outline:none;box-sizing:border-box}.ui-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.ui-input-error{border-color:var(--color-danger)}.ui-input-error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #e53e3e1a}.ui-input-error-message{margin-top:4px;font-size:.75rem;color:var(--color-danger)}.ui-textarea{width:100%;padding:10px var(--space-3);border:1px solid var(--color-border);border-radius:6px;font-size:1rem;background:var(--color-bg-card);transition:border-color var(--duration-normal),box-shadow var(--duration-normal);outline:none;box-sizing:border-box;min-height:80px;resize:vertical;font-family:inherit}.ui-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.ui-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-modal-container{background:var(--color-bg-card);border-radius:12px;box-shadow:0 10px 25px #0000001a;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;animation:modalFadeIn var(--duration-normal) ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ui-modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.ui-modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-dark)}.ui-modal-close{background:transparent;border:none;cursor:pointer;color:var(--color-text-light);padding:var(--space-1);border-radius:4px;transition:all var(--duration-normal);display:flex;align-items:center;justify-content:center}.ui-modal-close:hover{background-color:var(--color-neutral-100);color:var(--color-text-medium)}.ui-modal-content{padding:var(--space-6);overflow-y:auto;color:var(--color-text-medium);line-height:1.6}.ui-modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-3);background-color:var(--color-bg-light);border-bottom-left-radius:12px;border-bottom-right-radius:12px}.ui-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px var(--space-3);border-radius:20px;font-size:.9rem;white-space:nowrap;transition:all var(--duration-normal)}.ui-toggle-btn.toggled{color:var(--color-success);background-color:var(--color-success-bg)}.toggle-switch{position:relative;width:44px;height:24px;background:var(--color-neutral-300);border-radius:12px;cursor:pointer;transition:background var(--duration-normal);flex-shrink:0}.toggle-switch.active{background:var(--color-primary)}.toggle-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform var(--duration-normal);box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-slider{transform:translate(20px)}.search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-light);padding:var(--space-1);display:flex;align-items:center;border-radius:4px;z-index:1}.search-clear-btn:hover{background:var(--color-bg-hover);color:var(--color-text-medium)}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}.auth-card{width:100%;max-width:400px}.error-message{background:var(--color-danger-light);color:var(--color-danger-dark);padding:12px;border-radius:var(--radius-lg);margin-bottom:20px;text-align:center;font-size:14px}.switch-auth-link{margin-top:24px;text-align:center;font-size:.95rem;color:var(--color-text-light);display:flex;align-items:center;justify-content:center;gap:6px}.switch-auth-link a{color:var(--color-primary);font-weight:600;text-decoration:none;transition:all var(--duration-normal) ease}.switch-auth-link a:hover{color:var(--color-primary-active-border);text-decoration:underline}@media(max-width:480px){.auth-card{padding:0}}.schedule-container{height:100%;display:flex;flex-direction:column;max-width:var(--container-max-width);margin:0 auto}.schedule-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:clamp(4px,1.5vw,10px);color:var(--color-text-dark)}@media(max-width:640px){.schedule-header:not(.today-header){flex-direction:column;align-items:stretch}.schedule-header:not(.today-header) .header-right:not(.header-right-desktop){width:100%;display:flex;justify-content:space-between;align-items:center;gap:clamp(4px,1.5vw,8px);margin-top:8px}}.header-left{display:flex;align-items:center;gap:clamp(8px,2vw,20px);flex-wrap:wrap}.week-badge{font-size:.85rem;color:var(--color-text-primary);background:var(--color-neutral-100);padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.today-week-badge{display:none}.header-right{display:flex;align-items:center;gap:clamp(6px,2vw,20px);flex-wrap:wrap}.current-time{font-size:1.5rem;font-weight:700;color:var(--color-log-payload-link);font-family:monospace}.add-task-form{display:flex;flex-direction:column;gap:var(--space-4)}.task-type-selector{display:flex;gap:10px;margin-bottom:10px}.time-inputs{display:flex;gap:var(--space-4)}.time-inputs>.input-wrapper{flex:1}.timeline-view-wrapper{flex:1;overflow:hidden;padding:0 clamp(8px,3vw,24px) clamp(8px,3vw,24px)}.timeline-view{height:100%;overflow-y:auto;padding-right:clamp(4px,1.5vw,10px)}.timeline-item{margin-bottom:8px;position:relative}.time-column{display:none}.content-column{flex:1;min-width:0;position:relative}.task-card-layout{display:flex;flex-direction:row;gap:var(--space-3);align-items:flex-start}.task-card-layout.has-actions .task-card-body{flex:1;min-width:0}.task-header{margin-bottom:8px}.task-header h3{margin:0;font-size:clamp(.9rem,1.8vw,1.1rem);width:100%;overflow:hidden;text-overflow:ellipsis}.task-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex-shrink:0}.task-actions .ui-button{min-width:80px;justify-content:center}@media(max-width:768px){.task-actions .ui-button{min-width:unset}}@media(max-width:480px){.task-actions .ui-button{padding:6px var(--space-2);font-size:.8rem}.task-header h3{font-size:1rem}}.task-footer{margin-top:12px;display:flex;gap:var(--space-2);justify-content:flex-end;align-items:center;flex-wrap:wrap}@media(max-width:480px){.task-footer{justify-content:flex-end;gap:6px}.task-footer .ui-button{padding:6px var(--space-2);font-size:.8rem}}.task-actions .icon-completed,.task-actions .icon-pending{flex-shrink:0;width:clamp(18px,4vw,24px);height:clamp(18px,4vw,24px)}.task-desc{color:var(--color-neutral-600);font-size:.9rem;margin-bottom:10px;line-height:1.4}.task-card{background:var(--color-neutral-100);padding:15px;border-radius:var(--radius-lg);border-left:4px solid transparent;transition:none;display:flex;flex-direction:column}.status-active .task-card{border-left-color:var(--color-timeline-dot-active);background:var(--color-task-card-active-bg)}.status-completed .task-card{border-left-color:var(--color-timeline-dot-completed);opacity:.7}.status-overdue .task-card{border-left-color:var(--color-timeline-dot-overdue)}.status-upcoming .task-card{border-left-color:var(--color-task-card-upcoming-border)}.ios-card{display:flex;align-items:flex-start;gap:0;padding:14px var(--space-4);border-radius:var(--radius-xl);background:var(--color-neutral-50);cursor:pointer;transition:background var(--duration-fast) ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ios-card:active{background:#eef0f4}[data-theme=dark] .ios-card:active{background:var(--color-neutral-100)}.ios-card-left{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:40px;align-self:stretch}.ios-card-time,.ios-card-time-end{font-size:.85rem;font-weight:600;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.ios-card-divider{width:1.5px;align-self:stretch;margin:var(--space-1) var(--space-3);background:repeating-linear-gradient(to bottom,var(--color-neutral-200) 0px,var(--color-neutral-200) 4px,transparent 4px,transparent 8px);flex-shrink:0}.ios-card-divider.divider-colored{width:2.5px}.ios-card-right{flex:1;min-width:0;padding-top:1px}.ios-card-title{font-size:.92rem;font-weight:600;color:var(--color-text-primary);margin:0 0 3px;line-height:1.35}.ios-card-desc{font-size:.8rem;color:var(--color-text-tertiary);margin:0 0 var(--space-1);line-height:1.4;word-break:break-word}.ios-card-location{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;color:#aaa}.ios-card-actions{display:flex;align-items:center;flex-shrink:0;align-self:center;margin-left:8px}.task-meta{display:flex;gap:15px;font-size:.85rem;color:#888;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:var(--space-1);min-width:0}.view-controls{display:flex;gap:10px}.date-navigation{display:flex;align-items:center;gap:15px}.calendar-bottom-bar{display:none;justify-content:space-between;align-items:center;padding:10px var(--space-6) var(--space-4);gap:10px;flex-wrap:wrap}@media(max-width:768px){.header-right-desktop{display:none}.calendar-bottom-bar{display:flex}}.current-date-label{font-size:1.1rem;font-weight:700;min-width:100px;text-align:center;color:var(--color-text-dark)}.calendar-view-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 var(--space-6) var(--space-6)}.calendar-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:700;padding:10px 0;border-bottom:1px solid var(--color-timeline-line);background:var(--color-neutral-100)}.calendar-body{flex:1;display:flex;flex-direction:column;overflow-y:auto}.calendar-row{display:grid;grid-template-columns:repeat(7,1fr);flex:1 0 auto;min-height:100px}.calendar-day{border-right:1px solid var(--color-timeline-line);border-bottom:1px solid var(--color-timeline-line);padding:var(--space-2);position:relative;transition:background var(--duration-normal)}.calendar-day:hover{background:var(--color-neutral-50)}.calendar-day.disabled{background:var(--color-neutral-100);color:var(--color-neutral-400)}.calendar-day.today{background:var(--color-task-card-active-bg)}.day-number{font-weight:700;font-size:.9rem;margin-bottom:4px;display:block}.today .day-number{color:var(--color-log-payload-link)}.day-tasks{display:flex;flex-direction:column;gap:2px}.mini-task{font-size:.75rem;padding:2px var(--space-1);background:var(--color-mini-task-bg);color:var(--color-mini-task-text);border-radius:var(--radius-sm);white-space:normal;word-break:break-word;line-height:1.2;display:flex;align-items:flex-start;gap:var(--space-1)}.mini-task.importance-high{background-color:var(--color-danger-100);border-left:3px solid var(--color-danger-500);color:var(--color-danger-800)}.mini-task.importance-normal{background-color:var(--color-info-100);border-left:3px solid var(--color-info-500);color:var(--color-info-800)}.mini-task.importance-low{background-color:var(--color-success-100);border-left:3px solid var(--color-success-500);color:var(--color-success-800)}.mini-task.task-completed{background-color:var(--color-success-100);border-left-color:var(--color-success-500);color:var(--color-success-800);opacity:.8;text-decoration:line-through}.task-info{display:flex;flex-wrap:wrap;gap:var(--space-1);flex:1;min-width:0}.task-name{word-break:break-word}.task-time{font-size:.7rem;color:currentColor;opacity:.9;font-weight:700;white-space:nowrap}.task-dot{width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0;margin-top:4px}.more-tasks{font-size:.7rem;color:var(--color-neutral-600);text-align:center;margin-top:2px}.loading-overlay{display:flex;justify-content:center;align-items:center;height:100%;color:var(--color-neutral-600)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);color:var(--color-neutral-500);gap:var(--space-4)}.loading-state{text-align:center;padding:var(--space-10);color:var(--color-neutral-600)}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.day-view-container{position:relative;height:1440px;background:var(--color-bg-light);margin-top:20px;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.time-slot{position:absolute;left:0;right:0;border-top:1px solid var(--color-border-light);display:flex;align-items:flex-start}.time-slot:first-child{border-top:none}.time-label{width:60px;text-align:right;padding-right:10px;color:var(--color-text-light);font-size:.8rem;transform:translateY(-50%);background:var(--color-bg-light)}.time-grid-line{flex:1;height:1px;background:transparent}.absolute-task{position:absolute;left:70px;right:10px;background:var(--color-primary-light);border-left:4px solid var(--color-primary);border-radius:4px;padding:var(--space-1) var(--space-2);overflow:hidden;cursor:pointer;transition:all var(--duration-normal);z-index:10;box-shadow:0 2px 4px #0000001a}.absolute-task:hover{z-index:20;box-shadow:0 4px 8px #00000026}.absolute-task.completed{opacity:.6;background:var(--color-bg-secondary);border-left-color:var(--color-text-light)}.absolute-task-content{font-size:.85rem;font-weight:500;color:var(--color-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.absolute-task-time{font-size:.75rem;color:var(--color-text-medium)}.current-time-line{position:absolute;left:clamp(38px,8vw,60px);right:0;height:2px;background:var(--color-danger-500);z-index:30;pointer-events:none}.current-time-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--color-danger-500)}.timeline-current-time-indicator{display:none}.time-line-left{width:clamp(38px,8vw,60px);text-align:right;padding-right:clamp(8px,2vw,15px);overflow:hidden;flex-shrink:0}.current-time-label{color:var(--color-danger-500);font-weight:700;font-size:clamp(.65rem,1.4vw,.9rem);background:var(--color-bg-card);padding:2px clamp(2px,.5vw,6px);border-radius:var(--radius-sm);border:1px solid var(--color-danger-500);white-space:nowrap}.time-line-divider{flex:1;height:2px;background:var(--color-danger-500);position:relative}.time-line-divider:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--color-danger-500)}.active-task-indicator-line{display:none}.active-time-dot{position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--color-danger-500);box-shadow:0 0 0 2px var(--color-bg-card)}.week-view-current-time-marker{position:absolute;left:0;right:0;height:2px;z-index:20;pointer-events:none}.marker-line{width:100%;height:2px;background:var(--color-danger-500)}.marker-dot{position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--color-danger-500)}.week-view-layout{height:100%;display:flex;flex-direction:column;background:var(--color-bg-card)}.week-view-header{display:flex;border-bottom:2px solid var(--color-border);background:var(--color-bg-light);position:sticky;top:0;z-index:var(--z-dropdown)}.time-axis-header{width:60px;flex-shrink:0;border-right:1px solid var(--color-border)}.week-header-day{flex:1;text-align:center;padding:var(--space-3) var(--space-2);border-right:1px solid var(--color-border);transition:background var(--duration-normal)}.week-header-day:last-child{border-right:none}.week-header-day.today{background:var(--color-warning-100)}.week-day-name{font-weight:600;font-size:.85rem;color:var(--color-text-medium);margin-bottom:4px}.week-day-date{font-size:1.2rem;font-weight:700;color:var(--color-text-dark)}.week-header-day.today .week-day-date{color:var(--color-warning-600)}.week-view-body{flex:1;display:flex;overflow-y:auto;position:relative}.time-axis{width:60px;flex-shrink:0;position:sticky;left:0;z-index:40;background:var(--color-bg-light);border-right:1px solid var(--color-border)}.time-axis .time-label{position:absolute;width:100%;height:60px;display:flex;align-items:flex-start;justify-content:flex-end;padding-right:8px;padding-top:2px}.time-axis .time-label span{font-size:.75rem;color:var(--color-text-light);transform:translateY(-50%);background:var(--color-bg-light);padding:2px var(--space-1)}.week-grid{flex:1;position:relative;display:flex;min-height:1440px}.grid-line-horizontal{position:absolute;left:0;right:0;height:1px;border-top:1px solid var(--color-border-light);pointer-events:none;z-index:1}.day-column{flex:1;position:relative;border-right:1px solid var(--color-border-light)}.day-column:last-child{border-right:none}.day-column.today-column{background:var(--color-warning-50)}.day-column .absolute-task{position:absolute;left:2px;right:2px;border-radius:4px;padding:5px 6px;cursor:pointer;z-index:10;box-shadow:0 1px 3px #0000001a;transition:all var(--duration-normal);border-left-width:3px;display:flex;flex-direction:column;min-height:28px;box-sizing:border-box}.day-column .absolute-task.compact-task{padding:var(--space-1) 5px;justify-content:center;align-items:flex-start}.day-column .absolute-task:hover{z-index:20;box-shadow:0 2px 8px #00000026;transform:scale(1.02)}.day-column .absolute-task .task-content-wrapper{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;width:100%}.day-column .absolute-task .task-name{font-size:.75rem;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;word-break:break-word}.day-column .absolute-task.compact-task .task-name{font-size:.7rem;line-height:1.3;-webkit-line-clamp:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-height:18px}.day-column .absolute-task .task-description{font-size:.7rem;opacity:.75;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;flex:1;min-height:0;word-break:break-word;margin-top:2px}.day-column .absolute-task .task-time-label{font-size:.65rem;opacity:.8;font-weight:600;margin-top:2px;flex-shrink:0}.day-column .absolute-task.compact-task .task-description,.day-column .absolute-task.compact-task .task-time-label{display:none}.current-time-marker-line{position:absolute;left:0;right:0;height:2px;background:var(--color-danger-500);z-index:30;pointer-events:none}.current-time-marker-line .marker-dot{position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--color-danger-500);box-shadow:0 0 0 2px var(--color-bg-card)}@media(max-width:768px){.date-subtitle,.current-date-label{display:none}.header-left{width:100%;justify-content:space-between}.header-right{width:100%;justify-content:flex-end}.today-header .header-left,.today-header .header-right{width:auto}.schedule-header .add-schedule-btn{padding:var(--space-1) var(--space-2);font-size:.75rem}.schedule-header .add-schedule-btn svg{width:16px;height:16px}.calendar-view-wrapper{padding:0 var(--space-2) var(--space-2)}.calendar-view{overflow-y:auto;overflow-x:hidden;min-height:0}.calendar-day{padding:2px}.mini-task{font-size:.65rem;padding:1px 2px;border-left-width:0!important}.mini-task .task-dot{display:none}.time-axis-header,.time-axis{width:40px}.week-badge{display:none}.view-controls .filter-group{padding:2px}.view-controls .filter-btn{padding:var(--space-1) var(--space-2);font-size:.78rem;border-radius:var(--radius-md)}.view-controls .filter-btn svg{width:14px;height:14px}.today-week-badge{display:inline-block;margin-left:3px;font-size:.7rem;color:var(--color-neutral-700)}@media(max-width:480px){.today-header{padding:var(--space-3) var(--space-3) var(--space-2)!important}.today-header .ui-card-title{font-size:1rem}.today-header .header-right{gap:clamp(4px,1.5vw,8px);flex-shrink:0}.today-header .header-left{gap:6px;flex:1 1 auto;min-width:0}.week-badge{font-size:.7rem;padding:3px 6px}.today-header .ui-button-sm{padding:var(--space-1) 6px}}.time-axis .time-label{padding-right:4px}.date-navigation{margin-right:auto;margin-left:0}.time-axis .time-label span{font-size:.65rem;padding:1px 2px}@media(max-width:480px){.time-axis-header,.time-axis,.time-column,.time-line-left{display:none}.timeline-item:before{display:none}.content-column{padding-left:0}.content-column:before{display:none}.timeline-current-time-indicator{padding-left:0}.time-line-divider{margin-left:0}}}.task-detail-content{padding:10px 0}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:var(--space-4)}.task-title{margin:0;font-size:1.5rem;color:var(--color-text-primary);line-height:1.3}.task-title.completed{text-decoration:line-through;color:var(--color-text-medium)}.status-btn{display:flex;align-items:center;gap:6px;padding:6px var(--space-3);border-radius:var(--radius-2xl);font-size:.9rem;white-space:nowrap}.status-btn.completed{color:var(--color-success);background-color:var(--color-success-bg)}.detail-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:12px;color:var(--color-text-secondary);font-size:1rem}.detail-icon{color:var(--color-text-medium);flex-shrink:0}.detail-description{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border);color:var(--color-text-secondary);line-height:1.6}.edit-mode{display:flex;flex-direction:column;gap:var(--space-4)}.error-banner{background-color:var(--color-danger-50);color:var(--color-danger-600);padding:10px;border-radius:var(--radius-md);margin-bottom:16px;font-size:.9rem;border:1px solid var(--color-danger-200)}.search-controls{display:flex;gap:var(--space-4);margin-bottom:24px;align-items:center}@media(max-width:640px){.search-controls{flex-direction:column;align-items:stretch}}.search-input-container{position:relative;flex:1}.search-input-container .ui-input-wrapper{margin-bottom:0}.search-input-container .ui-input{padding-left:40px;height:42px;transition:all var(--duration-normal);box-shadow:none}.search-input-container .ui-input:focus{box-shadow:0 0 0 2px #4686e533}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-light);z-index:1;pointer-events:none}.filter-group{display:flex;position:relative;background-color:var(--color-bg-light);padding:clamp(2px,.5vw,4px);border-radius:clamp(6px,1vw,8px);border:1px solid var(--color-border)}.filter-group-slider{position:absolute;top:2px;bottom:2px;left:2px;background-color:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:0 1px 3px #0000001a;transition:transform var(--duration-slow) cubic-bezier(.25,.1,.25,1);z-index:0}.filter-btn{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:clamp(3px,.8vw,6px) clamp(8px,2vw,16px);border-radius:clamp(4px,.8vw,6px);font-size:clamp(.7rem,1.5vw,.875rem);font-weight:500;color:var(--color-text-medium);background:transparent;border:none;cursor:pointer;transition:color var(--duration-normal) ease;flex:1;text-align:center;white-space:nowrap;min-width:0}.filter-btn:hover{color:var(--color-text-dark)}.filter-btn.active{color:var(--color-primary);font-weight:600}.task-item{padding:var(--space-4);border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;align-items:flex-start;gap:var(--space-4);transition:background-color var(--duration-normal);border-left:4px solid transparent}.task-item:hover{background-color:var(--color-bg-light)}.task-item:last-child{border-bottom:none}.task-item.importance-high{background-color:var(--color-danger-50);border-left-color:var(--color-danger-500)}.task-item.importance-high:hover{background-color:var(--color-danger-100)}.task-item.importance-normal{background-color:var(--color-info-50);border-left-color:var(--color-info-500)}.task-item.importance-normal:hover{background-color:var(--color-info-100)}.task-item.importance-low{background-color:var(--color-success-50);border-left-color:var(--color-success-500)}.task-item.importance-low:hover{background-color:var(--color-success-100)}.task-item.completed{opacity:.7;background-color:var(--color-bg-light);border-left-color:var(--color-text-light)}.task-item.completed .task-name{text-decoration:line-through;color:var(--color-text-light)}.search-container .search-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.search-container .task-list{flex:1;overflow-y:auto;padding-right:4px}.schedule-content{flex:1;display:flex;flex-direction:column;min-height:0}.ui-card-content.schedule-content{padding-left:0;padding-right:0}.schedule-slide>.timeline-view,.schedule-slide>.quadrant-view-wrapper{width:50%;flex-shrink:0;box-sizing:border-box;padding-left:clamp(10px,3vw,24px);padding-right:clamp(10px,3vw,24px);overflow-y:auto}.schedule-slide{flex:1;display:flex;width:200%;overflow:hidden;min-height:0;transition:transform var(--duration-slow) cubic-bezier(.25,.1,.25,1)}.schedule-slide.slide-to-quadrant{transform:translate(-50%)}.ios-fab{position:fixed;bottom:24px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:var(--color-bg-card);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-normal) ease;z-index:var(--z-dropdown)}.ios-fab:active{transform:scale(.92)}.ios-tab-bar{position:relative;display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:#f8f9fbd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;box-shadow:0 2px 16px #00000014;z-index:100}.ios-tab-bar--floating{position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.ios-tab-bar-slider{position:absolute;top:4px;bottom:4px;left:4px;background:var(--color-bg-card);border-radius:16px;box-shadow:0 1px 4px #00000014;transition:transform var(--duration-slow) cubic-bezier(.25,.1,.25,1);z-index:0}.ios-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:var(--space-2) 18px;border-radius:16px;font-size:.85rem;font-weight:500;color:var(--color-neutral-500);background:transparent;border:none;cursor:pointer;transition:color var(--duration-normal) ease;white-space:nowrap;position:relative;z-index:1;flex:1}.ios-tab-active{color:var(--color-primary)}.bottomsheet-sidebar{border-right:1px solid var(--color-border);background:var(--color-bg-card);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.bottomsheet-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px var(--space-4);border-bottom:1px solid var(--color-border)}.bottomsheet-sidebar-body{flex:1;overflow-y:auto}.bottomsheet-overlay{position:fixed;inset:0;background:#00000059;z-index:var(--z-modal-backdrop);display:flex;align-items:flex-end;animation:bottomsheet-fade-in var(--duration-normal) ease}@keyframes bottomsheet-fade-in{0%{opacity:0}to{opacity:1}}.bottomsheet-panel{width:100%;max-height:70vh;background:var(--color-bg-card);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;display:flex;flex-direction:column;overflow:hidden;animation:bottomsheet-slide-up var(--duration-slow) ease;box-shadow:0 -4px 20px #0000001f}@keyframes bottomsheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottomsheet-handle{width:36px;height:4px;background:var(--color-neutral-300);border-radius:2px;margin:10px auto;flex-shrink:0}.bottomsheet-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-5) 14px}.bottomsheet-title{font-size:.95rem;font-weight:600;color:var(--color-text-dark)}.bottomsheet-close-btn{background:none;border:none;cursor:pointer;color:var(--color-text-light);padding:var(--space-1);display:flex;align-items:center;border-radius:var(--radius-md)}.bottomsheet-close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-medium)}.bottomsheet-body{flex:1;overflow-y:auto;padding:0 var(--space-5) var(--space-5)}.bottomsheet-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.bottomsheet-sidebar-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.quadrant-view-wrapper{flex:1;overflow:hidden;padding:0;min-height:0;display:flex;flex-direction:column}.quadrant-board{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--space-3);flex:1;min-height:0;padding:var(--space-1) 0}.quadrant-panel{background:var(--qd-bg-panel);border:1px solid var(--qd-border-panel);padding:14px;display:flex;flex-direction:column;overflow:hidden}.quadrant-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:2px dashed var(--qd-border-dashed)}.quadrant-panel-label{font-size:.9rem;font-weight:700;color:var(--qd-text-heading);letter-spacing:.02em}.quadrant-panel-hint{font-size:.7rem;color:var(--qd-text-muted);margin-top:1px}.quadrant-panel-count{font-size:.75rem;color:var(--qd-text-muted);background:var(--qd-border-panel);border-radius:var(--radius-sm);padding:2px 7px}.quadrant-notes{flex:1;overflow-y:auto;display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--space-2);padding:2px 0}.note{border-radius:2px;padding:10px 11px 9px;width:calc(50% - 4px);min-width:130px;max-width:100%;position:relative;cursor:pointer;transition:transform var(--duration-fast),box-shadow var(--duration-fast);box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014;background:var(--qd-bg-note-default)}.note:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026,0 1px 3px #0000001a}.note:before{content:"";position:absolute;top:-3px;left:50%;transform:translate(-50%);width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--qd-pin-light),var(--qd-pin-dark));box-shadow:0 1px 3px #0003;z-index:1}.quadrant-panel.q1 .note{background:var(--qd-bg-note-q1)}.quadrant-panel.q2 .note{background:var(--qd-bg-note-q2)}.quadrant-panel.q3 .note{background:var(--qd-bg-note-q3)}.quadrant-panel.q4 .note{background:var(--qd-bg-note-q4)}.note.completed{opacity:.55;filter:grayscale(.3)}.note.completed .note-name{text-decoration:line-through}.note-time{font-size:.68rem;color:var(--qd-text-time);display:block;margin-bottom:3px;font-weight:500;font-family:SF Mono,Consolas,Monaco,monospace}.note-name{font-size:.82rem;color:var(--qd-text-content);line-height:1.35;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-desc{font-size:.7rem;color:var(--qd-text-muted);margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.note-action{position:absolute;top:6px;right:6px;opacity:0;transition:opacity var(--duration-fast)}.note:hover .note-action{opacity:1}.quadrant-notes-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--qd-empty-text);font-size:.8rem}.quadrant-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--qd-text-muted);font-size:.9rem;gap:var(--space-2)}.quadrant-panel.q1{border-left:3px solid var(--qd-border-accent-q1)}.quadrant-panel.q2{border-left:3px solid var(--qd-border-accent-q2)}.quadrant-panel.q3{border-left:3px solid var(--qd-border-accent-q3)}.quadrant-panel.q4{border-left:3px solid var(--qd-border-accent-q4)}@media(max-width:640px){.quadrant-board--mobile{display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.quadrant-tabs{display:flex;gap:0;flex-shrink:0;border-bottom:2px solid var(--qd-border-panel)}.quadrant-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-1) 6px;border:none;background:#faf8f5;cursor:pointer;transition:background var(--duration-fast);position:relative;font-family:inherit}.quadrant-tab:not(:last-child){border-right:1px solid var(--qd-border-panel)}.quadrant-tab.active{background:#fff}.quadrant-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:currentColor}.quadrant-tab.q1{color:var(--qd-border-accent-q1)}.quadrant-tab.q1.active:after{background:var(--qd-border-accent-q1)}.quadrant-tab.q2{color:var(--qd-border-accent-q2)}.quadrant-tab.q2.active:after{background:var(--qd-border-accent-q2)}.quadrant-tab.q3{color:var(--qd-border-accent-q3)}.quadrant-tab.q3.active:after{background:var(--qd-border-accent-q3)}.quadrant-tab.q4{color:var(--qd-border-accent-q4)}.quadrant-tab.q4.active:after{background:var(--qd-border-accent-q4)}.quadrant-tab-label{font-size:.7rem;font-weight:700;letter-spacing:.03em}.quadrant-tab-hint{font-size:.6rem;opacity:.7;line-height:1;white-space:nowrap}.quadrant-tab-count{font-size:.65rem;font-weight:600;background:var(--qd-border-panel);color:#6b6560;border-radius:var(--radius-sm);padding:1px 6px;min-width:16px;text-align:center}.quadrant-panel-header--mobile{flex-shrink:0;padding:10px 14px 6px;margin-bottom:0;border-bottom:1px dashed var(--qd-border-dashed)}.quadrant-board--mobile .quadrant-panel{flex:1;min-height:0;max-height:none;border-left:3px solid transparent;border-top:none;overflow:hidden}.quadrant-board--mobile .quadrant-panel.q1{border-left-color:var(--qd-border-accent-q1)}.quadrant-board--mobile .quadrant-panel.q2{border-left-color:var(--qd-border-accent-q2)}.quadrant-board--mobile .quadrant-panel.q3{border-left-color:var(--qd-border-accent-q3)}.quadrant-board--mobile .quadrant-panel.q4{border-left-color:var(--qd-border-accent-q4)}}@media(max-width:400px){.note{width:100%}}.pivot-container{display:flex;flex-direction:column;flex:1;min-height:0;gap:var(--space-3)}.pivot-week-nav{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.pivot-week-label{font-size:.9rem;font-weight:600;color:var(--color-text);min-width:180px;text-align:center}.pivot-table-wrapper{flex:1;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.pivot-table{width:100%;border-collapse:collapse;font-size:.82rem;table-layout:fixed;min-width:760px}.pivot-corner-cell{width:80px;text-align:center;font-weight:600;font-size:.72rem;color:var(--color-text-medium);background:var(--color-bg-subtle, var(--color-neutral-50));padding:10px var(--space-2);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:2}.pivot-col-header{text-align:center;padding:var(--space-2) 6px 6px;border-bottom:2px solid var(--color-border);background:var(--color-bg-subtle, var(--color-neutral-50));position:sticky;top:0;z-index:2}.pivot-col-header .pivot-col-label{display:block;font-weight:700;font-size:.8rem}.pivot-col-header .pivot-col-hint{display:block;font-size:.62rem;color:var(--color-text-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.pivot-col-header.q1{border-top:3px solid var(--qd-border-accent-q1)}.pivot-col-header.q2{border-top:3px solid var(--qd-border-accent-q2)}.pivot-col-header.q3{border-top:3px solid var(--qd-border-accent-q3)}.pivot-col-header.q4{border-top:3px solid var(--qd-border-accent-q4)}.pivot-col-header.pivot-col-total{border-top:3px solid var(--color-text-medium)}.pivot-row{transition:background var(--duration-fast)}.pivot-row:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .02))}.pivot-row-today{background:#4f46e50a}.pivot-row-today:hover{background:#4f46e512}.pivot-row-summary{background:var(--color-bg-subtle, var(--color-neutral-50));font-weight:600;border-top:2px solid var(--color-border)}.pivot-row-header{text-align:center;padding:10px 6px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);position:sticky;left:0;background:inherit;z-index:1}.pivot-day-name{display:block;font-weight:600;font-size:.78rem;color:var(--color-text)}.pivot-day-date{display:block;font-size:.68rem;color:var(--color-text-medium);margin-top:1px}.pivot-row-today .pivot-day-name{color:var(--color-primary)}.pivot-cell{vertical-align:top;padding:6px var(--space-1);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:60px;transition:background var(--duration-fast)}.pivot-cell.has-tasks{min-width:0}.pivot-cell-empty{display:flex;align-items:center;justify-content:center;color:var(--color-text-light, var(--color-neutral-400));font-size:.75rem;min-height:40px}.pivot-cell-summary,.pivot-cell-total{text-align:center;vertical-align:middle!important}.pivot-cell-tasks{display:flex;flex-direction:column;gap:3px;max-height:120px;overflow-y:auto}.pivot-task-chip{display:flex;align-items:center;gap:var(--space-1);padding:3px 6px;border-radius:var(--radius-sm);cursor:pointer;font-size:.72rem;transition:background .12s,transform .1s;white-space:nowrap;overflow:hidden}.pivot-task-chip:hover{transform:translateY(-1px);box-shadow:0 1px 3px #0000001a}.pivot-cell.q1 .pivot-task-chip{background:#e573731f}.pivot-cell.q2 .pivot-task-chip{background:#64b5f61f}.pivot-cell.q3 .pivot-task-chip{background:#ffb74d1f}.pivot-cell.q4 .pivot-task-chip{background:#81c7841f}.pivot-cell.q1 .pivot-task-chip:hover{background:#e5737338}.pivot-cell.q2 .pivot-task-chip:hover{background:#64b5f638}.pivot-cell.q3 .pivot-task-chip:hover{background:#ffb74d38}.pivot-cell.q4 .pivot-task-chip:hover{background:#81c78438}.pivot-task-chip.completed{opacity:.5;text-decoration:line-through}.pivot-task-time{font-size:.65rem;font-weight:500;color:var(--color-text-medium);font-family:SF Mono,Consolas,Monaco,monospace;flex-shrink:0}.pivot-task-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pivot-total-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 6px;border-radius:11px;font-size:.75rem;font-weight:700;background:var(--color-neutral-100, var(--qd-border-panel));color:var(--color-text)}.pivot-row-summary .pivot-total-badge{background:var(--color-primary);color:#fff}.pivot-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-10) 0;color:var(--color-text-light, var(--qd-empty-text));font-size:.85rem}@media(max-width:640px){.pivot-table-wrapper{border-radius:var(--radius-sm)}.pivot-corner-cell{width:56px;font-size:.68rem;padding:var(--space-2) var(--space-1)}.pivot-col-header{padding:6px 3px var(--space-1)}.pivot-col-header .pivot-col-label{font-size:.7rem}.pivot-col-header .pivot-col-hint{display:none}.pivot-row-header{padding:var(--space-2) var(--space-1)}.pivot-day-name{font-size:.7rem}.pivot-day-date{font-size:.62rem}.pivot-cell-tasks{max-height:80px}.pivot-task-chip{font-size:.68rem;padding:2px var(--space-1)}.pivot-week-label{font-size:.82rem;min-width:auto;flex:1}}.current-time-display{font-family:Microsoft YaHei,sans-serif;font-size:1.7rem;font-weight:900;color:var(--color-neutral-500);min-width:80px;text-align:right;letter-spacing:.5px}@media(max-width:768px){.current-time-display{display:none}}.log-viewer-container{height:100%;display:flex;flex-direction:column;max-width:var(--container-max-width);margin:0 auto}.log-header{display:flex;justify-content:space-between;align-items:center}.log-content-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.logs-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding-right:4px}.log-item{display:flex;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-neutral-100);border-left:3px solid transparent;transition:background var(--duration-normal)}.log-item:hover{background:var(--color-neutral-200)}.log-icon{display:flex;align-items:flex-start;padding-top:2px}.log-content{flex:1;min-width:0}.log-message{font-weight:500;color:var(--color-neutral-700);margin-bottom:4px;word-break:break-word;white-space:pre-wrap}.log-meta{display:flex;gap:var(--space-3);font-size:.8rem;color:var(--color-neutral-600);align-items:center}.log-time{display:flex;align-items:center;gap:var(--space-1)}.log-payload{margin-top:8px;font-size:.85rem}.log-payload summary{cursor:pointer;color:var(--color-log-payload-link);-webkit-user-select:none;user-select:none}.log-payload pre{background:var(--color-log-payload-bg);color:var(--color-log-payload-text);padding:10px;border-radius:var(--radius-sm);overflow-x:auto;margin:var(--space-2) 0 0 0;white-space:pre-wrap;word-break:break-all}.empty-state{text-align:center;padding:var(--space-10);color:var(--color-neutral-500)}.error-banner{background:var(--color-danger-light);color:var(--color-danger);padding:10px;border-radius:var(--radius-sm);margin-bottom:16px}.loading-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);color:var(--color-neutral-600)}.text-red-500{color:var(--color-danger)}.text-green-500{color:var(--color-success)}.text-orange-500{color:var(--color-warning)}.text-blue-500{color:var(--color-info)}.mobile-action-bar{display:none}@media(max-width:768px){.mobile-action-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-dropdown);background:var(--color-bg-card);border-top:1px solid var(--color-border);box-shadow:0 -4px 16px #00000014;padding:var(--space-2) var(--space-3);padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.mobile-action-bar-inner{display:flex;gap:var(--space-2);width:100%;max-width:var(--container-max-width);margin:0 auto;align-items:center}.mobile-action-bar-inner>*{flex:1}.mobile-action-bar-inner>.chat-action-bar{flex:1 1 100%}}.chat-action-bar{display:flex;align-items:center;gap:6px;width:100%}.chat-action-bar .ui-input-wrapper{flex:1;margin-bottom:0}.chat-action-bar .ui-textarea{margin:0}.chat-action-bar-embedded{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg-card)}.action-bar-icon{flex:0 0 auto;width:36px;height:36px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);transition:color var(--duration-fast),background var(--duration-fast)}.action-bar-icon:active{color:var(--color-primary);background:var(--color-bg-hover)}.action-bar-icon.recording{color:var(--color-danger-500);background:#e5393514;animation:pulse-recording 1.5s ease-in-out infinite}@keyframes pulse-recording{0%,to{box-shadow:0 0 #e5393566}50%{box-shadow:0 0 0 6px #e5393500}}.action-bar-input{flex:1;min-height:36px;max-height:36px;height:36px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-bg-light);font-size:.9rem;resize:none;box-sizing:border-box;line-height:1.2;outline:none;transition:border-color var(--duration-fast)}.action-bar-input:focus{border-color:var(--color-primary);background:var(--color-bg-card)}.action-bar-send{flex:0 0 auto;width:36px;height:36px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-white);border:none;transition:background var(--duration-fast),transform var(--duration-fast)}.action-bar-send:active:not(:disabled){transform:scale(.92)}.action-bar-send:disabled{opacity:.4}.ai-chat-mobile{display:flex;flex-direction:column;height:100%;background:var(--color-bg-card)}.ai-chat-mobile .chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-card);flex-shrink:0}.ai-chat-mobile .chat-messages{flex:1;overflow-y:auto;padding:var(--space-4)}.chat-undo-row{display:flex;justify-content:flex-end;padding:0 var(--space-4) var(--space-1)}.ai-chat-mobile .settings-panel{flex-shrink:0;border-bottom:1px solid var(--color-border)}.chat-header-left{display:flex;align-items:center;gap:var(--space-2)}.chat-header-title{font-size:1rem;font-weight:600;color:var(--color-text-dark)}.chat-header-actions{display:flex;gap:var(--space-1);align-items:center}.ai-chat-container .chat-header{display:flex;justify-content:space-between;align-items:center}.settings-panel{padding:var(--space-5);background:var(--color-bg-light);border-bottom:1px solid var(--color-border)}.settings-form{display:grid;gap:var(--space-4)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);transition:opacity var(--duration-normal) ease,transform var(--duration-slow) cubic-bezier(.4,0,.2,1)}.chat-messages.switching{opacity:.45;transform:translateY(8px)}.message{display:flex;gap:var(--space-3);max-width:85%}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.assistant{align-self:flex-start}.message.tool{align-self:center;max-width:90%;font-size:.85rem;width:100%;justify-content:center}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.2rem}.user .avatar{background:var(--color-chat-user-bg);color:var(--color-white)}.assistant .avatar{background:var(--color-success);color:var(--color-white)}.message-content{padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);line-height:1.5;white-space:pre-wrap;font-size:.9rem}.user .message-content{background:var(--color-chat-user-bg);color:var(--color-white);border-bottom-right-radius:var(--radius-sm)}.assistant .message-content{background:var(--color-chat-assistant-bg);color:var(--color-chat-assistant-text);border-bottom-left-radius:var(--radius-sm)}.tool-result-container{background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;overflow:hidden;transition:all var(--duration-normal) ease;margin:4px auto}.tool-result-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);cursor:pointer;background:#00000005;-webkit-user-select:none;user-select:none}.tool-result-header:hover{background:#0000000d}.tool-info{display:flex;align-items:center;gap:var(--space-2);font-size:.85rem;color:var(--color-text-secondary)}.tool-name{font-weight:500;color:var(--color-text-primary)}.tool-toggle{color:var(--color-text-light);display:flex;align-items:center}.tool-result-body{padding:0;border-top:1px solid var(--color-border);background:var(--color-bg-white)}.tool-result-body pre{margin:0;padding:var(--space-3);overflow-x:auto;font-family:Consolas,Monaco,monospace;font-size:.8rem;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.tool-call-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-secondary);background:#0000000d;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);width:fit-content;margin-top:4px}.chat-input-area{padding:var(--space-5);border-top:1px solid var(--color-border)}.input-wrapper{display:flex;gap:var(--space-3);position:relative;align-items:flex-end}.send-btn{height:44px;width:44px;padding:0;flex-shrink:0}.input-wrapper .ui-input-wrapper{flex:1;margin-bottom:0}.loading-dots{display:flex;gap:var(--space-1);padding:var(--space-2)}.dot{width:8px;height:8px;background:var(--color-chat-loading-dot);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.tool-calls-preview{margin-top:8px;display:flex;flex-direction:column;gap:var(--space-1)}.message-content.markdown-body{white-space:normal;overflow-wrap:break-word}.message-content p{margin:0 0 10px}.message-content p:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3,.message-content h4{margin:var(--space-4) 0 var(--space-2) 0;font-weight:600;line-height:1.25}.message-content h1{font-size:1.25em}.message-content h2{font-size:1.15em}.message-content h3{font-size:1.05em}.message-content h4{font-size:1em}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.message-content ul,.message-content ol{margin:0 0 10px;padding-left:20px}.message-content li{margin-bottom:4px}.message-content code{font-family:monospace;padding:2px var(--space-1);border-radius:var(--radius-sm);font-size:.9em}.assistant .message-content code{background-color:#0000000d;color:#d63384}.user .message-content code{background-color:#fff3;color:inherit}.message-content pre{padding:var(--space-3);border-radius:var(--radius-md);overflow-x:auto;margin:10px 0}.assistant .message-content pre{background-color:var(--color-neutral-50);border:1px solid var(--color-neutral-200)}.user .message-content pre{background-color:#0000004d}.message-content pre code{background-color:transparent;padding:0;color:inherit;font-size:.85em}.message-content blockquote{margin:10px 0;padding-left:10px;border-left:4px solid;opacity:.8}.message-content table{border-collapse:collapse;width:100%;margin:10px 0}.message-content th,.message-content td{padding:6px 10px;border:1px solid}.assistant .message-content th,.assistant .message-content td{border-color:var(--color-neutral-200)}.user .message-content th,.user .message-content td{border-color:#ffffff4d}.message-content a{text-decoration:underline}.assistant .message-content a{color:var(--color-primary)}.user .message-content a{color:inherit}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10) var(--space-6);flex:1;gap:var(--space-4)}.chat-welcome-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;color:var(--color-white);margin-bottom:8px}.chat-welcome-title{font-size:1.5rem;font-weight:700;color:var(--color-text-dark);margin:0}.chat-welcome-desc{font-size:.9rem;color:var(--color-text-light);max-width:320px;line-height:1.5;margin:0}.chat-welcome-hints{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:8px}.chat-welcome-hints span{padding:var(--space-2) 14px;border:1px solid var(--color-border);border-radius:var(--radius-2xl);font-size:.82rem;color:var(--color-text-medium);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.chat-welcome-hints span:active{background:var(--color-bg-hover);border-color:var(--color-primary)}.system-notice{text-align:center;font-size:.8rem;color:var(--color-text-light);padding:var(--space-2) var(--space-5);margin:var(--space-1) auto;max-width:85%;background:var(--color-bg-light);border-radius:var(--radius-md);line-height:1.4}.message-image{max-width:100%;max-height:300px;border-radius:var(--radius-lg);margin-bottom:8px;display:block}.chat-context-panel{width:0;min-width:0;overflow:hidden;border-right:none;background:var(--color-bg-card);display:flex;flex-direction:column;opacity:0;transition:width var(--duration-slow) cubic-bezier(.4,0,.2,1),opacity var(--duration-normal) ease,border-color var(--duration-slow) ease;flex-shrink:0}.chat-context-panel.open{width:260px;min-width:260px;opacity:1;border-right:1px solid var(--color-border)}.context-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--color-border);font-size:.9rem;font-weight:600;color:var(--color-text-dark);flex-shrink:0;white-space:nowrap}.context-list{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.context-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-light);font-size:.82rem;white-space:nowrap}.context-item{display:flex;align-items:center;gap:10px;padding:10px var(--space-3);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast);border:1px solid transparent}.context-item:hover{background:var(--color-bg-hover)}.context-item.context-active{background:var(--color-bg-light);border-color:var(--color-primary)}.context-icon{color:var(--color-text-light);flex-shrink:0}.context-info{flex:1;min-width:0}.context-title{font-size:.82rem;font-weight:500;color:var(--color-text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-meta{font-size:.7rem;color:var(--color-text-light);margin-top:1px}.context-delete{background:none;border:none;cursor:pointer;color:var(--color-text-light);padding:var(--space-1);display:flex;align-items:center;border-radius:4px;flex-shrink:0;opacity:0;transition:opacity var(--duration-fast),color var(--duration-fast)}.context-item:hover .context-delete{opacity:1}.context-delete:hover{color:var(--color-danger);background:var(--color-danger-light)}.ai-chat-container{display:flex;overflow:hidden;height:100%}@media(min-width:768px){.ai-chat-container{flex-direction:row}}@media(max-width:767px){.ai-chat-container{flex-direction:column}}.ai-chat-container .chat-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}:root{--color-primary-50: #eef3ff;--color-primary-100: #dce7fd;--color-primary-200: #b9cffb;--color-primary-300: #96b7f9;--color-primary-400: #739ff7;--color-primary-500: #467ee5;--color-primary-600: #3765b7;--color-primary-700: #294c8b;--color-primary-800: #1b325e;--color-primary-900: #0d1931;--color-neutral-50: #f9fafb;--color-neutral-100: #f3f4f6;--color-neutral-200: #e5e7eb;--color-neutral-300: #d1d5db;--color-neutral-400: #9ca3af;--color-neutral-500: #6b7280;--color-neutral-600: #4b5568;--color-neutral-700: #374151;--color-neutral-800: #1f2937;--color-neutral-900: #111827;--color-success-50: #ecfdf5;--color-success-100: #d1fae5;--color-success-200: #a7f3d0;--color-success-300: #6ee7b7;--color-success-400: #34d399;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #047857;--color-success-800: #065f46;--color-success-900: #064e3b;--color-danger-50: #fef2f2;--color-danger-100: #fee2e2;--color-danger-200: #fecaca;--color-danger-300: #fca5a5;--color-danger-400: #f87171;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-700: #b91c1c;--color-danger-800: #991b1b;--color-danger-900: #7f1d1d;--color-warning-50: #fffbeb;--color-warning-100: #fff7ed;--color-warning-200: #ffedd5;--color-warning-300: #fed7aa;--color-warning-400: #fdba74;--color-warning-500: #f97316;--color-warning-600: #ea580c;--color-warning-700: #c2410c;--color-warning-800: #9a3412;--color-warning-900: #7c2d12;--color-info-50: #eff6ff;--color-info-100: #dbeafe;--color-info-200: #bfdbfe;--color-info-300: #93c5fd;--color-info-400: #60a5fa;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-info-700: #1d4ed8;--color-info-800: #1e40af;--color-info-900: #1e3a8a;--color-surface-primary: var(--color-neutral-50);--color-surface-secondary: var(--color-neutral-100);--color-surface-card: #ffffff;--color-surface-overlay: rgba(0, 0, 0, .5);--color-text-secondary: var(--color-neutral-600);--color-text-tertiary: var(--color-neutral-400);--color-text-inverse: #ffffff;--color-border-default: var(--color-neutral-200);--color-border-subtle: var(--color-neutral-100);--color-border-strong: var(--color-neutral-300);--color-brand-primary: var(--color-primary-500);--color-brand-primary-hover: var(--color-primary-600);--color-brand-primary-active: var(--color-primary-700);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .15);--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.15rem;--font-size-2xl: 1.25rem;--font-size-3xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 1000;--z-modal: 1001;--z-tooltip: 1100;--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--container-max-width: 1100px;--settings-max-width: 900px;--color-primary: var(--color-brand-primary);--color-primary-light: var(--color-primary-400);--color-primary-active-border: var(--color-primary-600);--color-text-dark: var(--color-text-primary);--color-text-medium: var(--color-text-secondary);--color-text-light: var(--color-text-tertiary);--color-bg-light: var(--color-surface-primary);--color-bg-hover: var(--color-surface-secondary);--color-bg-card: var(--color-surface-card);--color-border: var(--color-border-default);--color-white: #ffffff;--color-success: var(--color-success-500);--color-danger: var(--color-danger-500);--color-danger-dark: var(--color-danger-600);--color-danger-light: var(--color-danger-100);--color-warning: var(--color-warning-500);--color-info: var(--color-info-500);--color-gradient-start: var(--color-primary-400);--color-gradient-end: var(--color-primary-600);--color-primary-active: var(--color-primary-600);--color-secondary-active: #cbd5e0;--color-outline-active: #e2e8f0;--color-ghost-active: #e2e8f0;--color-danger-active: var(--color-danger-700);--color-log-payload-bg: #2d2d2d;--color-log-payload-text: #e0e0e0;--color-log-payload-link: #0066cc;--color-timeline-line: #eee;--color-timeline-dot: #ddd;--color-timeline-dot-active: #0066cc;--color-timeline-dot-active-shadow: #cce0ff;--color-timeline-dot-completed: #22c55e;--color-timeline-dot-completed-shadow: #bbf7d0;--color-timeline-dot-overdue: #ef4444;--color-timeline-dot-overdue-shadow: #fecaca;--color-task-card-active-bg: #f0f7ff;--color-task-card-upcoming-border: #9ca3af;--color-mini-task-bg: #e0f2fe;--color-mini-task-text: #0369a1;--color-mini-task-time: #0284c7;--color-chat-user-bg: var(--color-info-500);--color-chat-assistant-bg: #f1f5f9;--color-chat-assistant-text: #334155;--color-chat-tool-header: #64748b;--color-chat-tool-output-bg: #1e293b;--color-chat-tool-output-text: #e2e8f0;--color-chat-loading-dot: #cbd5e1;--qd-bg-panel: #f5f3ef;--qd-border-panel: #e8e4dc;--qd-border-dashed: #d4d0c8;--qd-text-heading: #4a4540;--qd-text-muted: #8b8680;--qd-text-content: #3d3730;--qd-text-time: #756b60;--qd-bg-note-default: #fffde7;--qd-bg-note-q1: #fce4e4;--qd-bg-note-q2: #e3f0fc;--qd-bg-note-q3: #fff9c4;--qd-bg-note-q4: #e8f5e9;--qd-border-accent-q1: #e57373;--qd-border-accent-q2: #64b5f6;--qd-border-accent-q3: #ffb74d;--qd-border-accent-q4: #81c784;--qd-empty-text: #b5b0a8;--qd-pin-light: #f0e0d0;--qd-pin-dark: #c0392b;--color-text-primary: var(--color-neutral-800);--color-text-secondary: var( --color-neutral-600 );--color-bg-white: var(--color-surface-card);--color-text: var(--color-neutral-700);--color-bg-subtle: var(--color-neutral-100);--color-success-bg: var(--color-success-100);--color-bg-secondary: var( --color-neutral-100 );--color-border-light: var(--color-neutral-100)}[data-theme=dark]{--color-surface-primary: #0f172a;--color-surface-secondary: #1e293b;--color-surface-card: #1e293b;--color-surface-overlay: rgba(0, 0, 0, .7);--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-tertiary: #64748b;--color-text-inverse: #0f172a;--color-border-default: #334155;--color-border-subtle: #1e293b;--color-border-strong: #475569;--color-brand-primary: #60a5fa;--color-brand-primary-hover: #93bbfd;--color-brand-primary-active: #3b82f6;--color-success-500: #34d399;--color-success-600: #10b981;--color-success-700: #059669;--color-success-800: #047857;--color-danger-500: #f87171;--color-danger-600: #ef4444;--color-danger-700: #dc2626;--color-danger-800: #b91c1c;--color-warning-500: #fbbf24;--color-warning-600: #f59e0b;--color-warning-700: #d97706;--color-warning-800: #b45309;--color-info-500: #60a5fa;--color-info-600: #3b82f6;--color-info-700: #2563eb;--color-info-800: #1d4ed8;--color-log-payload-bg: #1a1a2e;--color-log-payload-text: #cbd5e1;--color-log-payload-link: #60a5fa;--color-chat-user-bg: #3b82f6;--color-chat-assistant-bg: #1e293b;--color-chat-assistant-text: #e2e8f0;--color-chat-tool-output-bg: #0f172a;--color-chat-tool-output-text: #cbd5e1;--color-chat-loading-dot: #475569;--color-task-card-active-bg: #1e293b;--color-task-card-upcoming-border: #64748b;--color-primary-50: #1a2744;--color-primary-100: #1e3056;--color-neutral-50: #1e293b;--color-neutral-100: #334155;--color-neutral-300: #475569;--color-neutral-400: #64748b;--color-neutral-500: #94a3b8;--color-neutral-600: #cbd5e1;--color-neutral-700: #e2e8f0;--color-success-50: #0a2e1a;--color-success-100: #14532d;--color-success-200: #166534;--color-danger-50: #2e1515;--color-danger-100: #450a0a;--color-danger-200: #7f1d1d;--color-warning-50: #2e2000;--color-warning-100: #451a03;--color-warning-200: #78350f;--color-info-50: #0c1929;--color-info-100: #1e3050;--color-info-200: #1e3a5f;--color-timeline-line: #334155;--color-timeline-dot: #475569;--color-timeline-dot-active: #60a5fa;--color-timeline-dot-active-shadow: #1e3056;--color-timeline-dot-completed-shadow: #14532d;--color-timeline-dot-overdue-shadow: #450a0a;--color-secondary-active: #475569;--color-outline-active: #334155;--color-ghost-active: #334155;--color-mini-task-bg: #1e3050;--color-mini-task-text: #93c5fd;--color-mini-task-time: #60a5fa}.mail-client{display:flex;height:100%;max-width:var(--container-max-width);margin:0 auto;background:var(--color-bg-card);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border);position:relative}.mail-sidebar{width:360px;min-width:280px;border-right:1px solid var(--color-border);display:flex;flex-direction:column;background:var(--color-bg-light);transition:transform var(--duration-slow) ease;overflow:hidden}.mail-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-bg-card)}.mail-search-bar{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-card)}.mail-search-bar .search-input-container{margin:0}.mail-sidebar-title{display:flex;align-items:center;gap:var(--space-2);font-size:1.05rem;font-weight:600;color:var(--color-text-dark)}.mail-count{background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:700;padding:2px var(--space-2);border-radius:var(--radius-lg);min-width:20px;text-align:center}.mail-list{flex:1;overflow-y:auto}.mail-item{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-5);cursor:pointer;border-bottom:1px solid var(--color-border);transition:background var(--duration-fast)}.mail-item:hover{background:var(--color-bg-hover)}.mail-item-active{background:var(--color-primary-50);border-left:3px solid var(--color-primary);padding-left:17px}.mail-item-unread{font-weight:600}.mail-item-body{flex:1;min-width:0}.mail-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:2px}.mail-item-sender{font-size:.875rem;color:var(--color-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:var(--space-1)}.mail-unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-info-500);flex-shrink:0}.mail-flag-icon{color:var(--color-danger-500);fill:var(--color-danger-500);flex-shrink:0}.mail-item-ai{color:#8b5cf6;display:inline-flex;align-items:center}.mail-item-time{font-size:.75rem;color:var(--color-text-light);white-space:nowrap;flex-shrink:0}.mail-item-subject{font-size:.85rem;color:var(--color-text-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.mail-item-unread .mail-item-subject{color:var(--color-text-dark)}.mail-item-meta{display:flex;align-items:center;gap:6px}.mail-item-attach{color:var(--color-text-light);display:flex;align-items:center}.mail-detail{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.mail-detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-light)}.mail-detail-empty p{margin:0;font-size:1rem}.mail-detail-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex;align-items:flex-start;gap:var(--space-3)}.mail-back-btn{display:none!important}.mail-detail-header-info{flex:1;min-width:0}.mail-detail-subject{margin:0 0 var(--space-3);font-size:1.15rem;font-weight:700;color:var(--color-text-dark);line-height:1.4}.mail-detail-meta{display:flex;align-items:center;gap:var(--space-3)}.mail-detail-sender-info{display:flex;flex-direction:column;gap:2px}.mail-detail-sender-name{font-size:.9rem;font-weight:600;color:var(--color-text-dark)}.mail-detail-sender-addr{font-size:.8rem;color:var(--color-text-light)}.mail-detail-time{display:flex;align-items:center;gap:var(--space-1);font-size:.8rem;color:var(--color-text-light);margin-top:4px}.mail-detail-body{flex:1;overflow-y:auto;padding:var(--space-5)}.mail-ai-action-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}.mail-ai-result-success{font-size:.8rem;color:var(--color-success-600)}.mail-ai-result-error{font-size:.8rem;color:var(--color-danger-600)}.inline-schedule-approval{margin-bottom:16px}.inline-approval-header{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--color-text-dark);margin-bottom:10px}.inline-approval-error{font-size:.8rem;color:var(--color-danger-600);margin-bottom:8px}.inline-approval-done{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--color-success-600);font-weight:500;margin-bottom:12px}.inline-approval-result{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;font-size:.8rem;margin-bottom:10px;padding:6px 10px;background:var(--color-success-50);border:1px solid var(--color-success-200);border-radius:var(--radius-md)}.result-approved{display:flex;align-items:center;gap:var(--space-1);color:var(--color-success-600)}.result-skipped{color:var(--color-warning-600)}.result-failed{color:var(--color-danger-600)}.inline-approval-card{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:8px;background:var(--color-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:var(--space-3)}.inline-approval-card-body{flex:1;min-width:0}.inline-approval-card-name{font-size:.875rem;font-weight:600;color:var(--color-text-dark);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-approval-card-time,.inline-approval-card-location{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--color-text-light)}.inline-approval-card-actions{display:flex;gap:6px;flex-shrink:0}.mail-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.mail-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 10px;border-radius:var(--radius-xl);font-size:.75rem;font-weight:500}.mail-tag-unread{background:var(--color-info-100);color:var(--color-info-700)}.mail-tag-flagged{background:var(--color-danger-100);color:var(--color-danger-600)}.mail-tag-read{background:var(--color-neutral-100);color:var(--color-neutral-500)}.mail-tag-ai{background:var(--color-primary-50);color:#7c3aed}.mail-detail-body pre{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.9rem;line-height:1.7;color:var(--color-text-dark);white-space:pre-wrap;word-break:break-word}.mail-detail-html{font-size:.9rem;line-height:1.7;color:var(--color-text-dark)}.mail-detail-html img{max-width:100%;height:auto}.mail-detail-html a{color:var(--color-primary)}.mail-detail-html table{max-width:100%;border-collapse:collapse}.mail-detail-html blockquote{margin:var(--space-2) 0;padding-left:12px;border-left:3px solid var(--color-border);color:var(--color-text-medium)}.mail-error{padding:var(--space-4) var(--space-5);color:var(--color-danger);font-size:.85rem;background:var(--color-danger-light);border-bottom:1px solid var(--color-danger-200)}.mail-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-light);font-size:.9rem}.mail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-light);padding:var(--space-10) var(--space-5)}.mail-empty p{margin:0}.mail-empty-hint{font-size:.8rem}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.mail-client{flex-direction:column;border-radius:0;border:none;height:100%}.mail-sidebar{width:100%;min-width:0;border-right:none;flex:1}.mail-sidebar-hidden{display:none}.mail-detail{display:none;flex:1}.mail-detail-visible{display:flex}.mail-back-btn{display:flex!important}.inline-approval-card{flex-direction:column;align-items:stretch}.inline-approval-card-actions{justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}}.dashboard-layout{display:flex;height:100vh;transition:all var(--duration-slow) ease}.sidebar{width:250px;background-color:var(--color-bg-card);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transition:width var(--duration-slow) ease;overflow:hidden}.sidebar-header{padding:1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border)}.sidebar-header h1{font-size:1.15rem;font-weight:700;color:var(--color-text-dark);white-space:nowrap;display:flex;align-items:center}.app-logo{width:28px;height:28px;vertical-align:middle;margin-right:6px}.sidebar-toggle{background:none;border:none;cursor:pointer;color:var(--color-text-light);transition:transform var(--duration-slow) ease}.sidebar-nav{flex-grow:1;padding:1rem 0}.nav-item{display:flex;align-items:center;padding:.8rem 1.5rem;width:100%;border:none;background:none;text-align:left;cursor:pointer;font-size:1rem;color:var(--color-text-medium);transition:background-color var(--duration-normal) ease,color var(--duration-normal) ease;white-space:nowrap}.nav-item:hover{background-color:var(--color-bg-hover);color:var(--color-text-dark)}.nav-item.active{background-color:var(--color-primary-50);color:var(--color-primary);font-weight:600;border-right:4px solid var(--color-primary)}.nav-item svg{margin-right:.75rem;flex-shrink:0}.sidebar-footer{padding:1rem 0;border-top:1px solid var(--color-border)}.dashboard-layout.sidebar-collapsed .sidebar{width:80px}.dashboard-layout.sidebar-collapsed .sidebar-header h1,.dashboard-layout.sidebar-collapsed .nav-text{opacity:0;visibility:hidden;width:0;transition:opacity var(--duration-normal) ease,visibility var(--duration-normal) ease,width var(--duration-normal) ease}.dashboard-layout.sidebar-collapsed .sidebar-header{justify-content:center}.dashboard-layout.sidebar-collapsed .sidebar-toggle{transform:rotate(180deg)}.dashboard-layout.sidebar-collapsed .nav-item{justify-content:center}.dashboard-layout.sidebar-collapsed .nav-item svg{margin-right:0}.main-content{flex:1;min-width:0;padding:2rem;overflow-y:auto;background-color:var(--color-bg-light);transition:margin-left var(--duration-slow) ease}.settings-page{display:grid;gap:var(--space-6);max-width:var(--settings-max-width);margin:0 auto}.account-info .info-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:10px}.account-info .info-item:last-child{border-bottom:none}.account-info .info-item .info-label{font-weight:500;color:var(--color-text-medium)}.account-info .info-item .info-value{color:var(--color-text-dark)}.connection-action{margin-top:16px}.connection-action p{margin-bottom:16px}.dashboard-home{max-width:var(--container-max-width);margin:0 auto}.welcome-banner{background:linear-gradient(135deg,var(--color-gradient-start) 0%,#764ba2 100%);border-radius:var(--radius-xl);padding:var(--space-8);color:#fff;margin-bottom:32px;box-shadow:0 4px 6px #0000001a}.welcome-banner h1{margin:0 0 var(--space-2) 0;font-size:2rem}.welcome-banner p{margin:0;opacity:.9;font-size:1.1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);margin-bottom:32px}.card-icon{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.card-icon.blue{background-color:var(--color-primary-50);color:var(--color-primary)}.card-icon.green{background-color:var(--color-success-50);color:var(--color-success-400)}.card-icon.purple{background-color:#faf5ff;color:#9b59b6}[data-theme=dark] .card-icon.purple{background-color:#2d1f4e;color:#a78bfa}.dashboard-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:0 1px 3px #0000001a}.dashboard-card h3{margin:0 0 var(--space-3) 0;font-size:1.1rem;color:var(--color-text-dark)}.dashboard-card p{margin:0 0 var(--space-4) 0;color:var(--color-text-light);font-size:.9rem}.dashboard-layout.mobile-layout{flex-direction:column}.mobile-header{background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-dropdown);width:100%;transition:all var(--duration-slow) ease}.mobile-header-top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--color-bg-card);position:relative;z-index:var(--z-dropdown)}.mobile-header .logo-text{font-size:1.1rem;font-weight:700;color:var(--color-text-dark);margin:0;display:flex;align-items:center}.mobile-menu-toggle{background:none;border:none;cursor:pointer;color:var(--color-text-medium);padding:var(--space-1);display:flex;align-items:center;justify-content:center}.mobile-nav{background-color:var(--color-bg-card);border-top:1px solid var(--color-border);overflow:hidden;max-height:0;transition:max-height var(--duration-slow) ease-in-out,opacity var(--duration-slow) ease-in-out;opacity:0;position:absolute;width:100%;z-index:var(--z-dropdown);box-shadow:0 4px 6px -1px #0000001a}.mobile-nav.open{max-height:calc(100vh - 60px);opacity:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:0}.mobile-nav .nav-item{padding:1rem 1.5rem;border-bottom:1px solid var(--color-bg-light)}.mobile-nav-footer{border-top:1px solid var(--color-border);margin-top:.5rem}.mobile-layout .main-content{padding:1rem;padding-bottom:18px;height:calc(100vh - 60px);overflow-y:auto}@media(max-width:768px){.main-content{padding-bottom:18px}}.connection-status-card{overflow:hidden}.status-header{display:flex;align-items:flex-start;gap:10px}.status-message{margin:0 0 var(--space-1);font-size:.938rem;line-height:1.4}.status-sub{margin:0;font-size:.813rem;color:var(--color-text-light)}.status-error{background-color:var(--color-danger-50);color:var(--color-danger-600);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.875rem;margin-bottom:12px}.conn-table{padding:0 var(--space-6);display:flex;flex-direction:column}.conn-row{display:flex;align-items:center;padding:10px 0;gap:var(--space-3)}.conn-table .conn-row:first-child{padding-top:16px}.conn-table .conn-row:last-child{padding-bottom:16px}.conn-indicator{flex-shrink:0;display:flex;align-items:center}.conn-dot{width:10px;height:10px;border-radius:50%;background:var(--color-neutral-300)}.conn-dot.online{background:var(--color-success-400)}.conn-dot.offline{background:var(--color-neutral-300)}.conn-icon{color:var(--color-text-medium)}.conn-icon-danger{color:var(--color-danger)}.conn-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conn-label{font-weight:600;font-size:.875rem;color:var(--color-text-dark);line-height:1.3}.conn-meta{font-size:.75rem;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conn-tag{display:inline-flex;padding:2px 10px;border-radius:var(--radius-xl);font-size:.75rem;font-weight:500;background:var(--color-bg-hover);color:var(--color-text-light);white-space:nowrap}.conn-tag.online{background:var(--color-success-100);color:var(--color-success-600)}.conn-state{flex-shrink:0}.conn-actions{flex-shrink:0;display:flex;gap:var(--space-2);align-items:center}.conn-unbind{color:var(--color-text-light)!important;font-size:.813rem}.conn-unbind:hover{color:var(--color-danger)!important}.conn-divider{height:1px;background:var(--color-border);margin:0 var(--space-6)}.conn-toolbar{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6)}.caldav-server-detail{padding:var(--space-4) var(--space-6) var(--space-5)}.caldav-detail-header{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:14px;color:var(--color-text-dark);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.caldav-detail-row{display:flex;align-items:center;gap:10px;padding:var(--space-2) 0}.caldav-detail-icon{color:var(--color-text-light);flex-shrink:0;display:flex;align-items:center}.caldav-detail-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.caldav-detail-label{font-size:11px;color:var(--color-text-light);text-transform:uppercase;font-weight:500}.caldav-detail-value{font-size:12px;color:var(--color-text-dark);background:var(--color-bg-hover);padding:3px var(--space-2);border-radius:4px;word-break:break-all;font-family:SF Mono,Fira Code,monospace}.caldav-detail-password{letter-spacing:3px}.conn-copy-btn{background:none;border:none;cursor:pointer;color:var(--color-text-light);padding:var(--space-1);border-radius:4px;transition:all var(--duration-fast);display:flex;align-items:center;flex-shrink:0}.conn-copy-btn:hover{color:var(--color-primary);background:var(--color-primary-50)}.caldav-detail-guide{background:var(--color-warning-50);border:1px solid var(--color-warning-200);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-top:12px}.caldav-detail-guide-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-warning-800);margin-bottom:8px}.caldav-detail-guide ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.caldav-detail-guide li{font-size:12px;color:var(--color-warning-900);line-height:1.5;padding-left:8px;border-left:3px solid var(--color-warning-300)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.app{min-height:100vh}.loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--color-gradient-start) 0%,#764ba2 100%);color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--color-gradient-start) 0%,#764ba2 100%);padding:20px}.switch-auth{display:flex;align-items:center;gap:10px;margin-top:20px;color:#fff;font-size:14px}.switch-button{background:transparent;color:#fff;border:1px solid var(--color-bg-card);padding:6px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:all var(--duration-slow) ease}.switch-button:hover{background:var(--color-bg-card);color:var(--color-gradient-start)}button,input{font-family:inherit;font-size:inherit;line-height:inherit}:root{--ob-bg-gradient-start: var(--color-neutral-50);--ob-bg-gradient-end: #c3cfe2;--ob-surface: var(--color-neutral-50);--ob-surface-hover: var(--color-bg-hover);--ob-border: var(--color-border);--ob-text-heading: var(--color-text-primary);--ob-text-body: var(--color-text-secondary);--ob-text-muted: var(--color-neutral-400);--ob-accent: var(--color-info-500);--ob-accent-light: rgba(59, 130, 246, .1);--ob-success-text: var(--color-success-600);--ob-success-bg: var(--color-success-100);--ob-card-success-border: var(--color-success-200);--ob-guide-bg: var(--color-warning-50);--ob-guide-border: var(--color-warning-200);--ob-guide-text-heading: var(--color-warning-800);--ob-guide-text: var(--color-warning-900);--ob-guide-accent: var(--color-warning-300);--ob-info-bg: var(--color-info-50);--ob-info-border: var(--color-info-200);--ob-input-focus-ring: rgba(59, 130, 246, .1);--ob-error-bg: var(--color-danger-50);--ob-error-border: var(--color-danger-200);--ob-error-text: var(--color-danger-600);--ob-progress-inactive: var(--color-border);--ob-progress-active: var(--color-info-500);--ob-progress-text-inactive: var(--color-neutral-400);--ob-shadow-success: 0 0 16px rgba(34, 197, 94, .1)}.onboarding-container{min-height:100vh;background:linear-gradient(135deg,var(--ob-bg-gradient-start) 0%,var(--ob-bg-gradient-end) 100%);display:flex;flex-direction:column;align-items:center;padding:var(--space-10) var(--space-5) 60px}.onboarding-progress{display:flex;align-items:center;gap:0;margin-bottom:48px;padding:0 var(--space-6)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);font-size:14px;color:var(--ob-text-muted);transition:color var(--duration-slow)}.progress-step.active{color:var(--ob-accent)}.progress-dot{width:36px;height:36px;border-radius:50%;background:var(--ob-border);color:var(--ob-text-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;transition:all var(--duration-slow)}.progress-step.active .progress-dot{background:var(--ob-accent);color:var(--color-bg-card)}.progress-line{width:80px;height:3px;background:var(--ob-border);margin:0 var(--space-2);margin-bottom:28px;border-radius:2px;transition:background var(--duration-slow)}.progress-step.active+.progress-line{background:var(--ob-accent)}.onboarding-content{width:100%;max-width:700px}.onboarding-step{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.onboarding-hero{text-align:center;margin-bottom:32px}.onboarding-logo{width:80px;height:80px;margin-bottom:16px}.onboarding-hero h1{font-size:32px;font-weight:700;color:var(--ob-text-heading);margin:0 0 var(--space-2)}.onboarding-subtitle{font-size:18px;color:var(--ob-text-body);margin:0}.onboarding-step h2{font-size:24px;font-weight:700;color:var(--ob-text-heading);margin:0 0 var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.step3-title-icon{color:var(--ob-accent);flex-shrink:0}.onboarding-desc{color:var(--ob-text-body);font-size:15px;margin:0 0 var(--space-6);line-height:1.6}.feature-list{display:flex;flex-direction:column;gap:var(--space-4)}.feature-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-3);background:var(--ob-surface);border-radius:var(--radius-lg);transition:background var(--duration-normal)}.feature-item:hover{background:var(--ob-surface-hover)}.feature-icon{color:var(--ob-text-body);flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-lg);background:var(--ob-border)}.feature-text strong{display:block;font-size:15px;color:var(--ob-text-heading);margin-bottom:4px}.feature-text p{font-size:13px;color:var(--ob-text-body);margin:0}.bind-list{display:flex;flex-direction:column;gap:var(--space-3)}.bind-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--ob-surface);border-radius:var(--radius-lg);border:1px solid var(--ob-border)}.bind-icon{color:var(--ob-text-body);flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-lg);background:var(--ob-border)}.bind-info{flex:1}.bind-info strong{display:block;font-size:15px;color:var(--ob-text-heading);margin-bottom:4px}.bind-info p{font-size:13px;color:var(--ob-text-body);margin:0}.bind-status-bound{font-size:13px;color:var(--ob-success-text);font-weight:500;background:var(--ob-success-bg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-xl);white-space:nowrap}.bind-ebridge-input{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--ob-info-bg);border:1px solid var(--ob-info-border);border-radius:var(--radius-lg)}.ebridge-url-input{width:100%;padding:10px var(--space-3);border:1px solid var(--ob-border);border-radius:var(--radius-lg);font-size:14px;color:var(--ob-text-heading);outline:none;transition:border-color var(--duration-normal);box-sizing:border-box}.ebridge-url-input:focus{border-color:var(--ob-accent);box-shadow:0 0 0 3px var(--ob-input-focus-ring)}.ebridge-url-input::placeholder{color:var(--ob-text-muted)}.ebridge-input-actions{display:flex;gap:var(--space-2)}.ebridge-bound-note{font-size:13px;color:var(--ob-success-text);margin:0}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.status-dot-online{background:var(--color-success-500)}.status-dot-offline{background:var(--ob-text-muted)}.caldav-server-status{display:flex;flex-direction:column;gap:var(--space-4)}.status-row{display:flex;align-items:center;gap:var(--space-3)}.status-label{font-weight:600;color:var(--ob-text-body);font-size:14px}.status-badge{font-size:14px;font-weight:600;padding:var(--space-1) var(--space-3);border-radius:var(--radius-2xl);display:inline-flex;align-items:center}.status-badge.enabled{background:var(--ob-success-bg);color:var(--ob-success-text)}.status-badge.disabled{background:var(--ob-surface-hover);color:var(--ob-text-muted)}.caldav-enable-section{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}.caldav-hint{font-size:14px;color:var(--ob-text-body);line-height:1.6;margin:0}.caldav-details{display:flex;flex-direction:column;gap:var(--space-3)}.caldav-success-msg{background:var(--color-success-50);border:1px solid var(--ob-card-success-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:14px;color:var(--color-success-800);line-height:1.5}.caldav-field{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--ob-surface);border-radius:var(--radius-lg);border:1px solid var(--ob-border)}.caldav-field-icon{color:var(--ob-text-body);flex-shrink:0;display:flex;align-items:center}.caldav-field-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.caldav-field-label{font-size:12px;color:var(--ob-text-muted);font-weight:500;text-transform:uppercase}.caldav-field-value{font-size:13px;color:var(--ob-text-heading);background:var(--ob-border);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);word-break:break-all;font-family:SF Mono,Fira Code,monospace}.caldav-password{letter-spacing:3px}.copy-btn{background:none;border:none;cursor:pointer;color:var(--ob-text-muted);padding:6px;border-radius:var(--radius-md);transition:all var(--duration-normal);display:flex;align-items:center;flex-shrink:0}.copy-btn:hover{color:var(--ob-accent);background:var(--color-primary-50)}.caldav-guide{background:var(--ob-guide-bg);border:1px solid var(--ob-guide-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:4px}.caldav-guide h4{margin:0 0 10px;font-size:15px;color:var(--ob-guide-text-heading);display:flex;align-items:center}.caldav-guide ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.caldav-guide li{font-size:13px;color:var(--ob-guide-text);line-height:1.5;padding-left:8px;border-left:3px solid var(--ob-guide-accent)}.caldav-actions{display:flex;justify-content:flex-end;margin-top:8px}.onboarding-actions{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:32px}.onboarding-error{background:var(--ob-error-bg);border:1px solid var(--ob-error-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);color:var(--ob-error-text);font-size:14px;margin-top:16px}.card-success{border:2px solid var(--ob-card-success-border)!important;box-shadow:var(--ob-shadow-success)!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@media(max-width:640px){.onboarding-container{padding:var(--space-6) var(--space-4) var(--space-10)}.onboarding-progress{margin-bottom:32px}.progress-line{width:40px}.onboarding-hero h1{font-size:26px}.onboarding-step h2{font-size:20px}.onboarding-actions{flex-direction:column}}.admin-container{max-width:1400px;margin:0 auto;padding:var(--space-5);font-size:14px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:var(--space-3)}.admin-header h1{font-size:20px;color:var(--color-text-dark);margin:0}.admin-toolbar{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.admin-search{padding:var(--space-2) var(--space-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:14px;width:260px;color:var(--color-text-dark);background:var(--color-bg-card)}.admin-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #467ee533}.admin-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);background:var(--color-bg-card);cursor:pointer;font-size:14px;color:var(--color-text-dark);transition:all var(--duration-fast)}.admin-btn:hover{background:var(--color-neutral-100)}.admin-btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.admin-btn-primary:hover{background:var(--color-primary-600)}.admin-btn-danger{color:var(--color-danger-600);border-color:var(--color-danger-600)}.admin-btn-danger:hover{background:var(--color-danger-600);color:#fff}.admin-table-wrapper{overflow-x:auto;border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);background:var(--color-bg-card)}.admin-table{width:100%;border-collapse:collapse;min-width:2000px}.admin-table th{position:sticky;top:0;background:var(--color-neutral-50);padding:10px var(--space-2);text-align:left;font-size:12px;font-weight:600;color:var(--color-text-medium);border-bottom:2px solid var(--color-neutral-200);white-space:nowrap}.admin-table td{padding:var(--space-2);border-bottom:1px solid var(--color-neutral-100);font-size:13px;color:var(--color-text-dark);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table tr:hover{background:var(--color-neutral-50)}.admin-table .sensitive-cell{color:var(--color-neutral-400);font-style:italic;font-size:12px}.admin-table .bool-cell{text-align:center}.admin-table .bool-true{color:var(--color-success-600);font-weight:600}.admin-table .bool-false{color:var(--color-neutral-300)}.admin-table .clickable-row{cursor:pointer}.admin-table .clickable-row:hover{background:var(--color-primary-50)}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:20px}.admin-pagination span{font-size:14px;color:var(--color-text-medium)}.admin-edit-overlay{position:fixed;inset:0;background:#0006;z-index:var(--z-modal-backdrop);display:flex;justify-content:center;align-items:flex-start;padding-top:40px;overflow-y:auto}.admin-edit-panel{background:var(--color-bg-card);border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.admin-edit-header{position:sticky;top:0;background:var(--color-bg-card);border-bottom:1px solid var(--color-neutral-200);padding:var(--space-4) var(--space-5);display:flex;justify-content:space-between;align-items:center;z-index:1}.admin-edit-header h2{margin:0;font-size:18px;color:var(--color-text-dark)}.admin-edit-header .admin-user-email{font-size:13px;color:var(--color-text-light);margin-top:2px}.admin-edit-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-light);padding:var(--space-1) var(--space-2);line-height:1}.admin-edit-close:hover{color:var(--color-text-dark)}.admin-edit-body{padding:var(--space-5)}.admin-field-group{margin-bottom:12px;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-neutral-100)}.admin-field-label{width:180px;flex-shrink:0;font-size:13px;font-weight:500;color:var(--color-text-medium);padding-top:8px}.admin-field-label .sensitive-badge{display:inline-block;margin-left:6px;padding:1px 6px;background:var(--color-warning-100);color:var(--color-warning-800);font-size:10px;border-radius:3px;vertical-align:middle}.admin-field-input{flex:1;min-width:0}.admin-field-input input[type=text],.admin-field-input input[type=number],.admin-field-input textarea{width:100%;padding:var(--space-2) 10px;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:13px;color:var(--color-text-dark);background:var(--color-bg-card);transition:border-color var(--duration-fast)}.admin-field-input input:focus,.admin-field-input textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #467ee533}.admin-field-input textarea{resize:vertical;min-height:60px;font-family:monospace;font-size:12px}.admin-toggle{display:flex;align-items:center;gap:var(--space-2);padding-top:8px}.admin-toggle-switch{position:relative;width:40px;height:22px;background:var(--color-neutral-300);border-radius:11px;cursor:pointer;transition:background var(--duration-normal);border:none;padding:0}.admin-toggle-switch.active{background:var(--color-primary)}.admin-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--color-bg-card);border-radius:50%;transition:transform var(--duration-normal)}.admin-toggle-switch.active:after{transform:translate(18px)}.admin-edit-footer{position:sticky;bottom:0;background:var(--color-bg-card);border-top:1px solid var(--color-neutral-200);padding:var(--space-4) var(--space-5);display:flex;justify-content:flex-end;gap:var(--space-2)}.admin-loading{text-align:center;padding:var(--space-10);color:var(--color-text-light);font-size:15px}.admin-error{text-align:center;padding:var(--space-5);color:var(--color-danger-600);background:var(--color-danger-50);border-radius:var(--radius-lg);margin:var(--space-5) 0}.admin-success{text-align:center;padding:var(--space-3);color:var(--color-success-600);background:var(--color-success-50);border-radius:var(--radius-lg);margin-bottom:16px}.admin-empty{text-align:center;padding:var(--space-10);color:var(--color-text-light)}.admin-btn-success{background:var(--color-success-600);color:#fff;border-color:var(--color-success-600)}.admin-btn-success:hover{background:var(--color-success-700)}.admin-btn-sm{padding:var(--space-1) 10px;font-size:12px;border-radius:var(--radius-sm);margin-right:6px}.admin-btn-danger-outline{color:var(--color-danger-600);border-color:var(--color-danger-600);background:transparent}.admin-btn-danger-outline:hover{background:var(--color-danger-600);color:#fff}.admin-actions-cell{white-space:nowrap;min-width:120px}.admin-modal-overlay{position:fixed;inset:0;background:#0006;z-index:var(--z-modal);display:flex;justify-content:center;align-items:flex-start;padding-top:40px;overflow-y:auto}.admin-modal{background:var(--color-bg-card);border-radius:var(--radius-xl);width:90%;max-width:520px;box-shadow:0 20px 60px #00000026}.admin-modal-header{position:sticky;top:0;background:var(--color-bg-card);border-bottom:1px solid var(--color-neutral-200);padding:var(--space-4) var(--space-5);display:flex;justify-content:space-between;align-items:center;z-index:1;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.admin-modal-header h2{margin:0;font-size:18px;color:var(--color-text-dark)}.admin-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-light);padding:var(--space-1) var(--space-2);line-height:1}.admin-modal-close:hover{color:var(--color-text-dark)}.admin-modal-body{padding:var(--space-5)}.admin-modal-footer{border-top:1px solid var(--color-neutral-200);padding:var(--space-4) var(--space-5);display:flex;justify-content:flex-end;gap:var(--space-2)}.admin-create-field{margin-bottom:16px}.admin-create-field label{display:block;font-size:13px;font-weight:500;color:var(--color-text-medium);margin-bottom:6px}.admin-create-field .required{color:var(--color-danger-600);font-style:normal}.admin-create-field .optional{color:var(--color-neutral-400);font-size:12px;font-weight:400}.admin-create-field input{width:100%;padding:var(--space-2) 10px;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-dark);background:var(--color-bg-card);box-sizing:border-box;transition:border-color var(--duration-fast)}.admin-create-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #467ee533}.admin-create-modal{max-width:460px}.admin-schedule-modal{max-width:720px;max-height:80vh;display:flex;flex-direction:column}.admin-schedule-modal .admin-modal-body{overflow-y:auto;flex:1;min-height:0}.admin-schedule-summary{font-size:14px;color:var(--color-text-medium);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-neutral-100)}.admin-schedule-grid{display:flex;flex-direction:column;gap:var(--space-3)}.admin-task-card{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:14px var(--space-4);transition:border-color .15s,box-shadow .15s}.admin-task-card:hover{border-color:var(--color-neutral-300);box-shadow:0 2px 8px #0000000d}.admin-task-card.task-completed{opacity:.7;background:var(--color-success-50);border-color:var(--color-success-200)}.admin-task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:6px}.admin-task-name{font-size:15px;font-weight:600;color:var(--color-text-dark);word-break:break-word}.task-completed .admin-task-name{text-decoration:line-through;color:var(--color-neutral-500)}.admin-task-badges{display:flex;gap:var(--space-1);flex-shrink:0}.admin-badge{display:inline-block;padding:1px var(--space-2);font-size:11px;border-radius:var(--radius-lg);white-space:nowrap}.admin-badge-high{background:var(--color-danger-50);color:var(--color-danger-600)}.admin-badge-normal{background:var(--color-neutral-100);color:var(--color-neutral-500)}.admin-badge-low{background:var(--color-success-50);color:var(--color-success-600)}.admin-task-location{color:var(--color-neutral-500);font-size:12px}.admin-badge-done{background:var(--color-success-100);color:var(--color-success-800)}.admin-badge-pending{background:var(--color-neutral-100);color:var(--color-neutral-500)}.admin-task-desc{font-size:13px;color:var(--color-text-medium);margin-bottom:8px;line-height:1.5;word-break:break-word}.admin-task-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:12px;color:var(--color-text-light);margin-bottom:8px}.admin-task-meta span{display:inline-flex;align-items:center;gap:2px}.admin-task-footer{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:12px}.admin-task-type{padding:2px var(--space-2);background:var(--color-primary-100);color:#3730a3;border-radius:var(--radius-sm)}.admin-task-status{padding:2px var(--space-2);background:var(--color-neutral-100);color:var(--color-neutral-700);border-radius:var(--radius-sm)}.admin-task-created{color:var(--color-neutral-400);margin-left:auto}.admin-confirm-modal{max-width:420px}
