@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap";:root{--tmna-red:#eb0a1e;--tmna-red-dark:#c00;--tmna-primary-20:#f5f7f9;--tmna-primary-40:#ebf0f2;--tmna-primary-60:#e0e8ec;--tmna-primary-100:#ccd9df;--tmna-primary-200:#99b2bf;--tmna-primary-300:#668c9f;--tmna-primary-500:#003f5f;--tmna-primary-700:#04334e;--tmna-gray:#58595b;--tmna-slate-gray:#9b9c9d;--tmna-silver-gray:#e6e6e6;--tmna-light-gray:#f7f7f7;--tmna-dark-gray:#1a2122;--tmna-light-blue:#edf0f5;--tmna-tertiary-200:#9fbdeb;--tmna-tertiary-500:#1059cd;--tmna-success-200:#a9eed6;--tmna-success-600:#05b67a;--tmna-success-100:#f0fcf8;--ink-900:var(--tmna-dark-gray);--ink-700:var(--tmna-gray);--paper:var(--tmna-primary-20);--panel:#fff;--line:var(--tmna-silver-gray);--brand:var(--tmna-primary-500);--brand-strong:var(--tmna-primary-700);--danger:var(--tmna-red);--success:var(--tmna-success-600);--info:var(--tmna-tertiary-500);--muted-bg:var(--tmna-primary-40);--shadow:0 14px 36px #09223617;color:var(--ink-900);background:radial-gradient(circle at top left, var(--tmna-primary-60) 0%, var(--paper) 43%), linear-gradient(180deg, #fff 0%, var(--tmna-primary-40) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Manrope,Trebuchet MS,Gill Sans,sans-serif;font-weight:500;line-height:1.45}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}.app-shell{max-width:1050px;margin:0 auto;padding:2.5rem 1rem 3rem}.page-header{margin-bottom:1.5rem;animation:.4s ease-out fadeSlide}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.account-info{color:var(--ink-700);white-space:nowrap;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.link-button{color:var(--brand-strong);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:700;text-decoration:underline}.login-panel{text-align:center;max-width:420px;margin:3rem auto 0}.login-panel .brand-mark{margin-bottom:.5rem}.login-panel button{color:#fff;background:linear-gradient(92deg, var(--brand) 0%, var(--brand-strong) 100%);cursor:pointer;border:none;border-radius:10px;margin-top:1rem;padding:.72rem 1.4rem;font-size:.94rem;font-weight:700}.eyebrow{color:var(--brand-strong);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700}h1{margin:.35rem 0 .45rem;font-family:Space Grotesk,Trebuchet MS,sans-serif;font-size:clamp(1.7rem,3.1vw,2.6rem);line-height:1.15}.subhead{color:var(--ink-700);max-width:60ch;margin:.5rem 0 0}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;margin-bottom:1.2rem;padding:1.25rem;animation:.45s ease-out fadeSlide}.panel-title-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}h2{margin:0;font-family:Space Grotesk,Trebuchet MS,sans-serif;font-size:1.1rem}.form-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:.9rem 1rem;display:grid}.filter-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.filter-grid label{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.filter-grid input,.filter-grid select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:10px;padding:.62rem .7rem}.filter-grid button{color:#fff;background:linear-gradient(92deg, var(--brand) 0%, var(--brand-strong) 100%);cursor:pointer;border:none;border-radius:10px;align-self:end;padding:.72rem 1rem;font-size:.9rem;font-weight:700}.filter-grid button:disabled{cursor:not-allowed;opacity:.68}.form-grid label{flex-direction:column;gap:.38rem;font-size:.92rem;display:flex}.form-grid input,.form-grid select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:10px;padding:.62rem .7rem}.day-checkbox input{width:auto}.schedule-row{grid-column:1/-1;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.9rem 1rem;display:grid}@media (width<=900px){.schedule-row{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (width<=640px){.schedule-row{grid-template-columns:1fr}}.form-grid input:focus,.form-grid select:focus{outline:2px solid var(--tmna-primary-200);border-color:var(--tmna-primary-300)}.form-grid button{color:#fff;background:linear-gradient(92deg, var(--brand) 0%, var(--brand-strong) 100%);cursor:pointer;border:none;border-radius:10px;grid-column:1/-1;padding:.72rem 1rem;font-size:.94rem;font-weight:700;transition:transform .16s,filter .16s}.form-grid button:hover:enabled{filter:brightness(1.02);transform:translateY(-1px)}.form-grid button:disabled{cursor:not-allowed;opacity:.68}.field-error{color:var(--danger);font-size:.82rem}.field-hint{color:var(--muted,#6b7280);font-size:.8rem}.combobox{width:100%;position:relative}.combobox-toggle{border:1px solid var(--line);width:100%;font:inherit;cursor:pointer;text-align:left;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.62rem .7rem;display:flex}.combobox-toggle:disabled{cursor:not-allowed;opacity:.68}.combobox-toggle:focus{outline:2px solid var(--tmna-primary-200);border-color:var(--tmna-primary-300)}.combobox-placeholder{color:var(--muted,#6b7280)}.combobox-caret{color:var(--muted,#6b7280);font-size:.75rem}.combobox-popover{z-index:20;border:1px solid var(--line);background:#fff;border-radius:10px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.combobox-search{border:none;border-bottom:1px solid var(--line);width:100%;font:inherit;padding:.6rem .7rem}.combobox-search:focus{outline:none}.combobox-list{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.combobox-option{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:.55rem .7rem;display:block}.combobox-option:hover,.combobox-option:focus{background:var(--tmna-primary-100,#eef2ff);outline:none}.combobox-option.is-selected{font-weight:700}.combobox-empty{color:var(--muted,#6b7280);padding:.6rem .7rem;font-size:.88rem}.field-static{flex-direction:column;gap:.38rem;font-size:.92rem;display:flex}.field-static-label{font-size:.92rem}.field-static-value{color:var(--text,#111827);border-bottom:1px dashed var(--line);word-break:break-all;padding:.62rem .2rem;font-weight:600}.day-picker{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.6rem;padding:.6rem .7rem .75rem;display:flex}.day-picker legend{padding:0 .3rem;font-size:.85rem;font-weight:700}.day-checkbox{flex-direction:row;align-items:center;gap:.3rem;width:auto;font-size:.85rem;display:flex}.schedule-info{border:1px solid var(--tmna-primary-100);background:var(--tmna-primary-20);color:var(--ink-700);border-radius:10px;grid-column:1/-1;padding:.75rem .9rem;font-size:.85rem}.schedule-info p{margin:0 0 .5rem}.schedule-info p:last-child{margin-bottom:0}.schedule-info-title,.schedule-info-subtitle{color:var(--ink-900);font-weight:700}.schedule-info ul{margin:0 0 .5rem;padding-left:1.2rem}.schedule-info li{margin-bottom:.2rem}.alert{border:1px solid #0000;border-radius:10px;margin-bottom:.9rem;padding:.72rem .82rem;font-size:.92rem}.alert-success{border-color:var(--tmna-success-200);background:var(--tmna-success-100);color:var(--success)}.alert-error{color:var(--danger);background:#fef1f2;border-color:#f8abb2}.alert-info{border-color:var(--tmna-tertiary-200);background:var(--tmna-light-blue);color:var(--info)}.loading-inline,.loading-block{color:var(--ink-700);align-items:center;gap:.45rem;font-size:.9rem;display:inline-flex}.loading-block{padding:1.2rem 0}.spinner{border:2px solid var(--tmna-primary-100);border-top-color:var(--brand-strong);border-radius:999px;width:.9rem;height:.9rem;animation:.8s linear infinite spin}.empty-state{background:var(--muted-bg);color:var(--ink-700);border-radius:10px;padding:1rem}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1200px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:.75rem;font-size:.9rem}th{background:var(--tmna-primary-20);color:var(--brand);font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeSlide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.app-shell{padding-top:1.25rem}.form-grid,.filter-grid{grid-template-columns:1fr}.panel-title-row{flex-direction:column;align-items:flex-start}}.required-mark{color:#d32f2f;font-weight:700}.coming-soon-notice{color:#664d03;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;grid-column:1/-1;padding:.75rem 1rem;font-size:.88rem}.exclusion-note{color:#1a3d5c;background:#e8f4fd;border:1px solid #b3d9f2;border-radius:8px;margin-bottom:1.2rem;padding:.75rem 1rem;font-size:.88rem}.exclusion-note code{background:#dceef9;border-radius:4px;padding:.15rem .4rem;font-size:.84rem}.back-link{color:var(--brand-strong);align-items:center;gap:.3rem;margin-bottom:.5rem;font-size:.875rem;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--brand);text-decoration:underline}.chatbot-page{flex-direction:column;height:100vh;max-height:100vh;display:flex}.chatbot-page .page-header{flex-shrink:0}.chat-container{background:#fff;border-radius:12px;flex-direction:column;flex:1;margin:1rem;padding:1.5rem;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000001a}.chat-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.chat-header h2{margin:0;font-size:1.5rem}.clear-button{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.clear-button:hover:not(:disabled){background:var(--tmna-light-gray);border-color:var(--tmna-slate-gray)}.clear-button:disabled{opacity:.5;cursor:not-allowed}.chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1rem 0;display:flex;overflow-y:auto}.empty-state{text-align:center;height:100%;color:var(--ink-700);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{color:var(--tmna-primary-200);margin-bottom:1rem}.empty-text{margin-bottom:2rem;font-size:1.125rem}.suggestion-chips{flex-direction:column;gap:.75rem;max-width:500px;display:flex}.suggestion-chip{background:var(--panel);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;transition:all .2s}.suggestion-chip:hover{background:var(--tmna-light-gray);border-color:var(--brand)}.message{align-items:flex-start;gap:.75rem;display:flex}.message-user{flex-direction:row-reverse}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.message-assistant .message-avatar{background:var(--muted-bg);color:var(--brand)}.message-user .message-avatar{background:var(--brand);color:#fff}.message-content{flex-direction:column;gap:.25rem;max-width:70%;display:flex}.message-assistant .message-content{max-width:85%}.message-text{word-wrap:break-word;border-radius:12px;padding:.75rem 1rem;line-height:1.6}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:0 0 .75rem}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:1rem 0 .5rem;font-size:1rem;font-weight:700;line-height:1.3}.markdown-body ul,.markdown-body ol{margin:0 0 .75rem;padding-left:1.35rem}.markdown-body li{margin-bottom:.25rem}.markdown-body a{color:var(--brand);text-decoration:underline}.markdown-body code{background:var(--tmna-primary-40);border-radius:4px;padding:.1rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.markdown-body pre{background:var(--tmna-primary-40);border-radius:8px;margin:0 0 .75rem;padding:.75rem;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.markdown-body blockquote{border-left:3px solid var(--tmna-primary-100);color:var(--ink-700);margin:0 0 .75rem;padding-left:.75rem}.markdown-body table{border-collapse:collapse;width:100%;min-width:0;margin:0 0 .75rem;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--line);text-align:left;white-space:nowrap;padding:.4rem .6rem;font-size:.875rem}.markdown-body th{background:var(--tmna-primary-20)}.markdown-body hr{border:none;border-top:1px solid var(--line);margin:.75rem 0}.message-user .message-text{background:var(--brand);color:#fff}.message-assistant .message-text{background:var(--muted-bg);color:var(--ink-900)}.message-time{color:var(--tmna-slate-gray);padding:0 .5rem;font-size:.75rem}.message-user .message-time{text-align:right}.loading-indicator{gap:.5rem;padding:1rem 1.5rem;display:flex}.loading-indicator span{background:var(--tmna-slate-gray);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce}.loading-indicator span:first-child{animation-delay:-.32s}.loading-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-form{border-top:1px solid var(--line);flex-shrink:0;gap:.75rem;padding-top:1rem;display:flex}.chat-input{border:1px solid var(--line);border-radius:8px;flex:1;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.chat-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #003f5f1f}.chat-send-button{background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background .2s}.chat-send-button:hover:not(:disabled){background:var(--brand-strong)}.chat-send-button:disabled{background:var(--tmna-slate-gray);cursor:not-allowed}@media (width<=768px){.chat-container{margin:.5rem;padding:1rem}.message-content{max-width:85%}.suggestion-chips{max-width:100%}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feedback-control{margin-top:.5rem}.feedback-thumbs{border:0;gap:.25rem;min-inline-size:0;margin:0;padding:0;display:flex}.feedback-thumb{color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.feedback-thumb:hover:not(:disabled){color:var(--text,#111827);background:#0000000d}.feedback-thumb.selected{color:var(--accent,#2563eb);border-color:var(--accent,#2563eb)}.feedback-thumb:disabled{opacity:.5;cursor:default}.feedback-comment{flex-direction:column;gap:.375rem;max-width:32rem;margin-top:.375rem;display:flex}.feedback-textarea{width:100%;min-height:2.5rem;font:inherit;border:1px solid var(--border,#d1d5db);resize:vertical;border-radius:6px;padding:.375rem .5rem}.feedback-submit{border:1px solid var(--accent,#2563eb);background:var(--accent,#2563eb);color:#fff;cursor:pointer;border-radius:6px;align-self:flex-start;padding:.25rem .75rem;font-size:.875rem}.feedback-submit:disabled{opacity:.6;cursor:default}.feedback-done{color:var(--text-muted,#6b7280);font-size:.875rem;display:block}.feedback-error{color:var(--error,#b91c1c);margin:0;font-size:.8125rem}.nav-tile{background:var(--panel);border:1px solid var(--line);color:inherit;cursor:pointer;border-radius:12px;padding:2rem;text-decoration:none;transition:all .2s;display:block;position:relative}.nav-tile:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 4px 12px #003f5f26}.nav-tile-icon{color:var(--brand);margin-bottom:1rem;line-height:1;display:flex}.nav-tile-title{color:var(--ink-900);margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.nav-tile-description{color:var(--ink-700);margin:0 0 1rem;font-size:1rem;line-height:1.6}.nav-tile-arrow{color:var(--brand);font-size:1.5rem;transition:transform .2s;position:absolute;bottom:1.5rem;right:2rem}.nav-tile:hover .nav-tile-arrow{transform:translate(4px)}.brand-mark{align-items:center;gap:.55rem;display:inline-flex}.brand-mark img{flex-shrink:0;display:block}.brand-wordmark{letter-spacing:.01em;color:var(--ink-900);font-family:Space Grotesk,Trebuchet MS,sans-serif;font-size:1.05rem;font-weight:700}.home-header{margin-bottom:3rem}.home-header .brand-mark{margin-bottom:.85rem}.home-title{color:var(--ink-900);margin:0 0 .5rem;font-size:2rem;font-weight:600}.home-subtitle{color:var(--ink-700);margin:0;font-size:1.125rem}.tiles-container{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:1200px;padding:0 1rem;display:grid}@media (width<=768px){.home-title{font-size:1.5rem}.home-subtitle{font-size:1rem}.tiles-container{grid-template-columns:1fr;gap:1rem}}
