@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--twp-font-family);font-size:var(--twp-font-size-md);font-weight:var(--twp-font-weight-normal);line-height:var(--twp-line-height-relaxed);color:var(--twp-primary-dark);background-color:var(--twp-background);min-height:100vh}blockquote,body,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,legend,ol,p,pre,ul{margin:0;padding:0}ol[role=list],ul[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}img,picture{max-width:100%;display:block;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none}h1{font-size:var(--twp-font-size-5xl);letter-spacing:var(--twp-letter-spacing-tight)}h1,h2{font-weight:var(--twp-font-weight-bold);line-height:var(--twp-line-height-normal);color:var(--twp-primary-dark)}h2{font-size:var(--twp-font-size-4xl)}h3{font-size:var(--twp-font-size-3xl)}h3,h4{font-weight:var(--twp-font-weight-semibold);line-height:var(--twp-line-height-normal);color:var(--twp-primary-dark)}h4{font-size:var(--twp-font-size-xl)}h5{font-size:var(--twp-font-size-lg)}h5,h6{font-weight:var(--twp-font-weight-medium);line-height:var(--twp-line-height-normal);color:var(--twp-primary-dark)}h6{font-size:var(--twp-font-size-base);text-transform:uppercase;letter-spacing:var(--twp-letter-spacing-wide)}p{font-size:var(--twp-font-size-md);line-height:var(--twp-line-height-relaxed);color:var(--twp-primary-dark);margin-bottom:var(--twp-space-4)}p:last-child{margin-bottom:0}a{color:var(--twp-primary);text-decoration:none;transition:var(--twp-transition-fast)}a:hover{color:var(--twp-primary-light);text-decoration:underline}a:focus-visible{outline:2px solid var(--twp-primary);outline-offset:2px;border-radius:var(--twp-radius-sm)}b,strong{font-weight:var(--twp-font-weight-semibold);color:var(--twp-primary-dark)}em,i{font-style:italic;color:var(--twp-secondary)}small{font-size:var(--twp-font-size-sm);color:var(--twp-grey-500)}code{font-size:var(--twp-font-size-sm);padding:var(--twp-space-1) var(--twp-space-2);border-radius:var(--twp-radius-sm)}code,pre{font-family:var(--twp-font-family-mono);background-color:var(--twp-grey-100);color:var(--twp-primary-dark)}pre{padding:var(--twp-space-4);border-radius:var(--twp-radius-base);overflow-x:auto;white-space:pre;line-height:var(--twp-line-height-normal)}.ai-summary-content p{margin:0 0 8px}.ai-summary-content p:last-child{margin:0}.ai-summary-content strong{color:var(--twp-primary-dark);font-weight:600}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{display:block;width:100%;padding:var(--twp-space-3) var(--twp-space-4);border:1px solid var(--twp-grey-300);border-radius:var(--twp-radius-base);background-color:var(--twp-white);font-size:var(--twp-font-size-md);line-height:var(--twp-line-height-normal);transition:var(--twp-transition-fast)}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{outline:none;border-color:var(--twp-primary);box-shadow:var(--twp-shadow-focus)}input::placeholder,textarea::placeholder{color:var(--twp-grey-400)}textarea{resize:vertical;min-height:100px}select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--twp-space-3) center;background-repeat:no-repeat;background-size:16px 16px;padding-right:var(--twp-space-10)}label{display:inline-block;font-size:var(--twp-font-size-sm);color:var(--twp-primary-dark);margin-bottom:var(--twp-space-2)}button,label{font-weight:var(--twp-font-weight-medium)}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--twp-space-2);padding:var(--twp-space-3) var(--twp-space-4);border:1px solid transparent;border-radius:var(--twp-radius-base);font-size:var(--twp-font-size-md);line-height:var(--twp-line-height-normal);cursor:pointer;transition:var(--twp-transition-fast);text-decoration:none;white-space:nowrap}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:2px solid var(--twp-primary);outline-offset:2px}@media (max-width:768px){.mobile-menu-button{display:flex!important}nav[style*="display: flex"]{display:none!important}header>div{padding:0 16px!important}}.twp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.twp-focus-visible:focus-visible{outline:2px solid var(--twp-primary);outline-offset:2px;border-radius:var(--twp-radius-sm)}.twp-space-y-1>*+*{margin-top:var(--twp-space-1)}.twp-space-y-2>*+*{margin-top:var(--twp-space-2)}.twp-space-y-3>*+*{margin-top:var(--twp-space-3)}.twp-space-y-4>*+*{margin-top:var(--twp-space-4)}.twp-space-y-6>*+*{margin-top:var(--twp-space-6)}.twp-space-x-1>*+*{margin-left:var(--twp-space-1)}.twp-space-x-2>*+*{margin-left:var(--twp-space-2)}.twp-space-x-3>*+*{margin-left:var(--twp-space-3)}.twp-space-x-4>*+*{margin-left:var(--twp-space-4)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.twp-text-center{text-align:center}.twp-text-right{text-align:right}.twp-text-left{text-align:left}.twp-text-primary{color:var(--twp-primary)}.twp-text-secondary{color:var(--twp-secondary)}.twp-text-accent{color:var(--twp-accent-gold)}.twp-text-success{color:var(--twp-success)}.twp-text-warning{color:var(--twp-warning)}.twp-text-error{color:var(--twp-error)}.twp-text-muted{color:var(--twp-grey-500)}.twp-font-bold{font-weight:var(--twp-font-weight-bold)}.twp-font-semibold{font-weight:var(--twp-font-weight-semibold)}.twp-font-medium{font-weight:var(--twp-font-weight-medium)}.twp-font-normal{font-weight:var(--twp-font-weight-normal)}.twp-container{width:100%;max-width:var(--twp-content-max-width);margin:0 auto;padding:0 var(--twp-container-padding)}.twp-flex{display:flex}.twp-flex-col{flex-direction:column}.twp-items-center{align-items:center}.twp-justify-center{justify-content:center}.twp-justify-between{justify-content:space-between}.twp-gap-1{gap:var(--twp-space-1)}.twp-gap-2{gap:var(--twp-space-2)}.twp-gap-3{gap:var(--twp-space-3)}.twp-gap-4{gap:var(--twp-space-4)}.twp-bg-white{background-color:var(--twp-white)}.twp-bg-primary{background-color:var(--twp-primary)}.twp-bg-grey-50{background-color:var(--twp-grey-50)}.twp-bg-grey-100{background-color:var(--twp-grey-100)}.twp-border{border:1px solid var(--twp-grey-200)}.twp-border-primary{border-color:var(--twp-primary)}.twp-rounded{border-radius:var(--twp-radius-base)}.twp-rounded-lg{border-radius:var(--twp-radius-lg)}.twp-shadow-sm{box-shadow:var(--twp-shadow-sm)}.twp-shadow{box-shadow:var(--twp-shadow-base)}.twp-shadow-md{box-shadow:var(--twp-shadow-md)}.rdp{--rdp-accent-color:#42B1F4;--rdp-background-color:#42B1F4;--rdp-day-width:40px;--rdp-day-height:40px;font-family:var(--twp-font-family);color:#104352}.rdp-root{margin:0}.rdp-caption{display:flex;align-items:center;justify-content:space-between;padding:0 0 var(--twp-space-3) 0;font-weight:var(--twp-font-weight-bold);font-size:var(--twp-font-size-lg);color:#104352}.rdp-nav{display:flex;gap:var(--twp-space-2)}.rdp-button_next,.rdp-button_previous{background:none;border:1px solid #2a6c8b;border-radius:var(--twp-radius-sm);color:#2A6C8B;cursor:pointer;padding:var(--twp-space-1);transition:var(--twp-transition-fast);width:32px;height:32px;display:flex;align-items:center;justify-content:center}.rdp-button_next:hover,.rdp-button_previous:hover{background:#42B1F4;color:white;border-color:#42B1F4}.rdp-weekdays{font-weight:var(--twp-font-weight-semibold);font-size:var(--twp-font-size-sm);color:#2A6C8B;text-transform:uppercase;letter-spacing:.05em}.rdp-day{border-radius:50%;transition:var(--twp-transition-fast);cursor:pointer;font-size:var(--twp-font-size-md);border:2px solid transparent}.rdp-day:hover:not(.rdp-day_disabled){background-color:#E6F4FD;color:#104352}.rdp-today:not(.rdp-selected){font-weight:var(--twp-font-weight-bold);color:#42B1F4;position:relative}.rdp-today:not(.rdp-selected):after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:#FCC40B;border-radius:50%}.rdp-selected{color:white!important;font-weight:var(--twp-font-weight-semibold)}.rdp-selected,.rdp-selected:hover{background-color:#42B1F4!important;border-radius:50%!important}.rdp-selected:hover{opacity:.9}.rdp-range_middle{background-color:#E6F4FD;color:#104352;border-radius:0}.rdp-range_end,.rdp-range_start{border-radius:50%}.rdp-day_disabled{color:#C8D3DC;cursor:not-allowed;opacity:.6}.rdp-day_disabled:hover{background:none}.rdp-outside{color:#A0B4C2;opacity:.7}.rdp-dropdown{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:white;border:1px solid #2a6c8b;border-radius:var(--twp-radius-sm);padding:var(--twp-space-1) var(--twp-space-3) var(--twp-space-1) var(--twp-space-2);font-family:inherit;font-size:var(--twp-font-size-md);font-weight:var(--twp-font-weight-medium);color:#104352;cursor:pointer;transition:var(--twp-transition-fast);margin:0 var(--twp-space-1)}.rdp-dropdown:hover{border-color:#42B1F4;background-color:#F2F3F4}.rdp-dropdown:focus{outline:2px solid #42B1F4;outline-offset:2px}.rdp-multiple_months{display:flex;gap:var(--twp-space-6)}.rdp-footer{margin-top:var(--twp-space-3);padding-top:var(--twp-space-3);border-top:1px solid var(--twp-grey-200)}.twp-note-rich-content{font-size:var(--twp-font-size-md);line-height:var(--twp-line-height-relaxed);color:var(--twp-primary-dark)}.twp-note-rich-content p{margin:0 0 1em}.twp-note-rich-content p:last-child{margin-bottom:0}.twp-note-rich-content strong{font-weight:var(--twp-font-weight-semibold)}.twp-note-rich-content ol,.twp-note-rich-content ul{margin:0 0 1em 1.5em;padding:0}.twp-note-rich-content li{margin-bottom:.25em}.twp-note-rich-content a{color:var(--twp-primary);text-decoration:underline}.twp-note-rich-content a:hover{color:var(--twp-primary-dark)}@media (max-width:768px){.twp-hidden-mobile{display:none!important}.twp-container{padding:0 var(--twp-container-padding-mobile)}}@media (min-width:769px){.twp-hidden-desktop{display:none!important}}@media print{*{background:transparent!important;color:black!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.twp-button{background:none;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--twp-space-2);border:1px solid transparent;border-radius:var(--twp-radius-base);font-family:var(--twp-font-family);font-weight:var(--twp-font-weight-medium);line-height:var(--twp-line-height-normal);cursor:pointer;transition:var(--twp-transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;&:focus-visible{outline:2px solid var(--twp-primary);outline-offset:2px}}.twp-button--primary{background-color:var(--twp-primary);color:var(--twp-white);border-color:var(--twp-primary)}.twp-button--primary:hover:not(.twp-button--disabled){background-color:var(--twp-primary-light);border-color:var(--twp-primary-light);transform:translateY(-1px);box-shadow:var(--twp-shadow-button-hover)}.twp-button--primary:active:not(.twp-button--disabled){transform:translateY(0);box-shadow:var(--twp-shadow-sm)}.twp-button--secondary{background-color:var(--twp-white);color:var(--twp-primary);border-color:var(--twp-primary)}.twp-button--secondary:hover:not(.twp-button--disabled){background-color:rgba(66,177,244,.05);border-color:var(--twp-primary-light);color:var(--twp-primary-light);transform:translateY(-1px)}.twp-button--secondary:active:not(.twp-button--disabled){transform:translateY(0);background-color:rgba(66,177,244,.1)}.twp-button--ghost{background-color:transparent;color:var(--twp-grey-600);border-color:transparent}.twp-button--ghost:hover:not(.twp-button--disabled){background-color:var(--twp-grey-100);color:var(--twp-primary-dark)}.twp-button--ghost:active:not(.twp-button--disabled){background-color:var(--twp-grey-200)}.twp-button--danger{background-color:var(--twp-error);color:var(--twp-white);border-color:var(--twp-error)}.twp-button--danger:hover:not(.twp-button--disabled){background-color:#dc2626;border-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.twp-button--danger:active:not(.twp-button--disabled){transform:translateY(0);box-shadow:var(--twp-shadow-sm)}.twp-button--outline{background-color:transparent;color:var(--twp-primary);border-color:var(--twp-grey-300)}.twp-button--outline:hover:not(.twp-button--disabled){background-color:var(--twp-grey-50);border-color:var(--twp-primary);color:var(--twp-primary)}.twp-button--outline:active:not(.twp-button--disabled){background-color:var(--twp-grey-100)}.twp-button--accent{background-color:var(--twp-accent-gold);color:var(--twp-primary-dark);border-color:var(--twp-accent-gold)}.twp-button--accent:hover:not(.twp-button--disabled){background-color:var(--twp-accent-light);border-color:var(--twp-accent-light);transform:translateY(-1px);box-shadow:var(--twp-shadow-accent-button)}.twp-button--accent:active:not(.twp-button--disabled){transform:translateY(0)}.twp-button--sm{padding:var(--twp-space-2) var(--twp-space-3);font-size:var(--twp-font-size-sm);height:var(--twp-button-height-sm);gap:var(--twp-space-1)}.twp-button--md{padding:var(--twp-space-3) var(--twp-space-4);font-size:var(--twp-font-size-md);height:var(--twp-button-height-base);gap:var(--twp-space-2)}.twp-button--lg{padding:var(--twp-space-4) var(--twp-space-6);font-size:var(--twp-font-size-lg);height:var(--twp-button-height-lg);gap:var(--twp-space-3)}.twp-button--full-width{width:100%}.twp-button--disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.twp-button--loading{cursor:wait;position:relative}.twp-button--loading:before{content:"";position:absolute;width:16px;height:16px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:twp-button-spin 1s linear infinite}@keyframes twp-button-spin{to{transform:rotate(1turn)}}.twp-button svg{width:1.25em;height:1.25em;flex-shrink:0}.twp-button--icon-only{aspect-ratio:1;padding:var(--twp-space-3)}.twp-button--icon-only.twp-button--sm{padding:var(--twp-space-2)}.twp-button--icon-only.twp-button--lg{padding:var(--twp-space-4)}.twp-status-badge{display:inline-flex;align-items:center;gap:var(--twp-space-1);border-radius:var(--twp-radius-full);font-family:var(--twp-font-family);font-weight:var(--twp-font-weight-medium);line-height:var(--twp-line-height-normal);text-transform:uppercase;letter-spacing:.025em;transition:var(--twp-transition-fast);border:1px solid transparent;white-space:nowrap;cursor:default}.twp-status-badge--sm{padding:var(--twp-space-1) var(--twp-space-2);font-size:var(--twp-font-size-xs);min-height:20px}.twp-status-badge--sm .twp-status-badge__icon{font-size:8px}.twp-status-badge--md{padding:var(--twp-space-1) var(--twp-space-3);font-size:var(--twp-font-size-xs);min-height:24px}.twp-status-badge--md .twp-status-badge__icon{font-size:10px}.twp-status-badge--lg{padding:var(--twp-space-2) var(--twp-space-4);font-size:var(--twp-font-size-sm);min-height:32px}.twp-status-badge--lg .twp-status-badge__icon{font-size:12px}.twp-status-badge--success{background-color:rgba(16,185,129,.1);color:var(--twp-success);border-color:rgba(16,185,129,.2)}.twp-status-badge--success:hover{background-color:rgba(16,185,129,.15);border-color:rgba(16,185,129,.3)}.twp-status-badge--error{background-color:rgba(239,68,68,.1);color:var(--twp-error);border-color:rgba(239,68,68,.2)}.twp-status-badge--error:hover{background-color:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3)}.twp-status-badge--warning{background-color:rgba(251,146,60,.1);color:var(--twp-warning);border-color:rgba(251,146,60,.2)}.twp-status-badge--warning:hover{background-color:rgba(251,146,60,.15);border-color:rgba(251,146,60,.3)}.twp-status-badge--primary{background-color:rgba(66,177,244,.1);color:var(--twp-primary);border-color:rgba(66,177,244,.2)}.twp-status-badge--primary:hover{background-color:rgba(66,177,244,.15);border-color:rgba(66,177,244,.3)}.twp-status-badge--neutral{background-color:rgba(100,116,139,.1);color:var(--twp-neutral);border-color:rgba(100,116,139,.2)}.twp-status-badge--neutral:hover{background-color:rgba(100,116,139,.15);border-color:rgba(100,116,139,.3)}.schedule-scrollable{scrollbar-width:thin;scrollbar-color:var(--twp-primary-light) var(--twp-grey-100)}.schedule-scrollable::-webkit-scrollbar{width:8px}.schedule-scrollable::-webkit-scrollbar-track{background:var(--twp-grey-100);border-radius:4px}.schedule-scrollable::-webkit-scrollbar-thumb{background:var(--twp-primary-light);border-radius:4px;border:1px solid var(--twp-grey-200)}.schedule-scrollable::-webkit-scrollbar-thumb:hover{background:var(--twp-primary)}.twp-status-badge--accent{background-color:rgba(252,196,11,.1);color:var(--twp-accent-gold);border-color:rgba(252,196,11,.2)}.twp-status-badge--accent:hover{background-color:rgba(252,196,11,.15);border-color:rgba(252,196,11,.3)}.twp-status-badge__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.twp-status-badge__label{flex-shrink:0}.twp-status-badge:focus{outline:2px solid var(--twp-primary);outline-offset:2px}@media (prefers-contrast:high){.twp-status-badge{border-width:2px}.twp-status-badge--success{border-color:var(--twp-success)}.twp-status-badge--error{border-color:var(--twp-error)}.twp-status-badge--warning{border-color:var(--twp-warning)}.twp-status-badge--primary{border-color:var(--twp-primary)}.twp-status-badge--neutral{border-color:var(--twp-neutral)}.twp-status-badge--accent{border-color:var(--twp-accent-gold)}}@media (prefers-reduced-motion:reduce){.twp-status-badge{transition:none}}.twp-input-container{display:flex;flex-direction:column;gap:var(--twp-space-2);width:auto}.twp-input-container--full-width{width:100%}.twp-input-container--disabled{opacity:.6;pointer-events:none}.twp-input-label{display:inline-block;font-size:var(--twp-font-size-sm);font-weight:var(--twp-font-weight-medium);color:var(--twp-primary-dark);line-height:var(--twp-line-height-normal);margin-bottom:var(--twp-space-1)}.twp-input-required{color:var(--twp-error);margin-left:var(--twp-space-1);font-weight:var(--twp-font-weight-bold)}.twp-input-wrapper{position:relative;display:flex;align-items:center;background-color:var(--twp-white);border:1px solid var(--twp-grey-300);border-radius:var(--twp-radius-base);transition:var(--twp-transition-fast);overflow:hidden}.twp-input-wrapper:focus-within{border-color:var(--twp-primary);box-shadow:var(--twp-shadow-focus);outline:none}.twp-input-wrapper--sm{min-height:var(--twp-input-height-sm)}.twp-input-wrapper--md{min-height:var(--twp-input-height-base)}.twp-input-wrapper--lg{min-height:var(--twp-input-height-lg)}.twp-input-wrapper--default{border-color:var(--twp-grey-300)}.twp-input-wrapper--default:hover:not(.twp-input-container--disabled .twp-input-wrapper){border-color:var(--twp-grey-400)}.twp-input-wrapper--success{border-color:var(--twp-success);background-color:rgba(16,185,129,.02)}.twp-input-wrapper--success:focus-within{border-color:var(--twp-success);box-shadow:0 0 0 3px rgba(16,185,129,.1)}.twp-input-wrapper--error{border-color:var(--twp-error);background-color:rgba(239,68,68,.02)}.twp-input-wrapper--error:focus-within{border-color:var(--twp-error);box-shadow:0 0 0 3px rgba(239,68,68,.1)}.twp-input-wrapper--warning{border-color:var(--twp-warning);background-color:rgba(251,146,60,.02)}.twp-input-wrapper--warning:focus-within{border-color:var(--twp-warning);box-shadow:0 0 0 3px rgba(251,146,60,.1)}.twp-input{flex:1 1;background:transparent;border:none;outline:none;font-family:var(--twp-font-family);font-weight:var(--twp-font-weight-normal);line-height:var(--twp-line-height-normal);color:var(--twp-primary-dark);transition:var(--twp-transition-fast)}.twp-input::placeholder{color:var(--twp-grey-400);opacity:1}.twp-input:disabled{background-color:var(--twp-grey-100);color:var(--twp-grey-500);cursor:not-allowed}.twp-input--sm{padding:var(--twp-space-2) var(--twp-space-3);font-size:var(--twp-font-size-sm)}.twp-input--md{padding:var(--twp-space-3) var(--twp-space-4);font-size:var(--twp-font-size-md)}.twp-input--lg{padding:var(--twp-space-4) var(--twp-space-5);font-size:var(--twp-font-size-lg)}.twp-input-wrapper--with-left-icon .twp-input--sm{padding-left:calc(var(--twp-space-3) + 16px + var(--twp-space-2))}.twp-input-wrapper--with-left-icon .twp-input--md{padding-left:calc(var(--twp-space-4) + 20px + var(--twp-space-3))}.twp-input-wrapper--with-left-icon .twp-input--lg{padding-left:calc(var(--twp-space-5) + 24px + var(--twp-space-3))}.twp-input-wrapper--with-right-icon .twp-input--sm{padding-right:calc(var(--twp-space-3) + 16px + var(--twp-space-2))}.twp-input-wrapper--with-right-icon .twp-input--md{padding-right:calc(var(--twp-space-4) + 20px + var(--twp-space-3))}.twp-input-wrapper--with-right-icon .twp-input--lg{padding-right:calc(var(--twp-space-5) + 24px + var(--twp-space-3))}.twp-input-icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--twp-grey-500);transition:var(--twp-transition-fast);pointer-events:none;z-index:1}.twp-input-icon--left{left:var(--twp-space-3)}.twp-input-icon--right{right:var(--twp-space-3)}.twp-input-wrapper--sm .twp-input-icon{width:16px;height:16px}.twp-input-wrapper--md .twp-input-icon{width:20px;height:20px}.twp-input-wrapper--lg .twp-input-icon{width:24px;height:24px}.twp-input-wrapper:focus-within .twp-input-icon{color:var(--twp-primary)}.twp-input-wrapper--error:focus-within .twp-input-icon{color:var(--twp-error)}.twp-input-wrapper--success:focus-within .twp-input-icon{color:var(--twp-success)}.twp-input-wrapper--warning:focus-within .twp-input-icon{color:var(--twp-warning)}.twp-input-message{font-size:var(--twp-font-size-sm);line-height:var(--twp-line-height-normal);margin-top:var(--twp-space-1)}.twp-input-message--default{color:var(--twp-grey-600)}.twp-input-message--success{color:var(--twp-success);font-weight:var(--twp-font-weight-medium)}.twp-input-message--error{color:var(--twp-error);font-weight:var(--twp-font-weight-medium)}.twp-input-message--warning{color:var(--twp-warning);font-weight:var(--twp-font-weight-medium)}.twp-input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.twp-input[type=search]::-webkit-search-cancel-button,.twp-input[type=search]::-webkit-search-decoration,.twp-input[type=search]::-webkit-search-results-button,.twp-input[type=search]::-webkit-search-results-decoration{display:none}.twp-input[type=number]{-moz-appearance:textfield}.twp-input[type=number]::-webkit-inner-spin-button,.twp-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media (max-width:768px){.twp-input-container{gap:var(--twp-space-1)}.twp-input-label,.twp-input-message{font-size:var(--twp-font-size-xs)}}@media (prefers-contrast:high){.twp-input-wrapper{border-width:2px}.twp-input-wrapper:focus-within{border-width:3px}}@media (prefers-reduced-motion:reduce){.twp-input,.twp-input-icon,.twp-input-wrapper{transition:none}}.twp-card{position:relative;display:flex;flex-direction:column;background-color:var(--twp-white);border:1px solid var(--twp-grey-200);border-radius:var(--twp-radius-lg);transition:var(--twp-transition-fast);overflow:hidden;width:100%;font-family:var(--twp-font-family);text-align:left}.twp-card[type=button]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;cursor:pointer;text-decoration:none;color:inherit}.twp-card[type=button]:focus{outline:2px solid var(--twp-primary);outline-offset:2px}.twp-card--default{box-shadow:var(--twp-shadow-sm);border-color:var(--twp-grey-200)}.twp-card--elevated{box-shadow:var(--twp-shadow-md);border-color:var(--twp-grey-200)}.twp-card--outlined{box-shadow:none;border-color:var(--twp-grey-300);border-width:2px}.twp-card--flat{box-shadow:none;border:none;background-color:var(--twp-grey-50)}.twp-card--sm{border-radius:var(--twp-radius-base)}.twp-card--md{border-radius:var(--twp-radius-lg)}.twp-card--lg{border-radius:var(--twp-radius-xl)}.twp-card--padding-none .twp-card-body{padding:0}.twp-card--padding-sm .twp-card-body{padding:var(--twp-space-4)}.twp-card--padding-md .twp-card-body{padding:var(--twp-space-6)}.twp-card--padding-lg .twp-card-body{padding:var(--twp-space-8)}.twp-card--interactive{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.twp-card--interactive:hover{transform:translateY(-2px);box-shadow:var(--twp-shadow-hover-md);border-color:var(--twp-primary)}.twp-card--interactive:active{transform:translateY(0);transition-duration:.1s}.twp-card--default.twp-card--interactive:hover{box-shadow:var(--twp-shadow-base),0 8px 24px rgba(66,177,244,.12)}.twp-card--elevated.twp-card--interactive:hover{box-shadow:var(--twp-shadow-lg),0 12px 32px rgba(66,177,244,.15)}.twp-card--outlined.twp-card--interactive:hover{border-color:var(--twp-primary);box-shadow:0 4px 16px rgba(66,177,244,.1)}.twp-card--flat.twp-card--interactive:hover{background-color:var(--twp-grey-100);box-shadow:var(--twp-shadow-sm)}.twp-card-header{padding:var(--twp-space-6);border-bottom:1px solid var(--twp-grey-200);background-color:var(--twp-grey-50)}.twp-card--sm .twp-card-header{padding:var(--twp-space-4)}.twp-card--lg .twp-card-header{padding:var(--twp-space-8)}.twp-card-body{flex:1 1;padding:var(--twp-space-6)}.twp-card--sm .twp-card-body{padding:var(--twp-space-4)}.twp-card--lg .twp-card-body{padding:var(--twp-space-8)}.twp-card-footer{padding:var(--twp-space-6);border-top:1px solid var(--twp-grey-200);background-color:var(--twp-grey-50);display:flex;align-items:center;justify-content:flex-end;gap:var(--twp-space-3)}.twp-card--sm .twp-card-footer{padding:var(--twp-space-4);gap:var(--twp-space-2)}.twp-card--lg .twp-card-footer{padding:var(--twp-space-8);gap:var(--twp-space-4)}.twp-card-title{font-size:var(--twp-font-size-xl);font-weight:var(--twp-font-weight-semibold);color:var(--twp-primary-dark);line-height:var(--twp-line-height-normal);margin:0}.twp-card--sm .twp-card-title{font-size:var(--twp-font-size-lg)}.twp-card--lg .twp-card-title{font-size:var(--twp-font-size-2xl)}.twp-card-subtitle{font-size:var(--twp-font-size-sm);font-weight:var(--twp-font-weight-normal);color:var(--twp-grey-600);line-height:var(--twp-line-height-relaxed);margin:var(--twp-space-1) 0 0 0}.twp-card--lg .twp-card-subtitle{font-size:var(--twp-font-size-md)}.twp-card--loading{pointer-events:none;position:relative}.twp-card-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;z-index:1;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.twp-card-loading-spinner{width:32px;height:32px;border:3px solid var(--twp-grey-200);border-top-color:var(--twp-primary);border-radius:50%;animation:twp-card-spin 1s linear infinite}@keyframes twp-card-spin{to{transform:rotate(1turn)}}.twp-card-body p{margin-bottom:var(--twp-space-4);color:var(--twp-grey-700);line-height:var(--twp-line-height-relaxed)}.twp-card-body p:last-child{margin-bottom:0}.twp-card-body h4,.twp-card-body h5,.twp-card-body h6{margin-bottom:var(--twp-space-2);color:var(--twp-primary-dark)}.twp-card-body ol,.twp-card-body ul{margin-bottom:var(--twp-space-4);padding-left:var(--twp-space-5)}.twp-card-body li{margin-bottom:var(--twp-space-1);color:var(--twp-grey-700)}.twp-card--horizontal{flex-direction:row;align-items:stretch}.twp-card--horizontal .twp-card-body{flex:1 1}.twp-card-image{width:100%;height:200px;object-fit:cover;border-bottom:1px solid var(--twp-grey-200)}.twp-card--sm .twp-card-image{height:120px}.twp-card--lg .twp-card-image{height:300px}.twp-card-grid{display:grid;grid-gap:var(--twp-space-6);gap:var(--twp-space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.twp-card-grid--sm{gap:var(--twp-space-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.twp-card-grid--lg{gap:var(--twp-space-8);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}@media (max-width:768px){.twp-card-body,.twp-card-footer,.twp-card-header{padding:var(--twp-space-4)}.twp-card--lg .twp-card-body,.twp-card--lg .twp-card-footer,.twp-card--lg .twp-card-header{padding:var(--twp-space-6)}.twp-card-title{font-size:var(--twp-font-size-lg)}.twp-card-footer{flex-direction:column;align-items:stretch;gap:var(--twp-space-2)}.twp-card-grid{grid-template-columns:1fr;gap:var(--twp-space-4)}}@media (prefers-contrast:high){.twp-card{border-width:2px}.twp-card--outlined{border-width:3px}.twp-card-footer,.twp-card-header{border-width:2px}}@media (prefers-reduced-motion:reduce){.twp-card,.twp-card-loading-spinner{transition:none;animation:none}.twp-card--interactive:hover{transform:none}}.ag-theme-alpine .ag-cell-edit-input{border:1px solid #42b1f4!important;outline:none!important;background:white!important;font-size:inherit!important;font-family:inherit!important;padding:4px 8px!important}.ag-theme-alpine .ag-cell-inline-editing{border:1px solid #42b1f4!important;background:rgba(66,177,244,.05)!important}.ag-theme-alpine .ag-cell-edit-input,.ag-theme-alpine .ag-cell-inline-editing{height:auto!important;line-height:inherit!important;display:block!important;vertical-align:baseline!important;transform:none!important;position:static!important;top:auto!important;margin:0!important}.twp-modal-content:focus{outline:none}.twp-modal-content:focus-visible{outline:2px solid var(--twp-primary);outline-offset:2px}.twp-modal-close:focus{outline:none}.twp-modal-close:focus-visible{outline:2px solid var(--twp-primary);outline-offset:2px}body.twp-modal-open{overflow:hidden}@keyframes twpModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes twpModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.twp-modal-backdrop,.twp-modal-content{animation:none!important}}@media (max-width:768px){.twp-modal-backdrop{padding:var(--twp-space-3)!important}.twp-modal-content{margin-top:var(--twp-space-4)!important;margin-bottom:var(--twp-space-4)!important}.twp-modal-title{font-size:var(--twp-font-size-xl)!important}}@media (prefers-contrast:high){.twp-modal-content{border:2px solid var(--twp-primary-dark)}}@media print{.twp-modal-backdrop{display:none!important}}.twp-spinner{display:inline-block;border-radius:50%;animation:twp-spin .75s linear infinite;border-style:solid;border-top-color:transparent;border-right-color:transparent}.twp-spinner__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.twp-spinner--xs{width:16px;height:16px}.twp-spinner--sm{width:20px;height:20px}.twp-spinner--md{width:24px;height:24px}.twp-spinner--lg{width:32px;height:32px}.twp-spinner--xl{width:48px;height:48px}.twp-spinner--thickness-2{border-width:2px}.twp-spinner--thickness-3{border-width:3px}.twp-spinner--thickness-4{border-width:4px}.twp-spinner--primary{border-color:var(--twp-primary);border-top-color:transparent;border-right-color:transparent}.twp-spinner--default{border-color:var(--twp-grey-300);border-top-color:transparent;border-right-color:transparent}.twp-spinner--white{border-color:var(--twp-white);border-top-color:transparent;border-right-color:transparent}@keyframes twp-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.twp-spinner-container{display:flex;align-items:center;justify-content:center;padding:var(--twp-space-8)}.twp-spinner-container--fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);z-index:var(--twp-z-index-modal)}.twp-card--default.twp-card--padding-none .ag-theme-alpine{border-radius:var(--twp-radius-lg);overflow:hidden}.ag-theme-alpine .ag-cell-focus{border-color:var(--twp-primary)!important;outline:2px solid var(--twp-primary)!important;outline-offset:-2px}.twp-card--default.twp-card--padding-none>div:last-child{border-bottom-left-radius:var(--twp-radius-lg);border-bottom-right-radius:var(--twp-radius-lg)}.twp-card--student{border:2px solid var(--twp-accent-gold);background:linear-gradient(to bottom,var(--twp-white),var(--twp-grey-50))}.twp-student-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--twp-space-6);border-bottom:1px solid var(--twp-grey-200)}.twp-student-header-left{display:flex;flex-direction:column;gap:var(--twp-space-3)}.twp-student-name{font-size:var(--twp-font-size-2xl);font-weight:var(--twp-font-weight-semibold);color:var(--twp-primary-dark);margin:0}.twp-student-status-row{display:flex;align-items:center;gap:var(--twp-space-3)}.twp-info-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--twp-space-4);gap:var(--twp-space-4);margin-bottom:var(--twp-space-6)}.twp-info-row{display:flex;align-items:center;gap:var(--twp-space-2)}.twp-info-row-icon{color:var(--twp-grey-500);width:var(--twp-space-4);height:var(--twp-space-4);flex-shrink:0}.twp-info-row-content{flex:1 1;min-width:0}.twp-student-notes{background:var(--twp-grey-50);padding:var(--twp-space-4);border:1px solid var(--twp-grey-200);border-radius:var(--twp-radius-base);margin-bottom:var(--twp-space-6)}.twp-student-notes-label{font-size:var(--twp-font-size-xs);font-weight:var(--twp-font-weight-medium);color:var(--twp-grey-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--twp-space-2)}.twp-student-notes-content{font-size:var(--twp-font-size-sm);line-height:var(--twp-line-height-relaxed)}.twp-student-action-button{width:100%}@media (max-width:768px){.twp-info-grid{grid-template-columns:1fr;gap:var(--twp-space-3)}.twp-student-header{flex-direction:column;gap:var(--twp-space-4)}.twp-student-header-left{width:100%}.twp-student-status-row{flex-wrap:wrap}}.ai-summary-rich-content{display:flex;flex-direction:column;gap:var(--twp-space-4)}.ai-summary-section{background:var(--twp-white);border:1px solid var(--twp-grey-200);border-radius:var(--twp-radius-base);padding:var(--twp-space-4);transition:var(--twp-transition-fast)}.ai-summary-section:hover{border-color:var(--twp-grey-300);box-shadow:var(--twp-shadow-sm)}.ai-summary-section-title{font-size:var(--twp-font-size-base);font-weight:var(--twp-font-weight-semibold);color:var(--twp-primary);margin-bottom:var(--twp-space-3);display:flex;align-items:center;gap:var(--twp-space-2)}.ai-summary-section-content{font-size:var(--twp-font-size-sm);line-height:var(--twp-line-height-relaxed);color:var(--twp-primary-dark)}.ai-summary-section-content p{margin-bottom:var(--twp-space-2)}.ai-summary-section-content p:last-child{margin-bottom:0}.ai-summary-list{list-style:none;padding-left:0;margin:0}.ai-summary-list li{position:relative;padding-left:var(--twp-space-6);margin-bottom:var(--twp-space-2);color:var(--twp-primary-dark)}.ai-summary-list li:before{content:"•";position:absolute;left:var(--twp-space-2);color:var(--twp-primary);font-weight:700}.ai-summary-progress-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--twp-space-4);gap:var(--twp-space-4)}@media (min-width:768px){.ai-summary-progress-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}.ai-summary-achievements,.ai-summary-challenges,.ai-summary-next-steps{background:var(--twp-grey-50);border-radius:var(--twp-radius-sm);padding:var(--twp-space-3)}.ai-summary-achievements{border-left:3px solid var(--twp-success)}.ai-summary-challenges{border-left:3px solid var(--twp-warning)}.ai-summary-next-steps{border-left:3px solid var(--twp-primary)}.ai-summary-achievements strong,.ai-summary-challenges strong,.ai-summary-next-steps strong{display:block;font-size:var(--twp-font-size-sm);font-weight:var(--twp-font-weight-semibold);margin-bottom:var(--twp-space-2);color:var(--twp-primary-dark)}.ai-summary-progress-list{list-style:none;padding:0;margin:var(--twp-space-2) 0 0 0}.ai-summary-progress-list li{display:flex;align-items:flex-start;gap:var(--twp-space-2);margin-bottom:var(--twp-space-2);font-size:var(--twp-font-size-sm)}.progress-icon{flex-shrink:0;font-weight:700;color:var(--twp-primary)}.ai-summary-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-clock:before{content:"🕐"}.icon-book:before{content:"📚"}.icon-tasks:before{content:"✅"}.icon-trending-up:before{content:"📈"}.icon-star:before{content:"⭐"}.icon-home:before{content:"🏠"}.icon-clipboard:before{content:"📋"}.icon-chart:before{content:"📊"}.icon-music:before{content:"🎵"}.icon-file-text:before{content:"📄"}.icon-user:before{content:"👤"}.icon-activity:before{content:"📊"}.icon-note:before{content:"📝"}.icon-users:before{content:"👥"}.icon-alert-circle:before{content:"⚠️"}.section-practice-assignment .ai-summary-section-content{background:var(--twp-primary-light-bg);padding:var(--twp-space-3);border-radius:var(--twp-radius-sm);border:1px solid var(--twp-primary-light)}.section-previous-lesson-context{background:var(--twp-grey-50);border-color:var(--twp-grey-300)}.ai-summary-empty,.ai-summary-no-content{font-style:italic;color:var(--twp-grey-500);text-align:center;padding:var(--twp-space-4)}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.react-datepicker-popper{z-index:9999}.react-datepicker{font-family:inherit;background:#FFFFFF;border:1px solid #2a6c8b;border-radius:12px;box-shadow:0 4px 16px rgba(16,67,82,.1),0 1px 2px rgba(16,67,82,.05);overflow:hidden}.react-datepicker__header{background-color:#F2F3F4;border-bottom:1px solid #e5e5e5;padding:16px 12px 12px;border-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-radius:11px 11px 0 0}.react-datepicker__current-month{color:#104352;font-weight:700;font-size:16px;margin-bottom:12px;letter-spacing:-.01em}.react-datepicker__day-name{color:#2A6C8B;font-size:11px;font-weight:600;width:36px;line-height:36px;text-transform:uppercase;letter-spacing:.05em}.react-datepicker__month{margin:0;padding:12px 16px 16px;background:#FFFFFF}.react-datepicker__week{display:flex;justify-content:space-around}.react-datepicker__day{width:36px;line-height:36px;font-size:14px;font-weight:500;margin:2px;border-radius:8px;transition:all .15s ease;color:#104352;cursor:pointer}.react-datepicker__day:hover{background-color:#E6F4FD;color:#104352}.react-datepicker__day--today{font-weight:700;color:#42B1F4;border:2px solid #42b1f4;line-height:32px}.react-datepicker__day--keyboard-selected,.react-datepicker__day--selected{background-color:#42B1F4!important;color:#FFFFFF!important;font-weight:600;border:none}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__day--selected:hover{background-color:#2A6C8B!important}.react-datepicker__day--outside-month{color:#A0B4C2}.react-datepicker__day--disabled{color:#C8D3DC;cursor:not-allowed}.react-datepicker__day--disabled:hover{background-color:transparent}.react-datepicker__navigation{top:16px;width:32px;height:32px;border:none}.react-datepicker__navigation-icon:before{border-color:#2A6C8B;border-width:2px 2px 0 0;width:8px;height:8px;top:10px}.react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:#42B1F4}.react-datepicker__month-dropdown,.react-datepicker__year-dropdown{background-color:white;border:1px solid var(--twp-grey-200);border-radius:8px;padding:8px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.react-datepicker__month-option,.react-datepicker__year-option{padding:8px 12px;margin:2px 0;border-radius:6px;font-size:14px;transition:all .15s ease}.react-datepicker__month-option:hover,.react-datepicker__year-option:hover{background-color:var(--twp-primary-light);color:var(--twp-primary-dark)}.react-datepicker__month-option--selected,.react-datepicker__year-option--selected{background-color:var(--twp-primary);color:white}.react-datepicker__month-dropdown-container,.react-datepicker__year-dropdown-container{margin:0 4px}.react-datepicker__month-read-view,.react-datepicker__year-read-view{color:#1A1A1A;font-weight:600;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease}.react-datepicker__month-read-view:hover,.react-datepicker__year-read-view:hover{background-color:#F3F4F6}.react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{border-color:#2A6C8B transparent transparent;border-width:4px 4px 0;margin-left:6px;top:2px}.react-datepicker__today-button{background:#0066CC;color:#FFFFFF;border:none;padding:14px 20px;font-weight:600;border-radius:0 0 11px 11px;cursor:pointer;transition:all .15s ease;font-size:14px;text-align:center;letter-spacing:.02em}.react-datepicker__today-button:hover{background:#0052CC;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,102,204,.2)}.react-datepicker__today-button:active{transform:translateY(0);box-shadow:none}.react-datepicker__today-button:before{content:"📅 ";font-size:16px;margin-right:6px;vertical-align:middle}.react-datepicker__time-container{border-left:1px solid var(--twp-grey-100);width:100px}.react-datepicker__time-container .react-datepicker__time{background:var(--twp-grey-50);border-radius:0 12px 12px 0}.react-datepicker-time__header{color:var(--twp-grey-700);font-weight:600;font-size:14px;padding:8px;background:var(--twp-grey-100)}.react-datepicker__time-list{scrollbar-width:thin;scrollbar-color:var(--twp-grey-400) var(--twp-grey-100);height:200px!important;padding:8px;overflow-y:auto!important}.react-datepicker__time-list-item{padding:8px 12px!important;margin:3px 0;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.react-datepicker__time-list-item:hover{background-color:var(--twp-primary-light);color:var(--twp-primary-dark);transform:translateX(2px)}.react-datepicker__time-list-item--selected{background-color:var(--twp-primary)!important;color:white!important;font-weight:600;box-shadow:0 2px 4px rgba(0,0,0,.1)}.react-datepicker__time-list-item--injected{background-color:var(--twp-primary-light)!important;color:var(--twp-primary-dark)!important;font-weight:500;border:1px dashed var(--twp-primary)}.react-datepicker__time-list::-webkit-scrollbar{width:6px}.react-datepicker__time-list::-webkit-scrollbar-track{background:var(--twp-grey-100);border-radius:3px}.react-datepicker__time-list::-webkit-scrollbar-thumb{background:var(--twp-grey-400);border-radius:3px}.react-datepicker__time-list::-webkit-scrollbar-thumb:hover{background:var(--twp-grey-500)}.react-datepicker__input-container input:focus{outline:none;border-color:var(--twp-primary)!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}