@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap";.navbar{background-color:var(--dark-color);color:var(--light-color);text-align:center;padding:var(--spacing-lg) var(--spacing-md);border-bottom:var(--border-width-thin) solid var(--border-color);width:100%}.navbar-container{display:flex;justify-content:space-between;align-items:center;height:100%;width:100%;max-width:var( --container-max-width, 1200px );padding:0 var(--spacing-lg);margin:0 auto}.navbar-logo{color:var(--primary-color);cursor:pointer;text-decoration:none;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:.01em;transition:color .18s}.navbar-logo:hover,.navbar-logo:focus-visible{color:var(--primary-color-dark)}.nav-menu{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:var(--spacing-sm)}.nav-item{height:100%;display:flex;align-items:center}.nav-links{color:var(--light-color);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-bottom:var(--border-width-medium) solid transparent;transition:color .18s var(--easing-cubic),border-color .2s var(--easing-cubic),background-color .18s var(--easing-cubic);font-weight:var(--font-weight-semibold);outline:none;border-radius:var(--border-radius);background:none;font-size:var(--font-size-base)}.nav-links:hover,.nav-links:focus-visible{color:var(--primary-color);border-bottom-color:var(--primary-color);background-color:rgba(var(--primary-color-rgb),.07)}.nav-links.active,.nav-links[aria-current=page]{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:var(--font-weight-bold);background-color:rgba(var(--primary-color-rgb),.12)}@media (max-width: 700px){.navbar-container{padding:0 var(--spacing-sm)}.nav-menu{gap:var(--spacing-xs)}.navbar-logo{font-size:var(--font-size-base)}.nav-links{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}}.footer{background-color:var(--dark-color);color:var(--light-color);text-align:center;padding:var(--spacing-lg) var(--spacing-md);margin-top:auto;border-top:var(--border-width-thin) solid var(--border-color);width:100%}.footer-container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-lg)}.footer p{margin:var(--spacing-sm) 0;font-size:var(--font-size-sm)}.footer a{color:var(--primary-color);text-decoration:none;transition:color .18s var(--easing-cubic)}.footer a:hover,.footer a:focus-visible{text-decoration:underline;color:var(--primary-color-dark)}@media (max-width: 700px){.footer{padding:var(--spacing-md) var(--spacing-xs)}.footer-container{padding:0 var(--spacing-sm)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(var(--dark-color-rgb),.55);display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--spacing-md);animation:modalOverlayFadeIn .3s var(--easing-cubic) forwards}.modal-content{background:var(--background-color);padding:0;border-radius:15px;max-width:900px;width:95vw;min-width:320px;position:relative;box-shadow:var(--box-shadow-xl);display:flex;flex-direction:column;border:1px solid var(--border-color-light);animation:modalContentSlideUp .4s var(--easing-cubic) forwards}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentSlideUp{0%{opacity:0}to{opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color-extralight);flex-shrink:0;background-color:var( --background-color-subtle );border-top-left-radius:15px;border-top-right-radius:15px}.modal-header h3{margin:0;color:var(--primary-color-dark);font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);word-break:break-word}.modal-close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted-color);padding:var(--spacing-xxs);line-height:1;transition:color .2s ease,transform .2s ease,background-color .2s ease;border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.modal-close-button:hover,.modal-close-button:focus-visible{color:var(--danger-color);background-color:var(--danger-color-xlight);transform:scale(1.1);outline:none}.modal-body{flex-grow:1;padding:var(--spacing-lg)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color-extralight);flex-shrink:0;width:100%;background-color:var(--background-color-subtle);border-bottom-left-radius:15px;border-bottom-right-radius:15px}.copy-task-modal-content{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.copy-task-modal-calendar{flex:0 0 280px;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.copy-task-modal-list{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.copy-task-modal-calendar h4,.copy-task-modal-list h4{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-color)}.copy-task-modal-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-sm)}.copy-task-item{display:flex;align-items:center;padding:var(--spacing-sm);border:1px solid var(--border-color-light);transition:background-color .2s ease,box-shadow .2s ease;border-radius:var(--border-radius-sm);flex:0 0 auto;min-width:180px;background-color:var(--background-color);box-shadow:var(--box-shadow-sm)}.copy-task-item:hover{background-color:var( --primary-color-xlight )}.copy-task-item input[type=checkbox]{margin-right:var(--spacing-md);cursor:pointer;transform:scale(1.1);accent-color:var(--primary-color)}.copy-task-item label{flex-grow:1;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-color)}.copy-task-modal-calendar .calendar-nav-btn{min-width:auto!important;width:auto!important;height:auto!important;padding:var(--spacing-xs) var(--spacing-sm)!important;font-size:var(--font-size-sm)!important;line-height:1.2!important;background-color:var(--background-color)!important;border:1px solid var(--border-color-soft)!important;color:var(--text-muted-color)!important;border-radius:var( --border-radius )!important;box-shadow:var(--box-shadow-sm)!important;transition:var(--transition-base)!important;margin:0 var(--spacing-xxs)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.copy-task-modal-calendar .calendar-nav-btn:enabled:hover,.copy-task-modal-calendar .calendar-nav-btn:enabled:focus-visible{background-color:var(--primary-color-xlight)!important;border-color:var(--primary-color)!important;color:var(--primary-color-dark)!important;box-shadow:var(--box-shadow-md)!important;transform:translateY(-1px)}.copy-task-modal-calendar .react-calendar__navigation__label,.copy-task-modal-calendar .calendar-nav-btn.react-calendar__navigation__label{flex-grow:0!important}.copy-task-modal-calendar .react-calendar{width:100%!important;border:1px solid var(--border-color-soft)!important;border-radius:var(--border-radius-md)!important;background-color:var(--background-color)!important;padding:var(--spacing-xs)!important;box-shadow:var(--box-shadow-sm)!important}.copy-task-modal-calendar .react-calendar__month-view__weekdays{text-align:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-muted-color);margin-bottom:var(--spacing-xs);padding:0 var(--spacing-xxs)}.copy-task-modal-calendar .react-calendar__month-view__weekdays__weekday abbr{text-decoration:none!important;cursor:default}.copy-task-modal-calendar .react-calendar__tile{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:var(--spacing-xs)!important;margin:1px!important;font-size:var(--font-size-sm)!important;line-height:1.2!important;background-color:transparent!important;color:var(--text-color)!important;border:1px solid transparent!important;border-radius:var(--border-radius-sm)!important;transition:var(--transition-base)!important;min-height:30px;min-width:30px;aspect-ratio:1 / 1;box-sizing:border-box}.copy-task-modal-calendar .react-calendar__tile:enabled:hover,.copy-task-modal-calendar .react-calendar__tile:enabled:focus-visible{background-color:var(--primary-color-xlight)!important;color:var(--primary-color-dark)!important;border-color:var(--primary-color-light)!important;box-shadow:var(--box-shadow-sm)!important}.copy-task-modal-calendar .react-calendar__tile--now{background-color:var(--secondary-color-xlight)!important;color:var(--secondary-color-dark)!important;font-weight:var(--font-weight-bold)!important;border-color:var(--secondary-color-light)!important}.copy-task-modal-calendar .react-calendar__tile--now:enabled:hover,.copy-task-modal-calendar .react-calendar__tile--now:enabled:focus-visible{background-color:var(--secondary-color-light)!important;box-shadow:var(--box-shadow-md)!important}.copy-task-modal-calendar .react-calendar__tile--active{background-color:var(--primary-color)!important;color:var(--light-color)!important;font-weight:var(--font-weight-bold)!important;border-color:var(--primary-color-dark)!important}.copy-task-modal-calendar .react-calendar__tile--active:enabled:hover,.copy-task-modal-calendar .react-calendar__tile--active:enabled:focus-visible{background-color:var(--primary-color-dark)!important;box-shadow:var(--box-shadow-md)!important}.copy-task-modal-calendar .react-calendar__month-view__days__day--neighboringMonth{color:var(--text-muted-color)!important;opacity:.6}.copy-task-modal-calendar .react-calendar__month-view__days__day--neighboringMonth:enabled:hover{background-color:var(--background-color-muted)!important;opacity:1}.copy-task-modal-calendar .react-calendar__tile button{background:none!important;border:none!important;padding:0!important;margin:0!important;font:inherit!important;color:inherit!important;cursor:pointer!important;outline:inherit!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:inherit!important}.btn-link{background:none;border:none;color:var(--primary-color);text-decoration:none;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:color .2s ease,background-color .2s ease,text-decoration .2s ease;border-radius:var(--border-radius-sm)}.btn-link:hover,.btn-link:focus-visible{color:var(--primary-color-dark);background-color:var(--primary-color-xlight);text-decoration:underline}.modal-actions button{padding:var(--spacing-xs) var(--spacing-md);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius);min-width:100px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;cursor:pointer;outline:none}.modal-actions button:focus-visible{box-shadow:var(--focus-ring)}.modal-actions .btn-primary{background-color:var(--primary-color);color:var(--light-color);border:1px solid var(--primary-color)}.modal-actions .btn-primary:hover{background-color:var(--primary-color-dark);border-color:var(--primary-color-dark)}.modal-actions .btn-primary:disabled{background-color:var(--background-color-muted);border-color:var(--border-color-muted);color:var(--text-muted-color);opacity:.8;cursor:not-allowed}.modal-actions .btn-secondary{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color);box-shadow:none}.modal-actions .btn-secondary:hover{background-color:var(--dark-color);border-color:var(--dark-color);color:var(--background-color)}.modal-actions .btn-secondary:focus-visible{box-shadow:var(--focus-ring)}.confirmation-message{font-size:var(--font-size-base);color:var(--text-color);line-height:var(--line-height-lg);margin-bottom:0;text-align:center;white-space:pre-wrap;padding:var(--spacing-sm) 0}.modal-actions.confirmation-actions{background-color:var( --background-color )}.confirmation-actions .btn-secondary{background-color:transparent;color:var(--text-muted-color);border:1px solid var(--border-color-muted);box-shadow:none}.confirmation-actions .btn-secondary:hover{background-color:var(--background-color-muted);color:var(--text-color);border-color:var(--text-muted-color)}.confirmation-actions .btn-secondary:focus-visible{box-shadow:var(--focus-ring)}.modal-actions button,.confirmation-actions button{padding:var(--spacing-xs) var(--spacing-md);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius);min-width:100px;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s;cursor:pointer;outline:none;width:auto;text-align:center}.modal-actions button:focus-visible,.confirmation-actions button:focus-visible{box-shadow:var(--focus-ring)}@media (max-width: 768px){.modal-content{max-width:95vw}.copy-task-modal-content{flex-direction:column;gap:var(--spacing-md)}.copy-task-modal-calendar,.copy-task-modal-list{min-width:100%;flex-basis:auto}}@media (max-width: 600px){.modal-content{padding:0;max-width:calc(100vw - var(--spacing-md));max-height:calc(100vh - var(--spacing-md))}.modal-header,.modal-body,.modal-actions{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.modal-header h3{font-size:var(--font-size-h5)}.modal-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.modal-actions button{width:100%;text-align:center;padding:var(--spacing-sm)}.confirmation-actions button{width:100%}}.engagement-page-layout{background:linear-gradient(120deg,var(--primary-color-xlight) 0%,var(--page-background-color) 100%);min-height:100vh;padding:var(--spacing-lg) var(--spacing-sm);font-family:var(--font-family-sans-serif)}.engagement-main-container{max-width:var(--container-max-width, 1200px);margin:var(--spacing-md) auto;padding:var(--spacing-lg);background:var(--background-color);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.engagement-page-layout h2{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--primary-color-dark, #005cb2);margin-top:0;margin-bottom:var(--spacing-lg);letter-spacing:1px;text-align:center;line-height:1.2}.engagement-widgets-layout{display:flex;gap:var(--spacing-xl);justify-content:center;flex-wrap:wrap;width:100%;align-items:flex-start}.calendar-widget-container{display:flex;flex-direction:column;flex:1 1 400px;max-width:600px}.improved-task-list,.activity-calendar{border-radius:var(--border-radius-lg);background:var(--background-color-subtle, #f8fafd);box-shadow:var(--box-shadow-md, 0 4px 12px rgba(0, 0, 0, .07));padding:var(--spacing-lg);border:1px solid var(--border-color);transition:var(--transition-all);min-width:300px;max-width:600px;width:100%}.improved-task-list:focus-within,.activity-calendar:focus-within{box-shadow:var(--box-shadow-xl, 0 8px 24px rgba(0, 0, 0, .12)),var(--focus-ring);border-color:var(--primary-color, #007bff)}.activity-calendar header{display:flex;align-items:center;gap:var(--spacing-sm, 1rem);margin-bottom:var(--spacing-md, 1.5rem)}.activity-calendar h3{color:var(--primary-color-dark, #005cb2);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);margin:0;letter-spacing:.03em}.activity-calendar-content{display:flex;gap:var(--spacing-lg, 2rem);align-items:flex-start;flex-wrap:wrap}.calendar-grid-container{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xxs, 4px);background:var(--background-color, #fff);padding:var(--spacing-sm, 1rem);border-radius:var(--border-radius, 8px);box-shadow:var(--box-shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));min-width:330px}.calendar-header-day{text-align:center;opacity:.8;font-weight:var(--font-weight-semibold);padding:var(--spacing-xs, .5rem) 0;font-size:var(--font-size-sm);color:var(--text-muted-color)}.calendar-day{display:flex;align-items:center;justify-content:center;border:var(--border-width-thin, 1px) solid var(--border-color, #e9ecef);border-radius:var(--border-radius-sm, .2rem);min-width:38px;min-height:38px;font-size:var(--font-size-base);background-color:var(--background-color, #fff);box-sizing:border-box;color:var(--text-color, #212529);margin:1px;cursor:pointer;outline:none;position:relative;font-weight:var(--font-weight-normal)}.calendar-day:not(.empty):hover{transform:translateY(-2px);box-shadow:var(--box-shadow, 0 3px 8px rgba(0, 0, 0, .08));border-color:var(--primary-color, #007bff);z-index:2}.calendar-day:not(.empty):focus-visible{outline:2px solid var(--primary-color-dark);outline-offset:1px;background-color:var(--primary-color-xlight);z-index:3;transition:background-color .2s,outline .2s,box-shadow .2s}.calendar-day.empty{background:transparent!important;border-color:transparent!important;cursor:default;box-shadow:none}.calendar-day.selected{background-color:var(--primary-color, #007bff);color:var(--light-color, #fff);border-color:var(--primary-color-dark, #0056b3);font-weight:var(--font-weight-bold);box-shadow:var(--box-shadow-lg, 0 5px 15px rgba(0, 123, 255, .3));transform:translateY(-1px) scale(1.05);z-index:3}.calendar-day.today{border:2px solid var(--primary-color);font-weight:var(--font-weight-bold);padding:calc(var(--spacing-xxs, 4px) - 1px)}.calendar-day.no-activity:not(.selected):not(.today){background:var(--background-color-muted);color:var(--text-muted-color)}.calendar-day.activity-worked{background:var(--primary-color-light);color:var(--primary-color-dark);font-weight:var(--font-weight-semibold)}.calendar-day.activity-low,.calendar-day.activity-medium,.calendar-day.activity-high,.calendar-day.activity-four,.calendar-day.activity-five,.calendar-day.activity-max{font-weight:var(--font-weight-bold)}.calendar-day.activity-low{background:var(--success-color-xlight, #e6f4ea);color:var(--success-color-dark, #1e7e34);font-weight:var(--font-weight-semibold)}.calendar-day.activity-medium{background:var(--success-color-light, #d4edda);color:var(--success-color-dark, #1e7e34)}.calendar-day.activity-high{background:var(--success-color, #28a745);color:var(--light-color, #fff)}.calendar-day.activity-four{background:var(--info-color, #17a2b8);color:var(--light-color, #fff)}.calendar-day.activity-five{background:var(--warning-color, #ffc107);color:var(--dark-color, #212529);font-weight:var(--font-weight-bold)}.calendar-day.activity-max{background:var(--primary-color-dark, #005cb2);color:var(--light-color, #fff);font-weight:var(--font-weight-bold)}.task-list-actions{margin-top:var(--spacing-md);display:flex;justify-content:flex-end;gap:var(--spacing-sm);flex-wrap:wrap}.task-list-content-wrapper{opacity:1;transition:opacity .25s var(--easing-cubic),transform .25s var(--easing-cubic)}.task-list-content-wrapper.fade-out-active{opacity:0;transform:translateY(5px)}.task-list-actions button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.task-edit-input,.new-task-subtask-input{flex-grow:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color, #ccc);border-radius:var(--border-radius-sm, 4px);font-size:var(--font-size-sm);width:100%;box-sizing:border-box}.add-optional-field-btn{background:none;border:1px dashed var(--border-color-muted);color:var(--text-color-secondary, var(--text-muted-color));font-size:var(--font-size-sm);padding:var(--spacing-xxs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:var(--transition-base);font-weight:var(--font-weight-normal)}.add-optional-field-btn:hover,.add-optional-field-btn:focus-visible{background-color:var(--primary-color-xlight);border-color:var(--primary-color-light);color:var(--primary-color-dark);border-style:solid}.task-description-input,.task-link-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);margin-top:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);box-sizing:border-box;background-color:var(--background-color, #fff);color:var(--text-color)}.task-description-input{resize:vertical}.task-link-input:focus,.task-description-input:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring)}.task-input-group{width:100%}.task-description-display{font-size:var(--font-size-sm);color:var(--text-muted-color);margin-top:var(--spacing-xxs);padding-left:calc(22px + var(--spacing-sm));white-space:pre-wrap;word-break:break-word}.subtask-list-display{list-style:none;padding-left:calc(22px + var(--spacing-md));margin-top:var(--spacing-xs);font-size:var(--font-size-sm)}.subtask-list-display li{display:flex;align-items:center;gap:var(--spacing-xxs);margin-bottom:var(--spacing-xxs);color:var(--text-color)}.subtask-list-display li.completed span{text-decoration:line-through;opacity:.7;color:var(--text-muted-color)}.subtask-checkbox-display{margin-right:var(--spacing-xxs);transform:scale(.8);opacity:.8}.task-edit-description-input{width:100%;padding:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);resize:vertical;margin-top:var(--spacing-xs)}.activity-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-sm);margin:var(--spacing-md) 0 var(--spacing-xs) 0;font-size:var(--font-size-sm, .875rem);align-items:center;padding-left:var(--spacing-xs);max-width:275px}.activity-legend-title{width:100%;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-semibold);letter-spacing:.03em}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs, .5rem);margin-bottom:var(--spacing-xxs, 4px)}.legend-color-box{width:16px;height:16px;margin-right:var(--spacing-xs, .5rem);border-radius:var(--border-radius-sm, .2rem);display:inline-block;border:1px solid rgba(0,0,0,.1)}.legend-color-box.activity-high{background-color:var(--success-color)}.legend-color-box.activity-medium{background-color:var(--success-color-light)}.legend-color-box.activity-low{background-color:var(--success-color-xlight)}.legend-color-box.activity-four{background-color:var(--info-color, #17a2b8)}.legend-color-box.activity-five{background-color:var(--warning-color, #ffc107)}.legend-color-box.activity-max{background-color:var(--primary-color-dark, #005cb2)}.legend-color-box.activity-worked{background-color:var(--primary-color-light, #e0f0ff);border-color:var(--primary-color-dark)}.legend-color-box.no-activity{background-color:var(--background-color-muted, #f0f0f0);border-color:var(--border-color-muted, #d0d0d0)}.legend-color-box.today{width:12px;height:12px;border:var(--border-width-medium, 2px) solid var(--primary-color);border-radius:50%;background:var(--primary-color-xlight)}.calendar-note{font-size:var(--font-size-sm, .875rem);color:var(--text-muted-color);margin-top:var(--spacing-md, 1.5rem);padding:var(--spacing-xs, .5rem) var(--spacing-sm, 1rem);text-align:center;line-height:var(--line-height-base, 1.5);background:var(--primary-color-xlight, #e7f3ff);border-radius:var(--border-radius, 8px);display:inline-block}.task-list-header{display:flex;align-items:center;gap:var(--spacing-xs, .5rem);margin-bottom:var(--spacing-md)}.task-list-header h3{font-size:var(--font-size-h3, 1.3rem);color:var(--primary-color-dark);font-weight:var(--font-weight-bold);margin:0;letter-spacing:.08em}.task-list-header-icon{font-size:1.2em}.task-list-form{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.task-input-group{display:flex;align-items:stretch;position:relative;background-color:var(--background-color, #fff);border:var(--border-width-medium, 2px) solid var(--border-color, #e9ecef);border-radius:var(--border-radius);transition:border-color var(--transition-duration, .2s) var(--easing-cubic),box-shadow var(--transition-duration, .2s) var(--easing-cubic);width:100%}.task-input-group:focus-within{border-color:var(--primary-color, #007bff);box-shadow:var( --focus-ring-inset, inset 0 0 0 2px var(--primary-color-xlight) )}.task-input,.task-time-input{padding:var(--spacing-sm, .75rem) var(--spacing-md, 1rem);font-size:var(--font-size-base, 1rem);background-color:transparent;border:none;outline:none;color:var(--text-color);line-height:1.5}.task-input{flex-grow:1}.task-input::placeholder{color:var(--text-muted-color);opacity:1}.task-time-input{flex-grow:0;flex-shrink:0;min-width:120px;border-left:var(--border-width-thin, 1px) solid var(--border-color-light, #f1f3f5);text-align:center;margin-left:0}.task-time-input::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}.task-time-input::-webkit-calendar-picker-indicator:hover{opacity:.9}.add-task-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xxs);padding:var(--spacing-xs) var(--spacing-sm);min-width:120px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color-dark) 100%);color:var(--light-color, #fff)!important;border:var(--border-width-medium, 2px) solid var(--primary-color-dark);box-shadow:var(--box-shadow-sm);border-radius:var(--border-radius);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-bold);cursor:pointer;transition:background .2s var(--easing-cubic),transform .1s var(--easing-cubic),box-shadow .2s var(--easing-cubic),border-color .2s var(--easing-cubic);letter-spacing:.03em;align-self:flex-end;width:auto;max-width:200px}.add-task-btn:disabled{background:var(--background-color-muted);color:var(--text-muted-color);cursor:not-allowed;border-color:var(--border-color-muted);box-shadow:none;transform:none}.add-task-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-color-dark) 0%,var(--primary-color) 100%);transform:translateY(-1px);box-shadow:var(--box-shadow-lg);border-color:var(--primary-color)}.add-task-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--box-shadow-sm),inset 0 1px 2px rgba(var(--dark-color-rgb),.1)}.add-btn-icon{font-size:1.2em;line-height:1;margin-right:var(--spacing-xxs)}.add-task-btn:focus-visible{border-color:var(--primary-color);box-shadow:var(--focus-ring),var(--box-shadow-md);z-index:3}.improved-task-list-ul{list-style:none;padding:0;margin:0}.improved-task-list-li{display:flex;align-items:center;gap:var(--spacing-sm, .75rem);background:var(--background-color, #fff);border-radius:var(--border-radius, 8px);padding:var(--spacing-sm, .75rem) var(--spacing-md, 1rem);margin-bottom:var(--spacing-sm, .75rem);font-size:var(--font-size-base, 1rem);border:var(--border-width-thin, 1px) solid var(--border-color, #e9ecef);box-shadow:var(--box-shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));transition:background .18s var(--easing-cubic),color .14s var(--easing-cubic),box-shadow .19s var(--easing-cubic),border-color .19s var(--easing-cubic),transform .15s var(--easing-cubic),border-left-color .2s ease;font-weight:var(--font-weight-semibold, 500);letter-spacing:.01em}.improved-task-list-li.editing{background-color:var(--primary-color-xlight, #e7f3ff);box-shadow:var(--box-shadow-md)}.improved-task-list-li:hover:not(.editing),.improved-task-list-li:focus-within:not(.editing){background:var(--primary-color-xlight, #e1effb);border-color:var(--primary-color);box-shadow:var(--box-shadow, 0 3px 8px rgba(0, 0, 0, .08));transform:translateY(-1px)}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.improved-task-list-li.completed .task-view-content .task-text,.improved-task-list-li.completed .task-view-content .task-time-display{color:var(--success-color-dark, #1e7e34);opacity:.85}.improved-task-list-li.completed:not(.editing){background:var(--success-color-xlight, #e6f4ea);border-left:4px solid var(--success-color, #28a745);box-shadow:0 2px 5px rgba(var(--success-color-rgb, 40, 167, 69),.1);padding-left:calc(var(--spacing-md, 1rem) - 4px)}.improved-task-list-li.completed .task-text:after{content:" (Completed)";color:var( --success-color-dark, #1e7e34 );font-size:.9em;font-weight:var( --font-weight-normal );margin-left:var(--spacing-xxs);opacity:.85}.task-text{line-height:normal;white-space:pre-wrap;word-break:break-word}.task-time-display{min-width:90px;display:inline-block;padding:2px 4px;border-radius:4px;font-size:.85em;color:var(--text-color-secondary);background-color:var(--background-color-subtle, #f8fafd)}.check-container{display:flex;align-items:center;cursor:pointer;position:relative;padding-right:var(--spacing-xxs, 4px)}.check-container input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.custom-checkbox{width:22px;height:22px;border-radius:var(--border-radius-sm, .2rem);border:var(--border-width-medium, 2px) solid var(--border-color);background:var(--background-color);transition:border-color .18s var(--easing-cubic),background .18s var(--easing-cubic),box-shadow .18s var(--easing-cubic);position:relative;box-shadow:inset 0 1px 2px #0000000d}.check-container input[type=checkbox]:focus-visible+.custom-checkbox{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.check-container input[type=checkbox]:checked+.custom-checkbox{border-color:var(--primary-color);background:var(--primary-color);box-shadow:none}.check-container input[type=checkbox]:checked+.custom-checkbox:after{content:"";display:block;width:6px;height:12px;border:solid var(--light-color);border-width:0 2.5px 2.5px 0;position:absolute;left:50%;top:50%;transform:translate(-50%,-60%) rotate(45deg) scale(1);transition:border-color .16s var(--easing-cubic)}.task-list-empty{text-align:center;color:var(--text-muted-color);margin:var(--spacing-md) 0 var(--spacing-sm) 0;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base, 1rem);opacity:.92}.task-list-empty-icon{font-size:1.5em;display:block;margin-bottom:var(--spacing-xs, .5rem)}.task-list-tip{font-size:var(--font-size-sm, .98em);color:var(--primary-color-dark);background:var(--primary-color-xlight);text-align:center;border-radius:var(--border-radius, 8px);padding:var(--spacing-sm, 1rem) 0 var(--spacing-xs, .5rem) 0;margin-top:var(--spacing-sm, 1rem);box-shadow:var(--box-shadow-sm, 0 1px 3px rgba(0, 0, 0, .05))}.calendar-controls{display:flex;justify-content:space-between;gap:var(--spacing-sm, 1rem);margin-top:var(--spacing-md, 1.5rem);width:100%}.calendar-nav-btn{padding:var(--spacing-xs, .5rem) var(--spacing-md, 1.5rem);font-size:var(--font-size-sm, .875rem)}.task-content-area{flex-grow:1;display:flex;min-width:0}.task-action-icon-btn{background:none;border:none;font-size:1.05rem;padding:var(--spacing-xxs);cursor:pointer;transition:color .2s ease,opacity .2s ease,background-color .2s ease;line-height:1;opacity:.6;border-radius:var(--border-radius-sm);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted-color);margin-left:var( --spacing-xs )}.task-action-icon-btn:first-of-type{margin-left:auto}.task-action-icon-btn:hover,.task-action-icon-btn:focus-visible{opacity:1}.delete-task-btn:hover,.delete-task-btn:focus-visible{color:var(--danger-color);background-color:var(--danger-color-xlight, var(--danger-color-background))}.edit-pencil-btn:hover,.edit-pencil-btn:focus-visible{color:var(--primary-color);background-color:var(--primary-color-xlight, var(--primary-color-xxlight))}.view-details-btn:hover,.view-details-btn:focus-visible{color:var(--info-color);background-color:var(--info-color-xlight, var(--info-color-background))}.task-edit-form{flex-grow:1;display:flex;flex-direction:column;gap:var(--spacing-xs, .5rem);min-width:0}.task-edit-input{width:100%;padding:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base)}.task-edit-link-input{margin-top:var(--spacing-xs)}.task-edit-form .task-edit-time-select{align-self:flex-start;margin-left:0;padding:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.task-edit-actions{display:flex;gap:var(--spacing-xs, .5rem);margin-top:var(--spacing-xs, .5rem);align-self:flex-start}.task-edit-save-btn,.task-edit-cancel-btn{padding:var(--spacing-xxs, 5px) var(--spacing-xs, 10px);border-radius:var(--border-radius-sm, .2rem);cursor:pointer;font-size:.875rem;border:1px solid transparent;font-weight:var(--font-weight-semibold);line-height:1.2;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out,color .2s ease-in-out;min-width:80px;width:100%;text-align:center}.task-edit-save-btn{background-color:var(--success-color, #28a745);color:#fff}.task-edit-save-btn:hover{background-color:var(--success-color-dark, #1e7e34);box-shadow:var(--box-shadow-sm)}.task-edit-cancel-btn{background-color:var(--background-color-muted, #f0f0f0);color:var(--text-color);border:1px solid var(--border-color-light, #e9ecef)}.task-edit-cancel-btn:hover{background-color:var(--border-color-light, #e0e0e0);border-color:var(--border-color-muted, #d0d0d0);color:var( --text-color-dark, var(--dark-color) );box-shadow:var(--box-shadow-sm)}.task-view-content{flex-grow:1;display:flex;align-items:center;gap:var(--spacing-sm, .75rem);cursor:pointer;padding:var(--spacing-xxs, 2px) 0;outline:none;min-width:0}.task-indicators{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.85em;color:var(--text-muted-color)}.task-indicator-icon{display:inline-flex;align-items:center;opacity:.8;transition:opacity .2s ease,color .2s ease}.task-text .task-link-inline-indicator{font-size:.95em;color:var( --primary-color-dark, #0056b3 );text-decoration:none;font-weight:var(--font-weight-semibold, 600);transition:color .2s ease,transform .15s ease;display:inline-block;margin-left:var(--spacing-xxs);vertical-align:baseline}.task-indicator-icon:hover{opacity:1;color:var(--primary-color)}.past-date-restriction{color:var(--warning-color-dark, #d39e00);background-color:var(--warning-color-xlight, #fff8e1);text-align:center;border-radius:var(--border-radius, 8px);padding:var(--spacing-xs, .5rem) var(--spacing-sm, 1rem);margin-top:var(--spacing-sm, 1rem);font-size:var(--font-size-sm);border:1px solid var(--warning-color, #ffc107)}.task-text .task-link-inline-indicator:hover,.task-text .task-link-inline-indicator:focus-visible{color:var(--primary-color, #007bff);text-decoration:none;transform:scale(1.1)}.subtask-progress-indicator{font-size:.9em;margin-left:2px;font-weight:var(--font-weight-bold);color:var(--primary-color-dark);background-color:var(--primary-color-xxlight, #f0f7ff);padding:1px 4px;border-radius:var(--border-radius-sm)}.task-view-content:focus-visible{outline:2px solid var(--primary-color-light);outline-offset:2px;border-radius:var(--border-radius-sm)}.task-view-controls{display:flex;padding:4px;background-color:var(--background-color-muted, #e9ecef);border-radius:var(--border-radius, 8px);margin:0 auto var(--spacing-lg) auto;width:fit-content;box-shadow:inset 0 1px 3px #0000001a}.btn-view-mode{padding:var(--spacing-xs) var(--spacing-md);border:none;background-color:transparent;border-radius:var(--border-radius-sm, 6px);cursor:pointer;transition:background-color .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-color-secondary);flex-grow:1;text-align:center}.btn-view-mode:hover:not(.active){color:var(--text-color)}.btn-view-mode.active{background-color:var(--background-color, #fff);color:var(--primary-color-dark);font-weight:var(--font-weight-bold);box-shadow:var(--box-shadow-md, 0 2px 8px rgba(0, 0, 0, .1))}.new-task-end-date-section{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;width:100%}.new-task-end-date-section label{font-size:var(--font-size-sm);color:var(--text-muted-color);white-space:nowrap}.task-end-date-input,.task-edit-end-date-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--background-color);color:var(--text-color);font-size:var(--font-size-sm);flex-grow:1}.new-task-subtasks-section{width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--background-color)}.new-task-subtasks-list-container{max-height:150px;overflow-y:auto;margin-top:var(--spacing-xs);padding:var(--spacing-xs);padding-right:var(--spacing-xxs)}.new-task-optional-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs);margin-bottom:var(--spacing-sm);width:100%;justify-content:flex-start;flex-wrap:wrap}.new-task-subtask-input-group{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.new-task-subtask-input{flex-grow:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);background-color:var(--background-color);transition:border-color .2s ease,box-shadow .2s ease}.new-task-subtask-input:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring)}.add-new-subtask-btn{white-space:nowrap}.new-task-subtasks-list{list-style:none;padding:0;margin:0;font-size:var(--font-size-sm);color:var(--text-color)}.new-task-subtasks-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-color-light, #f1f3f5)}.new-task-subtasks-list li:last-child{border-bottom:none}.new-task-subtasks-list li span{word-break:break-all}.remove-new-subtask-btn{background:none;border:none;color:var(--danger-color);font-weight:700;cursor:pointer;font-size:1.2rem;padding:0 var(--spacing-xs);opacity:.7;transition:opacity .2s ease,color .2s ease}.remove-new-subtask-btn:hover{opacity:1;color:var(--danger-color-dark)}.task-edit-end-date-input{flex-basis:150px;min-width:120px}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;font-size:1.2em;color:var(--text-muted-color);opacity:.6;transition:opacity .2s ease,color .2s ease;padding:0 var(--spacing-xxs)}.drag-handle:hover{opacity:1;color:var(--primary-color-dark)}.improved-task-list-li.dragging{box-shadow:var(--box-shadow-xl);background-color:var( --primary-color-xxlight );border-color:var(--primary-color-light)}.task-edit-form{flex-direction:column;gap:var(--spacing-xs)}.task-edit-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs);justify-content:flex-end;width:100%}.task-edit-save-btn,.task-edit-cancel-btn{flex-grow:0;flex-shrink:0;width:auto;min-width:80px}.task-indicators{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}@media (max-width: 900px){.engagement-widgets-layout{flex-direction:column;align-items:center;gap:var(--spacing-lg)}.improved-task-list,.calendar-widget-container{min-width:275px;width:100%}.task-list-empty{font-size:var(--font-size-sm);padding:var(--spacing-md, 1.5rem) var(--spacing-sm)}.task-list-tip{font-size:var(--font-size-sm, .9rem);padding:var(--spacing-sm, 1rem) 0}.calendar-controls{flex-direction:column;align-items:stretch;gap:var(--spacing-sm, 1rem)}.calendar-nav-btn{width:100%;justify-content:center}}@media print{.no-print{display:none!important}.engagement-main-container{width:100%!important;max-width:none!important;box-shadow:none!important;border:none!important;border-radius:0!important}.calendar-grid-container{display:table;width:100%;border-collapse:collapse}.calendar-header-day,.calendar-day{display:table-cell;padding:8px;border:1px solid #ddd}.calendar-header-day{background:var(--primary-color);color:#fff;font-weight:700}.calendar-day{background:#fff;color:#000}body{font-size:12pt!important}h2,h3{page-break-after:avoid}button,[class*=btn]{display:none!important}}.edited-indicator{font-size:.8em;color:var(--text-muted-color);margin-left:4px;font-style:italic}.modal-content.copy-task-modal .modal-content-inner{max-width:1100px;width:90vw}.copy-task-modal-content{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xxl);outline:none}.copy-task-modal-main-area{display:flex;flex-direction:row;gap:var(--spacing-xl);min-height:400px;align-items:flex-start}.copy-task-modal-calendar{flex:0 0 400px;display:flex;flex-direction:column}.copy-task-modal-calendar h4,.copy-task-modal-list h4{font-size:var(--font-size-h4);color:var(--primary-color-dark);margin-bottom:var(--spacing-md);text-align:center}.copy-task-modal-list{flex:1;display:flex;flex-direction:column;min-width:0}.copy-task-select-all-action{margin-bottom:var(--spacing-sm);text-align:right}.copy-task-separator{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-muted-color);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0}.copy-task-separator hr{flex-grow:1;border:none;border-top:1px solid var(--border-color)}.copy-task-separator span{font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.copy-task-modal-list ul{list-style:none;margin:0;background-color:var(--background-color-subtle);border-radius:var(--border-radius-lg);padding:var(--spacing-sm);flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm);box-shadow:inset 0 1px 3px rgba(var(--shadow-base-color-rgb),.05)}.copy-task-item{display:flex;align-items:center;cursor:pointer;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);background-color:var(--background-color);border:1px solid var(--border-color);box-shadow:var(--box-shadow-sm);transition:background-color .2s ease-in-out,box-shadow .2s ease-in-out,border-color .2s ease-in-out,transform .2s ease-in-out}.copy-task-item:hover{border-color:var(--primary-color);background-color:var(--primary-color-xlight);transform:translateY(-2px);box-shadow:var(--box-shadow-lg)}.copy-task-item.selected{border-color:var(--primary-color-dark);background-color:var(--primary-color-light);box-shadow:inset 3px 0 0 0 var(--success-color)}.copy-task-item input[type=checkbox]{transform:scale(1.1);cursor:pointer;margin:0;flex-shrink:0}.copy-task-label-text{flex-grow:1;font-size:var(--font-size-base);color:var(--text-color);-webkit-user-select:none;user-select:none}.copy-task-time{font-size:.9em;color:var(--text-muted-color);font-weight:var(--font-weight-semibold);margin-right:var(--spacing-xxs)}.copy-task-options{display:flex;justify-content:center;margin-top:var(--spacing-md)}.copy-task-end-date-section{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--background-color-subtle)}.copy-task-end-date-section label{font-size:var(--font-size-sm);color:var(--text-muted-color);white-space:nowrap}.copy-task-end-date-input{padding:var(--spacing-xxs) var(--spacing-xs);border:1px solid var(--border-color-light);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);background-color:var(--background-color);color:var(--text-color)}@media (max-width: 820px){.copy-task-modal-main-area{flex-direction:column;min-height:auto;gap:var(--spacing-lg)}.copy-task-modal-calendar{max-width:100%}}.past-task-warning{background-color:#ffecb3;border:1px solid #ffe082;border-radius:var(--border-radius-base);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);text-align:center;font-size:.95rem;color:#6d4c41}.past-task-warning p{margin:0;font-weight:500}.task-details-modal-content [disabled]{cursor:not-allowed;opacity:.6}.task-details-modal-content .btn-link[disabled]{text-decoration:none;color:var(--color-text-muted);pointer-events:none}.task-details-modal-content .btn-link[disabled]:hover{text-decoration:none}.task-details-modal-content{padding:var(--spacing-md);max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.task-details-meta{background-color:var(--primary-color-xlight, #e7f3ff);border-left:4px solid var(--primary-color, #007bff);padding:var(--spacing-sm) var(--spacing-md);margin:0 0 var(--spacing-lg) 0;border-radius:0 var(--border-radius) var(--border-radius) 0;font-size:var(--font-size-base);color:var(--text-color-secondary);display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-md)}.subtask-edit-area{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.task-details-meta strong{color:var(--primary-color-dark);font-weight:var(--font-weight-bold);margin-right:var(--spacing-xxs)}.task-details-meta .meta-separator{margin-left:var(--spacing-sm);padding-left:var(--spacing-sm);border-left:1px solid var(--border-color-muted)}.task-details-completed-status{font-weight:var(--font-weight-bold);color:var(--success-color-dark);background-color:var(--success-color-xlight);padding:2px 6px;border-radius:var(--border-radius-sm);margin-left:auto}.task-details-section h4{font-size:var(--font-size-h4, 1.1rem);color:var(--primary-color-dark);margin:var(--spacing-sm) 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color-light);letter-spacing:.01em}.description-display-area .description-text{margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-base);white-space:pre-wrap;word-break:break-word;background-color:var(--background-color-subtle);padding:var(--spacing-md);border-radius:var(--border-radius-sm);min-height:50px}.description-display-area .text-muted{font-style:italic;padding:var(--spacing-sm)}.description-view-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.edit-description-btn{margin-top:var(--spacing-xxs);font-size:var(--font-size-sm)}.description-edit-area .task-details-textarea{width:100%;min-height:80px;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);background-color:var(--background-color);color:var(--text-color);resize:vertical;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.description-edit-area .task-details-textarea:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.link-display-area{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.task-link-display{color:var(--primary-color);text-decoration:underline;word-break:break-all;padding:var(--spacing-xs) 0;display:inline-block;max-width:100%;transition:color .2s ease}.task-link-display:hover{color:var(--primary-color-dark)}.edit-link-btn,.add-link-btn{font-size:var(--font-size-sm)}.link-edit-area .task-details-input{width:100%;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);background-color:var(--background-color);color:var(--text-color);box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.link-edit-area .task-details-input:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.subtask-add-form{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);align-items:center}.subtask-add-form .subtask-input{flex-grow:1;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);background-color:var(--background-color);color:var(--text-color);transition:border-color .2s ease,box-shadow .2s ease}.subtask-add-form .subtask-input:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.subtask-add-form .add-subtask-btn{padding:var(--spacing-sm) var(--spacing-md);min-width:100px;line-height:1;font-weight:var(--font-weight-medium);white-space:nowrap}.subtasks-batch-actions{margin-bottom:var(--spacing-sm);display:flex;justify-content:flex-start}.subtask-list-wrapper{max-height:200px;overflow-y:auto;padding-right:var(--spacing-xs)}.subtask-list{list-style:none;padding:var(--spacing-sm);margin:0;border:1px solid var(--border-color-light);border-radius:var(--border-radius-md)}.subtask-item:last-child{border-bottom:none}.subtask-item.completed .subtask-text{text-decoration:line-through;color:var(--text-muted-color);opacity:.8}.subtask-checkbox-label input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.subtask-checkbox-label .custom-checkbox{width:20px;height:20px;border-radius:var(--border-radius-sm);border:2px solid var(--border-color-light);background:var(--background-color-subtle);position:relative;flex-shrink:0;transition:border-color .18s ease,background .18s ease}.subtask-checkbox-label input[type=checkbox]:focus+.custom-checkbox{border-color:var(--primary-color);box-shadow:var(--focus-ring)}.subtask-checkbox-label input[type=checkbox]:checked+.custom-checkbox{border-color:var(--success-color);background:var(--success-color-background)}.subtask-checkbox-label input[type=checkbox]:checked+.custom-checkbox:after{content:"";display:block;width:7px;height:12px;border:solid var(--success-color);border-width:0 2.5px 2.5px 0;position:absolute;left:50%;top:45%;transform:translate(-50%,-50%) rotate(45deg)}.subtask-text{flex-grow:1;line-height:var(--line-height-base);word-break:break-word;color:var(--text-color)}.delete-subtask-btn{background:none;border:none;color:var(--text-muted-color);font-size:1.1rem;cursor:pointer;padding:var(--spacing-xxs);line-height:1;flex-shrink:0;opacity:.5;border-radius:var(--border-radius-sm);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease,opacity .2s ease,background-color .2s ease}.delete-subtask-btn:hover{color:var(--danger-color);background-color:var(--danger-color-xxlight, #fff1f2);opacity:1}.description-actions,.link-actions{display:flex;gap:var(--spacing-lg);justify-content:flex-end;margin-top:var(--spacing-xs);flex-wrap:wrap}.description-actions button,.link-actions button{padding:var(--spacing-xs) var(--spacing-md);min-width:80px;line-height:1.3;font-weight:var(--font-weight-medium);transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.description-actions .btn-warning{background-color:transparent;border:1px solid var(--warning-color, #ffc107);color:var(--warning-color-dark, #b37700)}.description-actions .btn-warning:hover{background-color:var(--warning-color-xlight, #fff8e1);border-color:var(--warning-color-dark, #b37700);color:var(--warning-color-darker, #8c5e00);box-shadow:var(--box-shadow-sm)}.description-actions .btn-secondary{background-color:var(--background-color-muted, #f0f0f0);border:1px solid var(--border-color-light, #e0e0e0);color:var(--text-color)}.description-actions .btn-secondary:hover{background-color:var(--border-color-light, #e9e9e9);border-color:var(--border-color-muted, #d0d0d0);box-shadow:var(--box-shadow-sm)}.input-error-message{color:var(--danger-color, #dc3545);font-size:var(--font-size-sm, .875rem);margin:var(--spacing-xxs, 4px) 0 var(--spacing-xs, 8px) 0}.text-muted{color:var(--text-muted-color);font-style:italic}.task-details-modal-content button:focus-visible,.task-details-modal-content input:focus-visible,.task-details-modal-content textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast: high){.task-details-meta,.task-details-section h4,.subtask-list{border-color:var(--text-color)}.subtask-item{border-bottom-color:var(--text-color)}.custom-checkbox{border-color:var(--text-color)}}@media (prefers-reduced-motion: reduce){.task-details-modal-content *,.task-details-modal-content *:before,.task-details-modal-content *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width: 768px){.task-details-modal-content{padding:var(--spacing-xs);gap:var(--spacing-md)}.description-actions,.link-actions{flex-direction:column;align-items:stretch}.description-actions button,.link-actions button{width:100%;margin-bottom:var(--spacing-xs)}.subtask-add-form{flex-direction:column;align-items:stretch}.subtask-add-form .add-subtask-btn{margin-top:var(--spacing-xs)}}.subtask-edit-area .task-details-input{width:100%;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);background-color:var(--background-color);color:var(--text-color);box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.subtask-edit-area .task-details-input:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}button,.btn-link{cursor:pointer}.end-date-display-area .end-date-text{margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-base);background-color:var(--background-color-subtle);padding:var(--spacing-md);border-radius:var(--border-radius-sm);min-height:50px;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);color:var(--primary-color-dark)}.end-date-edit-area input[type=date]{width:100%;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);background-color:var(--background-color);color:var(--text-color);box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.end-date-edit-area input[type=date]:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.end-date-actions{display:flex;gap:var(--spacing-lg);justify-content:flex-end;margin-top:var(--spacing-xs);flex-wrap:wrap}.end-date-actions button{padding:var(--spacing-xs) var(--spacing-md);min-width:80px;line-height:1.3;font-weight:var(--font-weight-medium);transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.edit-end-date-btn,.add-end-date-btn,.clear-end-date-btn{font-size:var(--font-size-sm)}.subtask-item{display:flex;align-items:center;gap:var(--spacing-xs)}.subtask-checkbox-label{flex-grow:1;display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer}.drag-handle{cursor:grab;padding:0 var(--spacing-xs);color:var(--text-muted-color);opacity:.6;transition:opacity .2s ease,color .2s ease}.drag-handle:hover{opacity:1;color:var(--primary-color)}.subtask-item.dragging{background-color:var(--primary-color-xlight);box-shadow:var(--box-shadow-lifted);border-radius:var(--border-radius-md);border:1px solid var(--primary-color-light)}.subtask-item.dragging .subtask-text{color:var(--primary-color-dark)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.ai-chat-section{min-height:70vh;overflow:hidden;display:flex;flex-direction:column}.chat-interface{display:flex;flex-direction:column;width:100%;background-color:var(--background-color);overflow:hidden;min-height:70vh}.chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md);min-height:0;flex-grow:1}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:var(--light-color)}.chat-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-color);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--text-muted-color)}.message-bubble{max-width:70%;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-lg);position:relative;word-wrap:break-word;box-shadow:var(--box-shadow-sm)}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.message-bubble.user{align-self:flex-end;background-color:var(--primary-color);color:#fff;border-bottom-right-radius:var(--border-radius-sm)}.message-bubble.ai{align-self:flex-start;background-color:var(--light-color);color:var(--text-color);border:1px solid var(--border-color);border-bottom-left-radius:var(--border-radius-sm)}.message-bubble.error-message{background-color:var(--danger-color-background);border-color:var(--danger-color-border);color:var(--danger-color)}.message-bubble.ai.error-message[data-stopped=true]{background-color:var(--background-color-subtle);border:1px solid var(--border-color-soft);color:var(--text-color-secondary)}.message-text{line-height:var(--line-height-base);margin-bottom:var(--spacing-xxxs)}.message-text a{color:var(--primary-color);text-decoration:underline;text-decoration-color:rgba(var(--primary-color-rgb),.4);text-underline-offset:2px;transition:all .2s ease}.message-text a:hover{color:var(--primary-color-dark);text-decoration-color:var(--primary-color-dark)}.message-bubble.user .message-text a{color:#ffffffe6;text-decoration-color:#fff9}.message-bubble.user .message-text a:hover{color:#fff;text-decoration-color:#fff}.message-text .inline-code{background-color:var(--border-color);padding:2px 4px;border-radius:var(--border-radius-sm);font-family:var(--font-family-mono);font-size:.9em}.message-bubble.user .message-text .inline-code{background-color:#ffffff26;color:#fffffff2;border-color:#ffffff4d}.message-text img{max-width:100%;height:auto;border-radius:var(--border-radius);margin:var(--spacing-xs) 0;box-shadow:0 2px 8px #0000001a}.message-text ul,.message-text ol{margin:var(--spacing-xs) 0;padding-left:var(--spacing-md)}.message-text li{margin:var(--spacing-xxs) 0;line-height:1.5}.message-text blockquote{margin:var(--spacing-sm) 0;padding:var(--spacing-xs) var(--spacing-sm);border-left:4px solid var(--primary-color);background-color:rgba(var(--primary-color-rgb),.05);border-radius:0 var(--border-radius) var(--border-radius) 0;font-style:italic;color:var(--text-color-secondary)}.message-bubble.user .message-text blockquote{border-left-color:#fffc;background-color:#ffffff1a}.message-text .table-wrapper{overflow-x:auto;margin:var(--spacing-sm) 0;border-radius:var(--border-radius);border:1px solid var(--border-color)}.message-text table{width:100%;border-collapse:collapse;font-size:.9em}.message-text th,.message-text td{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;border-bottom:1px solid var(--border-color)}.message-text th{background-color:var(--background-color-subtle);font-weight:var(--font-weight-semibold);border-bottom:2px solid var(--border-color)}.message-text tr:last-child td{border-bottom:none}.message-text tr:nth-child(2n){background-color:rgba(var(--background-color-subtle-rgb),.3)}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{margin:var(--spacing-sm) 0 var(--spacing-xs) 0;line-height:1.3;color:var(--text-color-dark)}.message-text h1{font-size:1.5em;font-weight:var(--font-weight-bold);border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-xs)}.message-text h2{font-size:1.3em;font-weight:var(--font-weight-semibold)}.message-text h3{font-size:1.2em;font-weight:var(--font-weight-semibold)}.message-text h4,.message-text h5,.message-text h6{font-size:1.1em;font-weight:var(--font-weight-medium)}.message-bubble.user .message-text h1,.message-bubble.user .message-text h2,.message-bubble.user .message-text h3,.message-bubble.user .message-text h4,.message-bubble.user .message-text h5,.message-bubble.user .message-text h6{color:#fffffff2}.message-text p{margin:0 0 var(--spacing-xs) 0;line-height:1.6}.message-text p:last-child{margin-bottom:0}.message-footer{display:flex;justify-content:space-between;flex-direction:row-reverse;align-items:flex-end;gap:var(--spacing-sm);min-height:20px}.message-meta-container{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);flex:1}.timestamp{font-size:var(--font-size-sm);color:var(--text-muted-color);opacity:.8;line-height:1}.message-bubble.user .timestamp{color:#fffc}.edited-indicator,.retry-indicator{font-size:var(--font-size-sm);color:var(--text-muted-color);font-style:italic;opacity:.8;line-height:1}.message-bubble.user .edited-indicator,.message-bubble.user .retry-indicator{color:#fffc}.message-actions-container{display:flex;align-items:center;gap:var(--spacing-xxs);opacity:0;transition:opacity .2s ease;flex-shrink:0}.message-bubble:hover .message-actions-container{opacity:1}.action-button{background:none;border:none;padding:var(--spacing-xxs);border-radius:var(--border-radius-pill);cursor:pointer;color:var(--text-muted-color);display:flex;align-items:center;justify-content:center;transition:all .2s ease;width:28px;height:28px;position:relative}.action-button svg{width:14px;height:14px;transition:all .2s ease}.action-button:hover{background-color:var(--border-color-light);color:var(--text-color);transform:translateY(-1px)}.action-button:hover svg{transform:scale(1.1)}.message-bubble.user .action-button{color:#ffffffb3}.message-bubble.user .action-button:hover{background-color:#ffffff26;color:#fff}.edit-button:hover{background-color:var(--border-color-light);color:var(--secondary-color)}.message-bubble.user .edit-button:hover{background-color:#ffffff26;color:#fff}.retry-button{color:var(--primary-color)!important;opacity:1!important}.retry-button:hover:not(:disabled){background-color:var(--primary-color-xlight)!important;color:var(--primary-color-dark)!important;transform:translateY(-1px)}.message-bubble.error-message[data-stopped=true] .retry-button{color:var(--secondary-color)!important}.message-bubble.error-message[data-stopped=true] .retry-button:hover:not(:disabled){background-color:var(--border-color-light)!important;color:var(--dark-color)!important}.message-bubble.error-message[data-stopped=false] .retry-button{color:var(--danger-color)!important}.message-bubble.error-message[data-stopped=false] .retry-button:hover:not(:disabled){background-color:var(--danger-color-background)!important;color:var(--danger-color-dark)!important}.ai-code-container{margin:var(--spacing-sm) 0;border-radius:var(--border-radius);overflow:hidden;background-color:var(--code-bg-dark);border:1px solid rgba(255,255,255,.1)}.ai-code-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background-color:#0000001a;border-bottom:1px solid rgba(255,255,255,.1)}.ai-code-lang{font-size:var(--font-size-sm);color:var(--code-fg-light);font-weight:var(--font-weight-medium)}.copy-button{display:flex;align-items:center;gap:var(--spacing-xxs);padding:var(--spacing-xxs) var(--spacing-xs);background-color:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius-sm);color:var(--code-fg-light);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.copy-button:hover{background-color:#ffffff1a;border-color:#ffffff4d}.ai-code-block{margin:0;padding:var(--spacing-sm);background:transparent;overflow-x:auto}.ai-code-block code{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.5}pre.ai-code-block{color:var(--code-fg-light);margin:0!important;overflow-x:auto;font-size:.9em;line-height:1.4;white-space:pre;background:transparent}pre.ai-code-block code{background:transparent;padding:0;border-radius:0;font-family:inherit;color:inherit}.enhanced-typing-indicator{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);margin:var(--spacing-xs) 0;max-width:220px;margin-right:auto;background-color:var(--background-color-subtle);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);border-bottom-left-radius:var(--border-radius-sm);transition:opacity .3s ease,transform .3s ease;animation:slideInLeft .3s var(--easing-cubic) forwards;align-self:flex-start}.enhanced-typing-indicator.visible{opacity:1;transform:translate(0)}.enhanced-typing-indicator.hidden{opacity:0;transform:translate(-20px);pointer-events:none}.typing-dot{width:8px;height:8px;border-radius:50%;background-color:var(--primary-color);animation:typingBounce 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.typing-text{font-size:var(--font-size-sm);color:var(--text-muted-color);font-style:italic;white-space:nowrap;margin-left:var(--spacing-xs);animation:fadeInOut 2s infinite ease-in-out}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}.chat-input-form{display:flex;flex-direction:column;padding:var(--spacing-sm);background-color:var(--background-color);border-top:1px solid var(--border-color);min-height:auto}.chat-input-header{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xxs) var(--spacing-md);border-bottom:1px solid var(--border-color-light);margin-bottom:var(--spacing-sm)}.chat-controls-top{display:flex;justify-content:space-between;align-items:center;width:100%}.model-selection-area{display:flex;align-items:center;gap:var(--spacing-xs)}.model-select-label{font-size:var(--font-size-sm);color:var(--text-muted-color);font-weight:var(--font-weight-semibold)}.model-selector{position:relative;flex-grow:0;flex-shrink:0}.model-selector select{background-color:var(--background-color-subtle);border:1px solid var(--border-color-light);border-radius:var(--border-radius);padding:var(--spacing-xxs) var(--spacing-sm);font-family:var(--font-family-sans-serif);font-size:var(--font-size-sm);color:var(--text-color);cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--spacing-lg);min-width:120px}.model-selector:after{content:"▼";font-size:.6em;color:var(--text-muted-color);position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);pointer-events:none}.model-selector select:hover{border-color:var(--primary-color-light);background-color:var(--light-color)}.model-selector select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.2)}.model-selector select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--border-color)}.new-chat-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xxs);background-color:var(--background-color-subtle);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-xxs) var(--spacing-md);font-family:var(--font-family-sans-serif);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;box-shadow:none;white-space:nowrap;min-width:100px;height:38px}.new-chat-button:hover:not(:disabled){background-color:var(--light-color);box-shadow:var(--box-shadow-sm)}.new-chat-button:disabled{opacity:.6;cursor:not-allowed;background-color:var(--border-color);color:var(--text-muted-color)}.new-chat-button svg{width:18px;height:18px;transition:transform .2s ease}.new-chat-button:hover:not(:disabled) svg{transform:scale(1.1)}.chat-input-controls{display:flex;align-items:flex-end;gap:var(--spacing-sm);width:100%;max-width:900px;margin:0 auto;position:relative;padding:var(--spacing-xxs);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background-color:var(--background-color-alt);box-shadow:var(--box-shadow-md);transition:border-color .2s ease,box-shadow .2s ease}.chat-input-controls:focus-within{border-color:var(--primary-color);box-shadow:none}.chat-input-controls textarea{flex:1;max-height:200px;padding:var(--spacing-sm) var(--spacing-md);padding-right:50px;border:none;border-radius:var(--border-radius-lg);resize:none;font-family:var(--font-family-sans-serif);font-size:var(--font-size-base);line-height:1.6;background-color:transparent;transition:all .2s ease;outline:none;box-sizing:border-box;color:var(--text-color)}.chat-input-controls textarea::placeholder{color:var(--text-muted-color);opacity:.8}.chat-input-controls textarea:focus{outline:none;box-shadow:none}.chat-input-controls button{position:absolute;right:var(--spacing-md);bottom:var(--spacing-md);width:40px;height:40px;padding:0;border:none;border-radius:var(--border-radius-pill);background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:var(--box-shadow-sm)}.chat-input-controls button svg{width:20px;height:20px;vertical-align:middle}.chat-input-controls button:hover:not(:disabled){background-color:var(--primary-color-dark);transform:translateY(-1px) scale(1.05);box-shadow:var(--box-shadow-md)}.chat-input-controls button:disabled{background-color:var(--border-color);color:var(--text-muted-color);cursor:not-allowed;transform:none;box-shadow:none}.chat-input-controls button[type=submit]:not(:disabled){background-color:var(--primary-color);color:#fff;animation:popIn .2s var(--easing-cubic) forwards}.chat-input-controls button[type=submit]:not(:disabled):hover{background-color:var(--primary-color-dark)}.chat-input-controls .stop-button{background-color:var(--danger-color);color:#fff}.chat-input-controls .stop-button:hover{background-color:var(--danger-color-dark)}@media (max-width: 768px){.chat-input-header{flex-direction:column;align-items:flex-start;padding:var(--spacing-xs)}.chat-controls-top{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.model-selection-area{width:100%;justify-content:space-between}.new-chat-button{width:100%;margin-top:var(--spacing-xs)}.chat-input-controls{padding:var(--spacing-xs);border-radius:var(--border-radius-lg)}.chat-input-controls textarea{padding:var(--spacing-sm);padding-right:50px}.chat-input-controls button{right:var(--spacing-sm);bottom:var(--spacing-sm)}}.ai-assistant-container{padding:var(--spacing-lg) var(--spacing-xl);max-width:var(--container-max-width);margin:0 auto;display:flex;flex-direction:column;min-height:calc(100vh - var(--navbar-height))}.ai-assistant-header{text-align:center;margin-bottom:var(--spacing-lg);flex-shrink:0}.ai-assistant-header h1{color:var(--primary-color-dark)}.ai-assistant-header p{font-size:var(--font-size-lg);color:var(--text-muted-color);max-width:600px;margin:var(--spacing-xs) auto 0}.ai-chat-section{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--background-color);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);border:1px solid var(--border-color);min-height:400px}.ai-assistant-footer{text-align:center;margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-muted-color);flex-shrink:0}*,*:before,*:after{box-sizing:border-box}:root{--primary-color: #007bff;--primary-color-rgb: 0, 123, 255;--primary-color-dark: #005cb2;--primary-color-light: #e0f0ff;--primary-color-xlight: #e7f3ff;--primary-color-lightest: #e3f0ff;--secondary-color: #6c757d;--secondary-color-background: #e3eaf5;--secondary-color-border: #b3c6e0;--success-color: #28a745;--success-color-light: #d4edda;--success-color-dark: #1e7e34;--success-color-background: #e6f4ea;--success-color-border: #b7e4c7;--warning-color: #ffc107;--warning-color-dark: #d39e00;--warning-color-background: #fff8e1;--warning-color-border: #ffe082;--danger-color: #dc3545;--danger-color-dark: #bd2130;--danger-color-rgb: 220, 53, 69;--danger-color-background: #fdecea;--danger-color-border: #f5c6cb;--danger-color-xlight: rgba( var(--danger-color-rgb), .1 );--light-color: #f8f9fa;--light-bg-color: #f9f9f9;--dark-color: #343a40;--dark-color-rgb: 52, 58, 64;--text-color: #212529;--text-muted-color: #5a6268;--text-color-secondary: #555555;--background-color: #fff;--page-background-color: #eef2f7;--border-color: #e9ecef;--border-color-light: #f1f3f5;--border-color-extralight: #f7f9fc;--border-color-soft: #e3eaf5;--border-color-muted: #e0e0e0;--background-color-offset: #e6f7ff;--primary-color-xxlight: rgba(var(--primary-color-rgb), .075);--code-bg-dark: #2d2d2d;--code-fg-light: #f8f8f2;--background-color-subtle: #eaf1fb;--background-color-muted: #f0f0f0;--glass-border-color: rgba(180, 200, 255, .13);--scrollbar-thumb-color: rgba(var(--dark-color-rgb), .1);--shadow-base-color-rgb: 40, 60, 90;--font-family-mono: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", "Courier New", monospace;--glass-bg-hover: rgba(255, 255, 255, .9);--chart-height: 250px;--chart-max-width: 350px;--font-family-sans-serif: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-base: 1rem;--font-size-sm: .875rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-xxl: 2rem;--font-size-h1: 2.5rem;--font-size-h2: 1.75rem;--font-size-h3: 1.3rem;--font-size-h4: 1.2rem;--font-size-icon: 1.8rem;--font-size-icon-lg: 2rem;--line-height-base: 1.6;--line-height-lg: 1.8;--font-weight-normal: 400;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-medium: 500;--text-color-dark: #1a202c;--background-color-subtle-rgb: 234, 241, 251;--spacing-xxxs: .125rem;--spacing-xxs: .25rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 2.5rem;--container-max-width: 1200px;--navbar-height: 60px;--modal-width-default: 90%;--modal-max-width-sm: 450px;--border-radius-sm: .2rem;--border-radius: 8px;--border-radius-lg: 16px;--dsa-card-border-radius: 12px;--border-radius-pill: 999px;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 3px;--border-width-accent: 4px;--glass-bg: rgba(255, 255, 255, .82);--glass-blur: blur(4px) saturate(1.18);--shadow-elevate: 0 8px 32px 0 rgba(var(--shadow-base-color-rgb), .16), 0 2px 8px 0 rgba(var(--shadow-base-color-rgb), .1);--box-shadow-sm: 0 1px 3px rgba(var(--shadow-base-color-rgb), .05);--box-shadow: 0 3px 8px rgba(var(--shadow-base-color-rgb), .08);--box-shadow-md: 0 4px 12px rgba(var(--shadow-base-color-rgb), .07);--box-shadow-lg: 0 6px 16px rgba(var(--shadow-base-color-rgb), .1);--box-shadow-xl: 0 8px 24px rgba(var(--shadow-base-color-rgb), .12);--box-shadow-small: 0 2px 8px rgba(var(--shadow-base-color-rgb), .04);--box-shadow-large: 0 4px 15px rgba(var(--shadow-base-color-rgb), .08);--transition-fast: all .15s var(--easing-cubic);--transition-base: all .2s var(--easing-cubic);--transition-color: color .18s var(--easing-cubic), background-color .18s var(--easing-cubic), border-color .18s var(--easing-cubic);--transition-all: all .22s var(--easing-cubic);--easing-cubic: cubic-bezier(.4, 0, .2, 1);--focus-ring: 0 0 0 3px rgba(var(--primary-color-rgb), .22)}body{font-family:var(--font-family-sans-serif);color:var(--text-color);background-color:var(--page-background-color);font-size:var(--font-size-base);line-height:var(--line-height-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;letter-spacing:.01em;margin:0;padding:0}h1,h2,h3,h4{text-shadow:0 1px 2px rgba(var(--shadow-base-color-rgb),.07);letter-spacing:.02em;margin-top:0}h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold)}h4{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold)}h5,h6{font-size:var(--font-size-base);font-weight:var(--font-weight-normal)}.dashboard-description{color:var(--text-muted-color);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);text-align:center;line-height:1.5}a{color:var(--primary-color);text-decoration:none;transition:var(--transition-color);border-radius:var(--border-radius-sm);outline:none}a:hover,a:focus-visible{color:var(--primary-color-dark);text-decoration:underline;box-shadow:var(--focus-ring)}button{font-family:var(--font-family-sans-serif);cursor:pointer;border-radius:var(--border-radius);transition:var(--transition-base);border:var(--border-width-thin) solid var(--border-color);background-color:var(--background-color);color:var(--text-color);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);line-height:1.5;font-weight:var(--font-weight-semibold);box-shadow:0 1px 2px rgba(var(--shadow-base-color-rgb),.05);outline:none}button:hover,button:focus-visible{border-color:var(--primary-color);background-color:var(--light-color);color:var(--primary-color);box-shadow:var(--focus-ring)}button.btn-primary{background-color:var(--primary-color);color:var(--background-color);border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.08)}button.btn-primary:hover,button.btn-primary:focus-visible{background-color:var(--primary-color-dark);border-color:var(--primary-color-dark);color:var(--background-color)}button.btn-secondary{background-color:var(--secondary-color);color:var(--background-color);border-color:var(--secondary-color)}button.btn-secondary:hover,button.btn-secondary:focus-visible{background-color:var(--dark-color);border-color:var(--dark-color);color:var(--background-color)}button.btn-danger{background-color:var(--danger-color);color:var(--background-color);border-color:var(--danger-color);box-shadow:0 2px 8px rgba(var(--danger-color-rgb),.08)}button.btn-danger:hover,button.btn-danger:focus-visible{background-color:var(--danger-color-dark);border-color:var(--danger-color-dark);color:var(--background-color)}.card{background:var(--glass-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-elevate);border:1px solid var(--glass-border-color);padding:var(--spacing-lg);transition:var(--transition-all);margin-bottom:var(--spacing-lg);animation:fadeInCard .7s var(--easing-cubic)}@keyframes fadeInCard{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.card:hover{background:var(--glass-bg-hover);box-shadow:0 12px 40px rgba(var(--shadow-base-color-rgb),.18);border-color:var(--primary-color)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--primary-color);margin-bottom:var(--spacing-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-color);border-radius:8px}@media (max-width: 768px){.card{border-radius:var(--border-radius);padding:var(--spacing-md)}button,.btn-primary,.btn-secondary{min-height:44px;font-size:1.08em}}.page-loading-spinner{display:flex;justify-content:center;align-items:center;min-height:60vh;font-size:var(--font-size-lg);color:var(--primary-color)}.main-content{animation:fadeInCard .7s var(--easing-cubic)}
