.hub-toolbar{display:flex;gap:20px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}.hub-toolbar label{min-width:220px}.hub-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.hub-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-stats .card{padding:22px}.hub-stats span{font-size:.8125rem;color:var(--muted);display:block;line-height:1.5}.hub-stats strong{font-size:1.85rem;font-weight:600;display:block;margin-top:12px;line-height:1.3;font-variant-numeric:tabular-nums}.hub-stats small{font-size:.875rem;font-weight:400;color:var(--muted)}.hub-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start}.hub-form{display:grid;gap:16px}.hub-form .fields{margin:0}.hub-form p{margin:0}.log-row{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.log-row:last-child{border:0}.log-row>div{min-width:0}.log-row h3{font-size:1rem;overflow-wrap:anywhere;margin:0 0 5px}.log-row p{font-size:.8125rem;overflow-wrap:anywhere;margin:0}.icon-button{width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);font-size:24px;border-radius:9px}.empty-state{text-align:center;padding:38px 15px}.empty-state>span{font-size:36px;color:var(--accent-text)}.empty-state h3{font-size:1.1rem;margin:18px 0 10px}.empty-state p{font-size:.875rem;max-width:340px;margin:auto}.lift-chart{display:flex;gap:10px;align-items:end;min-height:190px;overflow-x:auto;padding:15px 5px;border-bottom:1px solid var(--line)}.lift-bar{flex:1;min-width:35px;text-align:center;font-size:.75rem;color:var(--muted)}.lift-bar>div{background:var(--green);border-radius:6px 6px 0 0;margin:6px 0;min-width:20px}.lift-bar small{font-size:.6875rem;line-height:1.4;display:block}.table-scroll{overflow-x:auto}.hub-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:.875rem}.hub-table th{font-weight:500;font-size:.75rem;color:var(--muted);padding:16px 14px;border-bottom:1px solid var(--line)}.hub-table td{padding:19px 14px;border-bottom:1px solid var(--line)}.your-row{background:var(--accent-soft);color:var(--accent-text)}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.program-card{display:flex;flex-direction:column}.program-card h2{font-size:1.5rem;margin:12px 0 7px}.program-card p{font-size:.9375rem;margin:16px 0 22px}.program-card details{margin-bottom:24px;flex:1}.program-card summary{cursor:pointer;font-size:.875rem;color:var(--accent-text);padding:12px 0}.program-day{border-top:1px solid var(--line);padding:15px 0}.program-day h3{font-size:.9375rem;margin:0 0 8px}.program-day ul{font-size:.875rem;color:var(--muted);padding-left:19px;margin:0;line-height:1.9}.chosen-program{border-color:var(--accent-text)!important}.active-program{display:block;background:var(--accent-soft);color:var(--accent-text);padding:14px 18px;border-radius:12px;margin-bottom:22px;font-size:.875rem}.chat-gate{text-align:center;max-width:640px;margin:auto;padding:42px 28px}.gate-symbol{font-size:48px;color:var(--accent-text)}.chat-gate h2{margin-top:20px}.chat-gate .btn{margin:6px}.chat-gate .tiny{margin:20px 0 0}.chat-card{max-width:850px;margin:auto}.chat-card .text-button{margin:0;font-size:.75rem}.chat-messages{min-height:240px;max-height:460px;overflow-y:auto;padding:20px 0;display:flex;flex-direction:column;gap:16px}.chat-message{max-width:85%;padding:15px 18px;background:var(--surface-alt);border-radius:16px;align-self:flex-start}.chat-message.user{background:var(--accent-soft);align-self:flex-end}.chat-message span{font-size:.6875rem;color:var(--accent-text);font-weight:600}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font-size:.9375rem;margin:6px 0 0}.chat-prompts{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.chat-prompts button{background:var(--surface-alt);color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-size:.75rem}.chat-compose{display:flex;gap:12px;align-items:end}.chat-compose textarea{min-width:0;flex:1;resize:vertical;max-height:200px;min-height:58px;background:var(--surface-alt);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px;font:inherit;font-size:1rem}.chat-card>p{margin:15px 0 0}.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}.sidebar{overflow-y:auto}.sidebar .nav-label{margin-top:30px}.sidebar nav{gap:3px}.sidebar nav a{padding-top:9px;padding-bottom:9px;font-size:.8125rem}.sidebar-bottom{margin-top:28px;padding:14px}.sidebar-bottom .mini-mark{display:none}.sidebar-bottom p{display:none}.sidebar-bottom a{margin-top:14px}.profile{margin-top:16px}.hub-menu{position:relative;display:none}.hub-menu summary{cursor:pointer;list-style:none;background:var(--surface-alt);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:.875rem}.hub-menu summary::-webkit-details-marker{display:none}.hub-menu-links{position:absolute;right:0;top:48px;width:220px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #0003;z-index:30}.hub-menu-links a{display:block;padding:11px 14px;border-radius:8px;font-size:.875rem}.hub-menu-links a:hover,.hub-menu-links a.active{background:var(--accent-soft);color:var(--accent-text)}.program-card .eyebrow{margin:0}.icon-button:hover,.chat-prompts button:hover{color:var(--ink);border-color:var(--accent-text)}
@media(max-width:1050px){.hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-stats.three{grid-template-columns:1fr}.hub-columns{grid-template-columns:1fr}.program-grid{gap:18px}.hub-stats strong{font-size:1.65rem}}
@media(max-width:850px){.hub-menu{display:block}.topbar-actions{flex-wrap:wrap}.program-grid{grid-template-columns:1fr}}
@media(max-width:600px){.hub-stats{gap:12px}.hub-stats .card{padding:18px}.hub-toolbar label{min-width:0;width:100%}.chat-compose{flex-wrap:wrap}.chat-compose textarea{flex-basis:100%}.chat-compose .btn{width:100%}.chat-message{max-width:94%}.chat-gate .btn{display:flex;width:100%;margin:10px 0}.hub-menu summary{padding:9px}.topbar-actions{gap:6px}.login-button{padding:9px}.chat-card{padding:18px}.hub-columns{gap:18px}}

/* Pro chat typography: readable Cyrillic, flexible controls and message wrapping. */
.chat-card,.chat-gate{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.6;letter-spacing:normal;min-width:0}
.chat-card .card-top{flex-wrap:wrap;gap:12px 20px;align-items:center}
.chat-card .card-top h2,.chat-gate h2{font-size:1.375rem;font-weight:600;line-height:1.35;letter-spacing:-.015em;overflow-wrap:anywhere}
.chat-gate>p,.chat-card .empty-state p{font-size:1rem;line-height:1.65}
.chat-card .text-button,.chat-prompts button,.chat-card .tiny,.chat-gate .tiny{font-size:.875rem;line-height:1.5;letter-spacing:normal}
.chat-card .text-button{min-height:44px;text-align:left;color:var(--accent-text);white-space:normal}
.chat-message{min-width:0;max-width:min(85%,65ch)}
.chat-message span{display:block;font-size:.8125rem;line-height:1.5;letter-spacing:normal}
.chat-message p{font-size:1rem;font-weight:400;line-height:1.7;letter-spacing:normal;word-break:normal;overflow-wrap:anywhere}
.chat-prompts button{min-height:44px;max-width:100%;font-weight:500;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:10px 14px}
.chat-compose textarea{font-family:inherit;font-size:1rem;font-weight:400;line-height:1.6;letter-spacing:normal;overflow-wrap:anywhere}
.chat-compose textarea:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}
.chat-compose .btn,.chat-gate .btn{font-size:.9375rem;line-height:1.5;font-weight:600;white-space:normal;overflow-wrap:anywhere;max-width:100%;flex-shrink:0}
@media(max-width:600px){.chat-message{max-width:100%;padding:14px 16px}.chat-gate{padding:28px 20px}.chat-card .card-top h2,.chat-gate h2{font-size:1.25rem}.chat-prompts{display:grid;grid-template-columns:minmax(0,1fr)}.chat-compose .btn{flex-shrink:1}}
