@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Georgian:wght@400;500;600;700;800&display=swap";
.tg-page{max-width:1360px;margin:0 auto;padding:28px 32px 64px}.tg-top{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.tg-back{color:#7a829a;align-items:center;gap:8px;font-size:12px;display:flex}.tg-languages{background:#eceef5;border-radius:10px;gap:3px;padding:4px;display:flex}.tg-languages button{letter-spacing:.6px;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:700}.tg-languages button[aria-pressed=true]{color:#6658ce;background:#fff;box-shadow:0 2px 5px #25304a0a}.tg-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.tg-eyebrow{letter-spacing:2px;color:#8d83bd;font-size:10px;font-weight:700}.tg-heading h1{letter-spacing:-1px;margin:10px 0;font-size:32px;line-height:1.3}.tg-heading p{color:#81879e;max-width:650px;margin:0;font-size:13px;line-height:1.7}.tg-button{white-space:normal;background:#fff;border:1px solid #e2e5ef;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.tg-button:hover{background:#f2f0fc}.tg-button.primary{color:#fff;background:#7160df;border-color:#7160df;box-shadow:0 4px 10px #7160df18}.tg-button.primary:hover{background:#6554d2}.tg-button.danger{color:#fff;background:#a84050;border-color:#a84050}.tg-button:disabled{cursor:not-allowed;opacity:.45}.tg-inline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tg-workspace{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:28px;display:grid}.tg-sidebar{max-height:calc(100vh - 50px);position:sticky;top:24px;overflow:auto}.tg-sidebar-title{color:#8c91a5;justify-content:space-between;padding:6px 10px 16px;font-size:11px;display:flex}.tg-sidebar-title>span{color:#8173b8;background:#eae7f8;border-radius:5px;padding:1px 7px}.tg-instance{text-align:left;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;margin-bottom:7px;padding:16px 12px;display:flex}.tg-instance:hover{background:#efedf8}.tg-instance.selected{background:#efecfc;border-color:#e0daf9}.tg-instance>span:nth-child(2){flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.tg-instance strong{overflow-wrap:anywhere;font-size:12px;font-weight:600}.tg-instance small{color:#8a8ca2;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.tg-instance>svg{color:#a89acb}.tg-status-dot{background:#b5b8ca;border-radius:50%;flex-shrink:0;width:7px;height:7px}.tg-status-dot.on{background:#60a88b}.tg-detail{flex-direction:column;gap:20px;min-width:0;display:flex}.tg-card{background:#fff;border:1px solid #e8e9f1;border-radius:16px;padding:26px}.tg-instance-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.tg-instance-header h2{overflow-wrap:anywhere;margin:12px 0 6px;font-size:22px;line-height:1.5}.tg-instance-header p{color:#878da2;overflow-wrap:anywhere;margin:0;font-size:12px}.tg-pill{letter-spacing:.4px;color:#8b91a5;background:#f1f2f6;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:600;display:inline-flex}.tg-pill.on{color:#47836c;background:#eef8f1}.tg-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.tg-section-heading h3{align-items:center;gap:10px;margin:0;font-size:14px;font-weight:600;display:flex}.tg-section-heading h3 svg{color:#9383c5}.tg-step{letter-spacing:1px;color:#bdc0d2;font-size:11px}.tg-description{color:#858a9f;margin:-3px 0 20px;font-size:12px;line-height:1.9}.tg-init{background:#f9f7ff;border:1px dashed #ccc4eb;border-radius:10px;margin-top:18px;padding:12px}.tg-init>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.tg-init code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;color:#65558b;font-size:12px}.tg-init small{color:#9a90b1;margin-top:8px;font-size:10px;line-height:1.8;display:block}.tg-init .tg-button{min-height:30px;padding:6px}.tg-form-grid{grid-template-columns:1fr 1fr;gap:22px 20px;display:grid}.tg-form-grid label,.tg-schedule-picker>label{color:#6e758d;flex-direction:column;gap:9px;font-size:11px;font-weight:600;display:flex}.tg-form-grid input,.tg-form-grid select{color:#34394d;background:#fbfbfe;border:1px solid #e4e6ef;border-radius:9px;width:100%;min-height:42px;padding:10px 12px;font-size:12px}.tg-schedule-picker{grid-column:1/-1;position:relative}.tg-schedule-picker>input{margin-top:10px}.tg-chosen{color:#7160b5;align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.tg-results{z-index:10;background:#fff;border:1px solid #e4e1ef;border-radius:10px;max-height:330px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 10px 28px #20283d18}.tg-results button{text-align:left;border-bottom:1px solid #f1f1f7;flex-direction:column;gap:6px;width:100%;padding:13px 16px;display:flex}.tg-results button:hover{background:#f7f5fd}.tg-results strong{font-size:12px}.tg-results small,.tg-results p{color:#9499ad;font-size:11px}.tg-results p{padding:12px}.tg-hint{color:#9b9fb1;margin:16px 0 0;font-size:10px;line-height:1.8}.tg-themes{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.tg-theme{text-align:left;border:1px solid #e6e8f0;border-radius:11px;min-width:0;padding:12px}.tg-theme.selected{background:#fcfbff;border-color:#aa9ce5;box-shadow:0 0 0 2px #bcb0eb15}.tg-theme>span{justify-content:space-between;align-items:center;gap:4px;margin-top:12px;display:flex}.tg-theme strong{font-size:11px}.tg-theme>span svg{color:#8070ca;flex-shrink:0}.tg-theme>small{color:#999db0;margin-top:6px;font-size:9px;line-height:1.7;display:block}.tg-mini-table{background:#f8f9fc;border-radius:5px;grid-template-columns:repeat(5,1fr);gap:3px;height:75px;padding:6px;display:grid}.tg-mini-table span{background:#e2e7f1;border-left:2px solid #bac7da;border-radius:2px}.tg-mini-table span:nth-child(-n+5){background:#edf0f6;border:0;height:10px}.color .tg-mini-table span:nth-child(3n+6){background:#e9e6fa;border-color:#c7bbed}.color .tg-mini-table span:nth-child(3n+7){background:#f9e9d7;border-color:#e8c59b}.color .tg-mini-table span:nth-child(3n+8){background:#dff0e9;border-color:#b0d7c6}.compact .tg-mini-table{gap:1px;padding:4px}.compact .tg-mini-table span{border-left:1px solid #bac7da;border-radius:0}.tg-save-bar{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fcfbffef;border:1px solid #e0dcec;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;bottom:16px;box-shadow:0 8px 25px #41305f0d}.tg-save-bar>span{color:#9b91b6;font-size:11px}.tg-preview{background:#f5f6fb;border:1px solid #eef0f5;border-radius:10px;margin-bottom:18px;display:block;overflow:hidden}.tg-preview img{width:100%;height:auto;display:block}.tg-preview-empty{color:#c1bed4;background:#fdfdff;border:1px dashed #e2e4ef;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:180px;margin-bottom:18px;padding:30px;display:flex}.tg-preview-empty p{text-align:center;color:#a3a3b8;max-width:320px;font-size:11px;line-height:1.8}.tg-stats{background:#fafafe;border-radius:10px;grid-template-columns:1fr 1fr;gap:12px;padding:16px;display:grid}.tg-stats>div{flex-direction:column;gap:8px;display:flex}.tg-stats span{color:#a0a3b5;font-size:10px}.tg-stats strong{color:#727a92;font-size:11px;font-weight:500}.tg-events{margin:22px 0 0;padding:0;list-style:none}.tg-events li{gap:12px;padding:0 0 20px;display:flex;position:relative}.tg-events li:not(:last-child):before{content:"";background:#eeeef5;width:1px;position:absolute;top:14px;bottom:0;left:3px}.tg-event-dot{background:#b5a9d5;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.tg-event-dot.sent{background:#80b59b}.tg-event-dot.failed{background:#d49a8f}.tg-events li>div{flex-direction:column;gap:5px;display:flex}.tg-events strong{color:#69718a;font-size:11px;font-weight:500}.tg-events small{color:#999aaf;font-size:10px;line-height:1.8}.tg-events time{color:#b0b1c0;font-size:9px}.tg-icon-button{color:#9b91b6;border-radius:8px;padding:8px;display:inline-flex}.tg-delete{color:#b28791;padding:8px 4px}.tg-delete>button{align-items:center;gap:8px;font-size:11px;display:flex}.tg-delete>div{background:snow;border:1px solid #edd8dd;border-radius:12px;margin-top:12px;padding:18px}.tg-delete p{color:#a9757e;margin:0 0 15px;font-size:12px;line-height:1.9}.tg-alert,.tg-notice{border-radius:11px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:14px 18px;font-size:12px;line-height:1.8;display:flex}.tg-detail>.tg-alert{margin-bottom:0}.tg-alert{color:#a97560;background:#fff8f4;border:1px solid #ecd3cb}.tg-alert button{align-items:center;gap:5px;text-decoration:underline;display:flex}.tg-notice{color:#589375;background:#f4fbf7;border:1px solid #d5e8dd}.tg-empty{text-align:center;background:#fff;border:1px solid #e9e7f2;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:45px 24px;display:flex}.tg-empty-icon{color:#9c8fcf;background:#f1edfc;border-radius:22px;justify-content:center;align-items:center;width:76px;height:76px;margin-bottom:16px;display:flex}.tg-empty h2{letter-spacing:-.3px;font-size:21px}.tg-empty p{color:#9396ac;max-width:470px;margin:0 0 26px;font-size:13px;line-height:1.9}@media (max-width:900px){.tg-page{padding:20px}.tg-workspace{grid-template-columns:210px minmax(0,1fr);gap:16px}.tg-card{padding:20px}.tg-themes{gap:8px}.tg-theme{padding:9px}.tg-heading h1{font-size:27px}}@media (max-width:680px){.tg-page{padding:16px 14px 40px}.tg-top{margin-bottom:30px}.tg-heading{flex-direction:column;align-items:flex-start;margin-bottom:22px}.tg-heading h1{font-size:27px}.tg-heading>.tg-button{width:100%}.tg-workspace{display:block}.tg-sidebar{gap:8px;max-height:none;margin-bottom:12px;padding-bottom:12px;display:flex;position:static;overflow-x:auto}.tg-sidebar-title{display:none}.tg-instance{flex-shrink:0;width:195px;margin:0;padding:12px}.tg-detail{gap:14px}.tg-card{border-radius:13px;padding:18px}.tg-instance-header{align-items:flex-start}.tg-instance-header h2{font-size:19px}.tg-instance-header>.tg-button{padding:9px 11px;font-size:10px}.tg-form-grid{gap:18px 12px}.tg-themes{grid-template-columns:1fr}.tg-theme{grid-template-columns:95px 1fr;align-items:center;column-gap:14px;padding:12px;display:grid}.tg-mini-table{grid-row:span 2;height:68px}.tg-theme>span{margin-top:0}.tg-theme>small{margin-top:3px}.tg-save-bar{bottom:10px}.tg-section-heading{gap:8px}.tg-section-heading h3{font-size:13px}.tg-section-heading>.tg-button{padding:8px;font-size:10px}.tg-stats{gap:10px;padding:12px}.tg-init code{font-size:10px}.tg-empty{min-height:350px}}@media (prefers-reduced-motion:reduce){.tg-button{transition:none}}.tg-name-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tg-name-row h2{margin:0}.tg-name-row input{min-width:0;max-width:100%;font:inherit;border:1px solid #d5daea;border-radius:8px;padding:9px 12px}.tg-connection-steps{padding-left:24px;line-height:1.65}.tg-connection-steps li{padding:8px 0 8px 6px}.tg-connection-steps li::marker{color:#6661bf;font-weight:700}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fc;--surface:#fff;--ink:#24273d;--muted:#81849a;--line:#e9eaf2;--accent:#7160e8;--accent-soft:#f0edff}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font:14px Noto Sans Georgian,Arial,sans-serif}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}button,a,input,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #b6acff}svg{flex-shrink:0}.tri{flex-direction:column;gap:4px;line-height:1.45;display:flex}.tri>span{font-weight:600}.tri small{opacity:.67;font-size:.85em;font-weight:400}.tri.inline{flex-direction:row;gap:8px;display:inline-flex}.icon-button{width:38px;height:38px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--accent-soft);color:var(--accent)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.nav-link{color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:12px;display:flex}.nav-link:hover,.nav-link.active{color:var(--accent);background:var(--accent-soft)}.main{flex:1;width:100%;min-width:0}.workspace{max-width:1540px;margin:auto;padding:20px 36px 35px}.page-heading{align-items:center;gap:15px;min-width:0;margin:0 0 24px;display:flex}.heading-search{align-items:center;gap:20px;min-width:0;max-width:calc(100% - 50px);display:flex}h1{letter-spacing:-.7px;overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:750;line-height:1.4}.heading-search h1{min-width:0}.heading-search h1 .tri>span{font-size:32px;font-weight:750}.heading-search h1 .tri small{color:var(--muted);font-size:17px}.heading-search-icon{background:var(--surface);border:1px solid var(--line);width:44px;height:44px;color:var(--muted);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.heading-search:hover .heading-search-icon{color:var(--accent);border-color:#d2cafa}.favorite-button{color:#bbc0d2;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-height:44px;display:flex}.favorite-button:hover{color:#c99a2f;background:#faf4e2}.favorite-button.saved{color:#c69a36}.heading-favorite{margin-left:auto}.preferences{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.language-switch{background:#edecf5;border-radius:11px;gap:4px;padding:4px;display:flex}.language-switch button{color:#85839a;letter-spacing:.5px;border-radius:8px;padding:8px 18px;font-size:12px;font-weight:700}.language-switch button.active{background:var(--surface);color:var(--accent);box-shadow:0 2px 6px #35305c0d}.all-languages{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.all-languages input{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px}.all-languages .tri>span{font-weight:400}.search-page{max-width:780px;margin:22px auto 70px}.search-intro{text-align:center;margin-bottom:30px}.global-search{background:var(--surface);min-height:76px;color:var(--accent);border:1px solid #ddd9f0;border-radius:18px;align-items:center;gap:16px;padding:18px 22px;display:flex;box-shadow:0 10px 40px #6e5bc009}.global-search:focus-within{border-color:#9f91ea;box-shadow:0 0 0 4px #7861ec0b}.global-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:19px}.global-search input::placeholder{color:#aaa8bc}.global-search input:focus-visible{outline:0}.search-section-title{color:#9590a8;align-items:center;gap:9px;margin:28px 4px 14px;font-size:12px;display:flex}.search-section-title .tri>span{font-weight:500}.search-results{flex-direction:column;gap:8px;display:flex}.search-result{background:var(--surface);border:1px solid var(--line);border-radius:13px;align-items:center;min-width:0;padding:3px 10px 3px 3px;display:flex}.search-result:hover{border-color:#d3ccec}.search-result.is-favorite .result-icon{color:#bc9342;background:#fbf5e7}.result-link{flex:1;align-items:center;gap:14px;min-width:0;padding:12px;display:flex}.result-icon{color:#9d91c9;background:#f2f0fb;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.result-link>strong{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px;font-weight:550}.result-link .tri>span{font-size:15px;font-weight:550}.result-link .tri small{color:var(--muted);font-size:12px}.result-link>svg{color:#c8c5d6}.search-empty{color:#aaa5ba;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:165px;padding:30px;display:flex}.search-empty .tri>span{font-size:13px;font-weight:400}.show-more{color:var(--accent);border:1px dashed #d6d0eb;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:7px;padding:16px;font-size:12px;display:flex}.timetable-panel{border:1px solid var(--line);background:var(--surface);border-radius:17px;overflow:hidden}.timetable-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:19px 22px;display:flex}.week-label{align-items:center;gap:10px;font-size:13px;display:flex}.week-symbol{color:var(--accent);display:flex}.view-switch{background:var(--bg);border-radius:9px;gap:3px;padding:4px;display:flex}.view-switch button{color:#9793aa;border-radius:6px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;display:flex}.view-switch button.active{color:var(--accent);background:#fff;box-shadow:0 2px 5px #00000007}.day-filter{border-bottom:1px solid var(--line);gap:7px;padding:13px 19px;display:flex}.day-filter button{color:#8c899f;border-radius:9px;padding:8px 15px;font-size:12px}.day-filter button.active{background:var(--accent-soft);color:var(--accent)}.day-filter .tri{align-items:center}.mobile-day-picker{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:12px 14px;display:flex}.mobile-day-picker label{color:var(--accent);align-items:center;gap:8px;min-width:0;display:flex}.mobile-day-picker select{color:var(--ink);background:0 0;border:0;max-width:220px;padding:7px;font-size:14px;font-weight:600}.schedule-scroll{scrollbar-width:thin;overflow-x:auto}.schedule-grid{isolation:isolate;grid-template-columns:58px repeat(6,minmax(155px,1fr));min-width:988px;display:grid}.grid-corner{color:#aaa7bb;border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;grid-area:1/1;justify-content:center;align-items:center;gap:5px;font-size:9px;display:flex}.day-heading{text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:center;align-items:center;padding:8px;display:flex}.day-heading .tri>span{font-size:12px}.day-heading .tri small{font-size:10px}.time-label{color:#aaa7ba;font-variant-numeric:tabular-nums;border-right:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:center;padding-top:12px;font-size:11px;display:flex}.grid-cell{border-bottom:1px solid var(--line);border-right:1px solid var(--line);z-index:-1}.grid-lesson{z-index:1;align-self:stretch;min-width:0;margin:4px}.grid-cluster{z-index:1;flex-direction:column;gap:6px;min-width:0;margin:4px;display:flex}.grid-cluster .lesson{flex:1}.parallel-label{color:var(--muted);padding:1px;font-size:10px}.parallel-label .tri>span{font-size:10px;font-weight:400}.lesson{--card-bg:#f4f4f8;--card-border:#c2c2d1;--card-ink:#66657d;--card-text:#89869c;background:var(--card-bg);color:var(--card-ink);border:1px solid color-mix(in srgb,var(--card-border) 30%,transparent);overflow-wrap:anywhere;border-radius:9px;min-width:0;padding:12px}.lesson-lecture{--card-bg:#eaf4ff;--card-border:#8ab9e8;--card-ink:#32699c;--card-text:#6589ac}.lesson-practice{--card-bg:#fff0e3;--card-border:#edb17e;--card-ink:#a55c22;--card-text:#b58259}.lesson-lab{--card-bg:#eaf7f2;--card-border:#8dcbb9;--card-ink:#3d8773;--card-text:#80aa9d}.lesson-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:7px;margin-bottom:10px;display:flex}.lesson-top>span:first-child{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.lesson-type{background:#ffffff90;border-radius:4px;max-width:100%;padding:2px 5px;font-size:9px;line-height:1.5}.lesson h3{margin:0 0 5px;font-size:12px;font-weight:650;line-height:1.65}.course-code{color:var(--card-text);margin:0 0 9px;font:9px/1.5 Arial,sans-serif;display:block}.lesson-links{flex-direction:column;gap:7px;display:flex}.lesson-links>a,.lesson-groups,.subgroup-note{color:var(--card-text);align-items:flex-start;gap:6px;font-size:10px;line-height:1.6;display:flex}.lesson-links svg{opacity:.85;margin-top:2px}.lesson-links .tri>span{font-size:10px;font-weight:400}.lesson-links .tri small{font-size:9px}.lesson-links a:hover{text-decoration:underline}.lesson-groups>span{min-width:0}.subgroup-note{font-size:9px}.agenda{padding:8px 22px 24px}.mobile-agenda{display:none}.agenda-day{margin:18px 0 25px}.agenda-day-title{margin-bottom:13px}.agenda-day-title h2{margin:0;font-size:14px}.agenda-day-title h2 .tri>span{font-size:14px}.agenda-day-title h2 .tri small{color:var(--muted);font-size:11px}.agenda-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.agenda .lesson{padding:16px}.agenda .lesson-top>span:first-child{font-size:12px}.agenda .lesson-type,.agenda .course-code{font-size:10px}.agenda .lesson-links>a,.agenda .lesson-groups,.agenda .lesson-links .tri>span{font-size:12px}.agenda .lesson-links .tri small{font-size:11px}.free-day{background:var(--bg);color:#a4a0b5;border-radius:10px;align-items:center;gap:12px;padding:20px;font-size:12px;display:flex}.free-day>span:first-child{background:#cecadb;flex-shrink:0;width:16px;height:2px}.free-day .tri>span{font-weight:400}.schedule-placeholder{text-align:center;min-height:340px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:30px;display:flex}.schedule-placeholder p{overflow-wrap:anywhere}.text-button{color:var(--accent);text-decoration:underline}.source-notes{color:var(--muted);align-items:flex-start;gap:10px;padding:20px;font-size:11px;display:flex}.source-notes p{line-height:1.8}.source-notes p .tri{display:inline-flex}.source-notes .tri>span{font-size:11px}.alert{border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:16px 18px;font-size:12px;line-height:1.6;display:flex}.alert>span{overflow-wrap:anywhere;flex:1}.alert.error{color:#a86757;background:#fff0ed;border-color:#f3cfc8}.alert svg{margin-top:2px}.alert details{margin-top:10px}.alert pre,.run-row pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;font:11px/1.6 monospace;overflow:auto}.alert summary,.run-row summary{cursor:pointer}.archive-alert{background:var(--accent-soft);color:var(--accent);align-items:center}.archive-alert>a{margin-left:auto;text-decoration:underline}.archive-page{max-width:850px;margin:auto}.archive-page h1{margin-bottom:25px}.archive-page h1 .tri>span{font-size:30px}.snapshot-list{flex-direction:column;gap:9px;display:flex}.snapshot-list>a{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:15px;padding:20px;font-size:13px;display:flex}.snapshot-list>a:hover{border-color:#c5bbed}.snapshot-list>a>strong{flex:1}.snapshot-list>a>svg{color:var(--accent)}.snapshot-list>a>.tri{color:var(--accent);font-size:11px}.run-history{border-top:1px solid var(--line);margin-top:30px;padding-top:15px}.run-history h3{color:var(--muted);font-size:13px}.run-row{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;padding:14px 0;font-size:11px;display:flex}.run-row>.tri{margin-left:auto}.run-row details{width:100%}.page-bottom{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:26px;width:100%;max-width:1540px;margin:auto;padding:25px 25px 35px;display:flex}.refresh-area{flex-direction:column;align-items:center;gap:15px;display:flex}.refresh-button{color:#9b92b3;border:1px solid #e1dced;border-radius:11px;justify-content:center;align-items:center;gap:9px;padding:11px 17px;font-size:11px;display:flex}.refresh-button:hover{background:var(--accent-soft);color:var(--accent)}.refresh-button .tri>span{font-weight:500}.import-status{color:var(--accent);align-items:center;gap:10px;font-size:12px;display:flex}@media (min-width:1700px){.workspace,.site-header,.page-bottom{max-width:1750px}.lesson h3{font-size:13px}.lesson-links>a,.lesson-groups,.lesson-links .tri>span{font-size:11px}}@media (max-width:1000px){.workspace{padding:15px 24px 30px}.search-page{margin-top:16px}}@media (max-width:760px){.nav-link{gap:6px;padding:9px;font-size:10px}.nav-link .tri small{font-size:9px}.workspace{padding:16px 16px 26px}.page-heading{gap:8px;margin-bottom:20px}.heading-search{gap:11px;max-width:calc(100% - 42px)}.heading-search h1,.heading-search h1 .tri>span{font-size:25px}.heading-search h1 .tri small{font-size:13px}.heading-search-icon{border-radius:10px;width:36px;height:36px}.heading-search-icon svg{width:20px}.heading-favorite{width:36px}.heading-favorite svg{width:21px}.search-page{margin:18px auto 35px}.search-intro{margin-bottom:25px}.preferences{gap:13px}.search-intro .preferences{flex-direction:column}.language-switch button{padding:8px 19px}.all-languages{font-size:11px}.global-search{border-radius:15px;gap:11px;min-height:68px;padding:12px 15px}.global-search input{font-size:16px}.global-search>svg{width:21px}.search-section-title{margin-top:24px}.result-link{gap:11px;padding:11px 9px}.result-icon{border-radius:10px;width:36px;height:36px}.result-link>strong,.result-link .tri>span{font-size:13px}.search-result{padding-right:5px}.search-result .favorite-button{width:38px}.result-link .tri small{font-size:11px}.timetable-toolbar,.day-filter,.view-switch,.schedule-scroll{display:none}.timetable-panel{border-radius:14px}.agenda,.mobile-agenda{padding:2px 14px 12px;display:block}.agenda-day{margin:14px 0}.agenda-day-title{display:none}.agenda-cards{grid-template-columns:1fr;gap:12px}.agenda .lesson{padding:15px}.agenda .lesson h3{font-size:14px}.agenda .lesson-links>a,.agenda .lesson-groups,.agenda .lesson-links .tri>span{font-size:12px}.free-day{text-align:center;flex-direction:column;justify-content:center;min-height:170px;padding:28px}.free-day>span:first-child{width:23px;height:3px}.schedule-placeholder{min-height:260px;padding:25px 15px;font-size:12px}.source-notes{overflow-wrap:anywhere;padding:17px 3px}.page-bottom{gap:22px;padding:25px 16px 29px}.page-bottom>.preferences{flex-direction:column}.refresh-button{font-size:11px}.alert{gap:9px;padding:13px;font-size:11px}.archive-page h1 .tri>span{font-size:26px}.snapshot-list>a{gap:10px;padding:15px 12px;font-size:11px}.snapshot-list>a>.tri,.run-row{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.mobile-days{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:12px 9px;display:grid}.mobile-days button{color:var(--muted);border-radius:8px;padding:10px 0;font-size:11px}.mobile-days button.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.lesson-unknown{--card-bg:#fff3e5;--card-border:#d8ac71;--card-ink:#906631;--card-text:#aa8960}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.source-page{max-width:1000px;margin:auto;padding:24px}.source-page h1{margin-bottom:20px}.source-fragment{border:1px solid var(--line);background:#fff;border-radius:12px;margin:18px 0;padding:20px}.source-fragment pre{white-space:pre;background:var(--bg);max-height:450px;padding:15px;font:12px/1.6 monospace;overflow:auto}.source-meta{overflow-wrap:anywhere;color:var(--muted);font:11px/1.7 monospace}.source-fragment a{color:var(--accent);margin:12px 0;display:inline-block}.source-back{color:var(--accent)}.lesson-links>.comma-links{color:var(--card-text);align-items:flex-start;gap:6px;font-size:10px;line-height:1.6;display:flex}.comma-links>span{min-width:0}.comma-links a{vertical-align:top;display:inline-flex}.comma-links .tri{display:inline-flex}.agenda .comma-links{font-size:12px}.source-preview{border:1px solid var(--line);background:#fff;width:100%;height:75vh;min-height:400px;margin:12px 0;display:block}.source-fragment h2{overflow-wrap:anywhere;font-size:18px}.source-fragment summary,.related-sources>summary{cursor:pointer;color:var(--muted);padding:12px 0}.related-source{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:12px 0;display:flex}.related-source>a{color:var(--accent)}@media (max-width:760px){.source-page{padding:0}.source-fragment{padding:12px}.related-source{flex-wrap:wrap}}.update-panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;flex-direction:column;gap:18px;margin-bottom:28px;padding:22px;display:flex}.update-panel .refresh-area{align-items:flex-start}.update-panel .refresh-button{color:var(--accent);background:var(--accent-soft);border-color:#dcd5f4;font-size:13px}.update-panel .alert{margin:0}.archive-section-title{color:var(--muted);margin:0 0 14px;font-size:14px}.archive-updates-link{color:var(--accent);border:1px solid #e1dced}@media (max-width:760px){.update-panel{padding:16px}.archive-page h1 .tri>span{font-size:25px}.update-panel .refresh-button{width:100%}.update-panel .refresh-area{align-items:stretch}}.share-area{flex-direction:column;align-items:flex-end;gap:8px;margin-bottom:14px;display:flex}.share-button{background:var(--surface);border:1px solid var(--line);color:var(--accent);border-radius:11px;align-items:center;gap:9px;padding:10px 14px;font-size:12px;display:flex}.share-button:hover{background:var(--accent-soft)}.share-error{color:#a86757;max-width:400px;font-size:12px}.share-error button{color:var(--accent);align-items:center;gap:5px;margin-left:10px;text-decoration:underline;display:inline-flex}@media (max-width:760px){.timetable-toolbar{padding:10px 12px;display:flex}.timetable-toolbar .week-label{display:none}.timetable-toolbar .view-switch{width:100%;display:flex}.view-switch button{flex:1;justify-content:center;padding:9px}.schedule-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;display:block}.schedule-grid .time-label,.schedule-grid .grid-corner{z-index:3;background:#fff;position:sticky;left:0}.share-button{min-height:42px;font-size:11px}.share-area{margin-bottom:12px}}.compact-option{justify-content:center;margin-top:16px}.heading-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.heading-actions .share-area{margin:0;position:relative}.heading-actions .share-error{z-index:5;border:1px solid var(--line);background:#fff;border-radius:9px;width:280px;padding:12px;position:absolute;top:100%;right:0;box-shadow:0 4px 20px #24273d12}.heading-actions .heading-favorite{margin:0}.page-heading .heading-search{flex:1;max-width:none}.heading-actions .share-button{white-space:nowrap}@media (max-width:760px){.page-heading{flex-wrap:wrap}.heading-actions{margin-left:auto}.heading-actions .share-button{padding:9px;font-size:10px}.page-heading .heading-search{flex-basis:100%}.heading-actions .favorite-button{width:38px}.agenda .lesson{contain:paint}.agenda-cards{flex-direction:column;display:flex}}.schedule-grid{--grid-row-min:112px}.install-area{flex-direction:column;align-items:center;gap:10px;display:flex}.install-button{color:var(--accent);border:1px solid var(--line);background:#fff}.install-help{border:1px solid var(--line);background:#fff;border-radius:10px;gap:12px;max-width:430px;padding:15px;font-size:12px;line-height:1.6;display:flex}.update-info{color:var(--muted);font-size:12px;line-height:1.7}.is-compact .schedule-grid{--grid-row-min:60px}.is-compact .grid-lesson,.is-compact .grid-cluster{margin:2px}.is-compact .grid-cluster{gap:3px}.is-compact .schedule-grid .lesson{border-radius:6px;padding:3px 6px}.is-compact .schedule-grid .lesson-top{gap:3px;margin-bottom:2px}.is-compact .schedule-grid .lesson-top>span:first-child{font-size:9px}.is-compact .schedule-grid .lesson h3{margin-bottom:2px;font-size:10px;line-height:1.2}.is-compact .schedule-grid .lesson-links{gap:2px}.is-compact .schedule-grid .comma-links{font-size:9px;line-height:1.25}.is-compact .schedule-grid .lesson-links svg{width:11px;height:11px;margin-top:0}.is-compact .schedule-grid .tri{gap:1px}.is-compact .time-label{padding-top:6px;font-size:10px}.is-compact .day-heading{padding:5px}.is-compact .day-heading .tri>span{font-size:11px}.is-compact .agenda{padding:4px 12px 12px}.is-compact .agenda-day{margin:10px 0 14px}.is-compact .agenda .lesson{padding:10px}.is-compact .agenda .lesson-top{margin-bottom:6px}.is-compact .agenda .lesson h3{font-size:13px;line-height:1.4}.is-compact .agenda .lesson-links{gap:3px}.is-compact .agenda .comma-links{font-size:11px}@media (min-width:761px){.app-shell.is-compact .workspace{padding-top:14px;padding-bottom:18px}.app-shell.is-compact .page-heading{margin-bottom:12px}.app-shell.is-compact h1,.app-shell.is-compact .heading-search h1 .tri>span{font-size:26px}.is-compact .timetable-toolbar{padding:8px 14px}}@media (max-width:760px){.page-heading{flex-wrap:nowrap;gap:6px}.page-heading .heading-search{flex:1 1 0;min-width:0}.heading-actions{gap:5px}.heading-actions .share-button{justify-content:center;width:36px;height:36px;min-height:36px;padding:0}.heading-actions .share-button>span{display:none}.heading-actions .favorite-button,.heading-actions .heading-search-icon{width:36px;height:36px}.heading-search h1,.heading-search h1 .tri>span{font-size:23px}}.heading-identity{flex:0 auto;align-items:center;gap:12px;min-width:0;display:flex}.page-heading .heading-identity .heading-search{flex:0 auto;min-width:0}@media (max-width:760px){.heading-identity{gap:8px}}.workspace:has(.timetable-panel){max-width:none;padding-left:0;padding-right:0}.workspace:has(.timetable-panel)>.page-heading{padding-inline:16px}.timetable-panel{box-shadow:none;border-left:0;border-right:0;border-radius:0}.timetable-toolbar{padding:12px 16px}.schedule-fit{width:100%;position:relative;overflow:hidden}.schedule-fit .schedule-grid{width:100%;min-width:0}.schedule-grid .time-label{padding:9px 1px;font-size:9px}.schedule-grid .grid-corner{gap:3px;font-size:8px}.grid-lesson,.grid-cluster,.is-compact .grid-lesson,.is-compact .grid-cluster{margin:1px}.lesson,.is-compact .schedule-grid .lesson{box-shadow:none;border:0;border-radius:2px}.agenda,.is-compact .agenda{padding-inline:0}.export-actions{align-items:center;gap:6px;display:flex}.download-dialog{border:1px solid var(--line);width:min(420px,100vw - 32px);color:var(--ink);border-radius:14px;padding:0;box-shadow:0 18px 80px #24273d33}.download-dialog::backdrop{background:#24273d66}.download-dialog-content{padding:22px}.download-dialog-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.download-dialog-heading h2{margin:0;font-size:18px}.download-dialog-heading button{color:var(--muted);padding:6px;display:flex}.download-formats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.download-formats button{background:var(--accent-soft);color:var(--accent);border-radius:8px;flex-direction:column;align-items:center;gap:14px;padding:22px 8px;display:flex}.download-formats button:hover{outline:1px solid var(--accent)}.download-dialog .text-button{margin-top:15px}@media (max-width:760px){.timetable-toolbar{padding:8px}.agenda,.is-compact .agenda{padding:0 0 12px}.agenda-cards{gap:4px}.agenda{touch-action:pan-y pinch-zoom}.mobile-days{padding-inline:4px}.heading-identity{gap:4px}.heading-actions{gap:3px}.heading-actions .share-button{width:32px}.workspace:has(.timetable-panel)>.page-heading{padding-inline:8px}}.schedule-fit{touch-action:auto;overscroll-behavior:auto;overflow:hidden}.schedule-fit .schedule-grid{min-height:inherit;--grid-row-min:var(--fit-row-min,80px);--grid-line:#000}.is-compact .schedule-fit .schedule-grid{--grid-row-min:var(--fit-row-min,52px)}.schedule-grid .grid-cell,.schedule-grid .time-label,.schedule-grid .grid-corner,.schedule-grid .day-heading{border-color:var(--grid-line);border-bottom-width:1px;border-right-width:1px}.grid-lesson,.grid-cluster,.is-compact .grid-lesson,.is-compact .grid-cluster{gap:0;margin:0}.schedule-grid .lesson,.is-compact .schedule-grid .lesson{box-shadow:inset -1px -1px 0 var(--grid-line);border-radius:0}.schedule-source-footer{padding:18px}.agenda{overflow:hidden}.agenda-day{border-radius:14px;overflow:hidden}.agenda .lesson{border-radius:12px}.agenda-cards{gap:8px}.mobile-days button{border-radius:13px}@media (max-width:760px){.schedule-grid .grid-cell,.schedule-grid .time-label,.schedule-grid .grid-corner,.schedule-grid .day-heading{border-bottom-width:1px;border-right-width:1px}.schedule-grid .lesson,.is-compact .schedule-grid .lesson{box-shadow:inset -1px -1px 0 var(--grid-line)}.agenda-cards{gap:8px}}.agenda-swipe-window{width:100%;overflow:hidden}.schedule-fit .schedule-grid{border-top:1px solid #000;grid-template-rows:var(--grid-header,36px) repeat(var(--grid-rows),minmax(var(--grid-row-min),1fr))!important}.is-compact .schedule-fit .schedule-grid{grid-template-rows:var(--grid-header,32px) repeat(var(--grid-rows),minmax(var(--grid-row-min),1fr))!important}.schedule-grid .lesson,.is-compact .schedule-grid .lesson{font-size:var(--grid-font);padding:calc(var(--grid-font)*.15) calc(var(--grid-font)*.3);line-height:1.1}.schedule-grid .lesson h3,.is-compact .schedule-grid .lesson h3{font-size:calc(var(--grid-font)*1.25);margin:0 0 calc(var(--grid-font)*.15);text-wrap:balance;line-height:1.05}.schedule-grid .lesson h3.short-subject{max-width:100%}.schedule-grid .lesson-top,.is-compact .schedule-grid .lesson-top{gap:calc(var(--grid-font)*.2);margin-bottom:calc(var(--grid-font)*.15)}.schedule-grid .lesson-top>span:first-child,.is-compact .schedule-grid .lesson-top>span:first-child{font-size:var(--grid-font);gap:calc(var(--grid-font)*.2)}.schedule-grid .lesson-type{font-size:calc(var(--grid-font)*.9);padding:0 calc(var(--grid-font)*.2);line-height:1.1}.schedule-grid .course-code{font-size:calc(var(--grid-font)*.95);margin:0 0 calc(var(--grid-font)*.1);line-height:1.1}.schedule-grid .lesson-links,.is-compact .schedule-grid .lesson-links{gap:calc(var(--grid-font)*.08);flex-direction:column;line-height:1.1;display:flex}.schedule-grid .lesson-links>.comma-links,.is-compact .schedule-grid .lesson-links>.comma-links{max-width:100%;font-size:calc(var(--grid-font)*1.1);gap:calc(var(--grid-font)*.2);margin:0;line-height:1.05;display:flex}.schedule-grid .comma-links>span{overflow-wrap:anywhere;flex:1;min-width:0}.schedule-grid .comma-links a,.schedule-grid .comma-links .tri{white-space:normal;max-width:100%}.schedule-grid .lesson .tri>span,.schedule-grid .lesson-links .tri>span{font-size:inherit;line-height:inherit}.schedule-grid .lesson .tri small{font-size:.95em;line-height:1.1}.schedule-grid .lesson svg,.is-compact .schedule-grid .lesson-links svg{width:calc(var(--grid-font)*1.05);height:calc(var(--grid-font)*1.05);flex-shrink:0;margin-top:0}.schedule-grid .day-heading{padding:4px 1px}.schedule-grid .day-heading .tri>span{font-size:clamp(7px,1vw,12px)}@media (max-width:760px){.schedule-grid .day-heading .tri>span{font-size:7px}.schedule-grid .grid-corner svg{width:10px;height:10px}.schedule-grid .grid-corner{font-size:5px}}.lesson{flex-direction:column;display:flex;position:relative}.lesson-grade{color:#111;flex:none;align-self:flex-end;margin-left:auto;font-size:16px;font-weight:700;line-height:1.15;position:static}.schedule-grid .lesson-grade{font-size:calc(var(--grid-font)*1.35)}.vici-dialog{color:#172033;background:#fff;border:1px solid #d8dce5;border-radius:18px;width:min(440px,100vw - 28px);max-height:calc(100dvh - 28px);padding:26px;overflow:auto;box-shadow:0 20px 70px #10182b33}.vici-dialog::backdrop{background:#151b335c}.vici-dialog h2{margin:0 0 20px;font-size:21px;line-height:1.35}.vici-dialog p{font-size:14px;line-height:1.6}.vici-login{gap:15px;display:grid}.vici-login label{gap:7px;font-size:14px;font-weight:600;display:grid}.vici-login input{color:#172033;background:#fff;border:1px solid #c7cddd;border-radius:9px;width:100%;padding:11px 12px;font-size:16px}.vici-login input:focus{outline-offset:2px;outline:2px solid #7866ca}.vici-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.vici-actions .primary-button{color:#fff;cursor:pointer;background:#7160b8;border:0;border-radius:9px;padding:11px 18px;font-weight:600}.vici-actions button:disabled{opacity:.45;cursor:wait}.vici-error{color:#a82f36;margin:0}.footer-links button.nav-link{font:inherit;cursor:pointer;background:0 0;border:0}.finance-favorite{border-top:1px solid #d9dce7;margin-top:12px}.finance-page{padding:8px 0 32px}.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.finance-metric{background:#f2f4fb;border-radius:12px;gap:12px;padding:22px;display:grid}.finance-metric>span,.finance-plan-summary span{color:#667085;font-size:14px}.finance-metric strong{font-variant-numeric:tabular-nums;font-size:30px}.finance-metric.has-debt strong{color:#ae3d28}.finance-updated{color:#758096;margin:14px 0 26px;font-size:12px}.finance-years{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.finance-years button{font:inherit;cursor:pointer;background:#fff;border:1px solid #d7dce7;border-radius:9px;padding:10px 14px}.finance-years button.active{color:#63509c;background:#ede9fa;border-color:#8c7bc6}.finance-plan-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 24px;display:grid}.finance-plan-summary>div{gap:9px;display:grid}.finance-plan-summary strong{font-variant-numeric:tabular-nums;font-size:21px}.finance-table-scroll{overflow-x:auto}.finance-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:14px}.finance-table td,.finance-table th{text-align:right;border-bottom:1px solid #dfe3eb;padding:14px 12px}.finance-table th:first-child,.finance-table td:first-child{text-align:left}.finance-table thead th{color:#667085;background:#f7f8fb;font-weight:600}.finance-table tbody th{font-weight:500}.finance-empty{color:#68758a;padding:32px 0}@media (max-width:760px){.finance-summary{gap:8px}.finance-metric{gap:10px;padding:14px 10px}.finance-metric strong{font-size:20px}.finance-metric>span{font-size:12px}.finance-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-plan-summary strong{font-size:19px}.finance-table{font-size:13px}.finance-table td,.finance-table th{padding:12px 10px}.finance-page,.finance-plan,.finance-table-scroll{min-width:0;max-width:100%}.finance-table-scroll{overflow:visible}.finance-table,.finance-table tbody{width:100%;min-width:0;display:block}.finance-table thead{display:none}.finance-table tr{border-bottom:1px solid #cdd2dc;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:18px 0;display:grid}.finance-table th,.finance-table td{text-align:left;white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}.finance-table tbody th{color:#24273d;grid-column:1/-1;font-size:17px}.finance-table td:before{content:attr(data-label);color:#667085;margin-bottom:5px;font-size:12px;font-weight:400;display:block}.finance-table td{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.finance-table .finance-row-date,.finance-table .finance-row-share{flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:5px 12px;display:flex}.finance-table .finance-row-date:before,.finance-table .finance-row-share:before{margin:0}.finance-table .finance-row-date{font-size:13px;font-weight:400}.finance-plan-summary>div,.finance-metric{overflow-wrap:anywhere;min-width:0}.finance-years{flex-wrap:wrap}}.tri.multilingual{white-space:normal;line-height:inherit;display:inline}.tri.multilingual>span{font-size:inherit;font-weight:inherit;line-height:inherit;display:inline}.lesson-top,.lesson-content,.lesson-bottom{flex:none;min-width:0}.lesson-top{justify-content:space-between;align-items:baseline;width:100%;padding-right:0}.lesson-top .lesson-type{margin-left:auto}.lesson-bottom{min-width:0;display:flex;position:absolute;bottom:8px;right:10px}.schedule-grid .lesson-bottom{right:calc(var(--grid-font)*.3);bottom:calc(var(--grid-font)*.15)}@media (min-width:761px){.agenda,.is-compact .agenda{padding-inline:16px}}@media (max-width:760px){.schedule-grid{--time-gutter:26px}.schedule-grid .day-heading{padding:2px 1px}.schedule-grid .grid-corner{gap:1px}.schedule-grid .grid-corner svg{width:8px;height:8px}.schedule-grid .lesson-top,.is-compact .schedule-grid .lesson-top{align-items:flex-start;gap:calc(var(--grid-font)*.15);flex-direction:column}.schedule-grid .lesson-top .lesson-type{order:-1;margin-left:0;padding:0}.schedule-grid .lesson-top>span:first-child svg{width:max(7px,calc(var(--grid-font)*1.35));height:max(7px,calc(var(--grid-font)*1.35))}}.page-language-header{flex-shrink:0;justify-content:center;padding:8px 16px 16px;display:flex}.search-sign-in{justify-content:center;margin-top:24px;display:flex}.search-sign-in .primary-button{background:var(--accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-width:180px;min-height:46px;padding:12px 28px;font-size:15px;font-weight:600;display:flex}.search-sign-in .primary-button:hover{filter:brightness(.95)}.heading-actions .language-switch{flex-shrink:0}.heading-actions .language-switch button{padding:8px 10px}.page-loading-bar{background:var(--accent-soft);border-radius:2px;width:100%;height:3px;margin:0 0 8px;overflow:hidden}.page-loading-bar>span{background:var(--accent);width:35%;height:100%;animation:1.25s ease-in-out infinite page-data-loading;display:block}@keyframes page-data-loading{0%{transform:translate(-100%)}to{transform:translate(390%)}}@media (prefers-reduced-motion:reduce){.page-loading-bar>span{opacity:.65;width:100%;animation:none}}@media (max-width:760px){.page-heading{flex-wrap:wrap}.heading-actions{flex-wrap:nowrap;margin-left:auto}.heading-actions .language-switch{gap:1px;padding:2px}.heading-actions .language-switch button{padding:7px 6px;font-size:10px}}.account-overview{max-width:660px}.users-directory{max-width:1280px}.account-title{justify-content:space-between;align-items:center;margin:12px 0 24px;display:flex}.account-title>span{color:var(--muted);font-size:13px}.account-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px}.account-avatar{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:16px;place-items:center;margin-bottom:20px;font-size:20px;font-weight:700;display:grid}.account-details{margin:0}.account-details>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.6fr;gap:16px;padding:14px 0;display:grid}.account-details dt{color:var(--muted);font-size:13px}.account-details dd{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:550}.account-button{background:var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-height:40px;padding:10px 16px;font-size:13px;display:inline-flex}.account-button:disabled{opacity:.5;cursor:wait}.account-button.secondary{background:var(--accent-soft);color:var(--accent)}.account-logout{color:#b43c48;background:#fff0f0;width:100%;margin-top:24px}.account-note{color:var(--muted);font-size:13px}.users-filters{gap:12px;margin-bottom:20px;display:flex}.users-filters input,.users-filters select{border:1px solid var(--line);background:var(--surface);font:inherit;min-width:0;color:var(--ink);border-radius:10px;padding:12px}.users-filters input{flex:1}.users-filters select{max-width:240px}.users-table-scroll{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow-x:auto}.users-table{border-collapse:collapse;text-align:left;width:100%;min-width:680px}.users-table th,.users-table td{border-bottom:1px solid var(--line);padding:15px 14px;font-size:13px}.users-table th{color:var(--muted);white-space:nowrap;background:#f2f1f8;font-weight:600}.users-table th button{font:inherit;color:inherit;text-align:left}.users-table tbody tr:hover{background:#faf9fe}.users-table tbody tr:last-child td{border-bottom:0}.user-login{font-variant-numeric:tabular-nums}.account-status{color:#98601d;white-space:nowrap;background:#fff1e5;border-radius:6px;padding:5px 8px;font-size:11px;display:inline-block}.account-status.active{color:#237253;background:#e7f5ef}.user-admin{color:var(--accent);font-size:12px}.user-permissions{border:0;flex-wrap:wrap;align-items:center;gap:20px;padding:12px;display:flex}.user-permissions legend{color:var(--muted);font-size:12px}.user-permissions label{align-items:center;gap:8px;display:flex}.user-permissions input{accent-color:var(--accent)}.users-empty{text-align:center;color:var(--muted)}@media (max-width:600px){.account-card{padding:20px}.users-filters{flex-direction:column}.users-filters select{max-width:none}.account-details>div{grid-template-columns:1fr 1.3fr}.users-table th,.users-table td{padding:12px 10px}}.login-methods{gap:8px;display:flex}.login-methods button{background:var(--accent-soft);border-radius:8px;flex:1;padding:10px}.login-methods button[aria-pressed=true]{background:var(--accent);color:#fff}.local-create{margin:16px 0}.local-create form,.edit-form,.editor-section form{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:18px 0;display:grid}.local-create label,.edit-form label,.editor-section label,.user-permissions label{flex-direction:column;align-items:stretch;gap:6px;font-size:13px;display:flex}.local-create input,.local-create select,.edit-form input,.edit-form select,.editor-section input,.user-permissions input,.user-permissions select{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:8px;padding:10px}.editor-section{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:22px 0;padding:20px}.edit-page{max-width:1200px}.edit-form .account-button{align-self:end}.lesson{position:relative}.lesson-inactive{z-index:2;pointer-events:none;background:repeating-linear-gradient(-35deg,#ffffff18 0 12px,#fff5 12px 24px);border:1px solid #b74351;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lesson-inactive .tri{color:#a52d3b;background:#fff1f1e8;border:1px solid #b74351;border-radius:5px;padding:4px 10px;font-weight:700}.week-picker input{border:1px solid var(--line);background:var(--surface);border-radius:7px;max-width:135px;padding:6px;font-size:11px}@media (max-width:760px){.heading-actions{flex-wrap:wrap}.edit-form,.local-create form{grid-template-columns:1fr}.week-picker input{max-width:110px}}.home-actions{gap:12px;margin-top:24px;display:grid}.home-action-row{gap:12px;display:flex}.home-action-row>a{background:var(--surface,#fff);border:1px solid var(--line);min-width:0;min-height:58px;color:var(--ink);border-radius:14px;flex:1;justify-content:center;align-items:center;font-size:15px;font-weight:650;text-decoration:none;display:flex}.home-action-row>a:hover{border-color:var(--accent);background:var(--accent-soft)}.settings-page{max-width:760px;color:var(--ink);margin:24px auto 80px;padding:0 24px}.settings-page h1{margin:24px 0 12px;font-size:28px}.settings-hint{color:var(--muted);margin:12px 0 20px;font-size:13px}.settings-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:20px;margin:24px 0;padding:8px 24px}.setting-toggle{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:22px 0;display:flex}.setting-toggle:last-child{border-bottom:0}.setting-toggle span{gap:7px;display:grid}.setting-toggle small{color:var(--muted);line-height:1.6}.setting-toggle input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.setting-toggle select{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px}.admin-page{max-width:1200px}.admin-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px;display:grid}.admin-links>a,.admin-link-disabled{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;flex-direction:column;gap:9px;padding:26px;text-decoration:none;display:flex}.admin-links>a:hover{border-color:var(--accent)}.admin-links span{color:var(--muted);font-size:13px;line-height:1.6}.admin-link-disabled{opacity:.6}.changes-filters{gap:12px;margin:24px 0;display:flex}.changes-filters input{flex:1;min-width:120px}.changes-filters input,.changes-filters select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:12px}.changes-table small,.change-edit-link{color:var(--muted);margin-top:8px;font-size:11px;display:block}.change-edit-link{color:var(--accent)}.changes-table td{vertical-align:top;min-width:110px}.changes-table summary{cursor:pointer;font-weight:600}.change-payload{white-space:normal;min-width:220px;max-width:340px}.change-payload div{padding:6px 0}.change-payload dt{color:var(--muted);font-size:11px}.change-payload dd{overflow-wrap:anywhere;margin:4px 0}.change-state{background:#edf0f6;border-radius:6px;padding:4px 7px;display:inline-block}.change-state.active{color:#246244;background:#e2f3ea}.change-state.conflict{color:#a04219;background:#ffebdf}.editor-history-links{flex-wrap:wrap;gap:24px;margin:24px 0;display:flex}.editor-mode,.editor-timeline{grid-column:1/-1}.editor-mode{background:var(--accent-soft);border-radius:12px;padding:16px}.editor-mode p{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.6}.editor-mode-buttons{gap:8px;display:flex}.editor-mode-buttons button,.editor-days button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:9px;padding:10px 20px}.editor-mode-buttons button[aria-pressed=true],.editor-days button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.editor-timeline{border:1px solid var(--line);border-radius:14px;margin:12px 0;overflow:hidden}.editor-timeline-head{justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.editor-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0 16px 16px;display:grid}.editor-days button{padding:10px 4px}.editor-lessons{background:var(--bg,#f7f8fc);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:16px;display:grid}.editor-lessons>button{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:12px;flex-direction:column;gap:9px;padding:16px;display:flex}.editor-lessons>button.selected{border:2px solid var(--accent);background:var(--accent-soft);padding:15px}.editor-lessons time{color:var(--accent);font-size:12px;font-weight:700}.editor-lessons span,.editor-lessons p{color:var(--muted);font-size:12px;line-height:1.5}.edit-form>.account-button{grid-column:1/-1;justify-self:end;min-width:220px}.edit-form input[type=checkbox]{width:20px;height:20px}.account-overview{max-width:640px!important;margin:32px auto 80px!important}.account-overview .account-title{justify-content:center;margin:24px 0}.account-overview .account-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;flex-direction:column;align-items:center;padding:36px;display:flex;box-shadow:0 8px 30px #1c264508}.account-overview .account-avatar{background:var(--accent-soft);width:76px;height:76px;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:24px;font-size:26px;display:grid}.account-overview .account-details{width:100%;margin:0}.account-overview .account-details>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;padding:16px 0;display:flex}.account-overview .account-details dd{text-align:right;overflow-wrap:anywhere}.account-overview .account-logout{min-width:180px;margin-top:30px}.week-range{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted);margin-left:10px;font-size:12px}.schedule-natural{--grid-font:calc(12px * var(--schedule-scale,1));--grid-line:#000}.schedule-natural .schedule-grid{border-top:1px solid #000;height:auto;min-height:0;grid-template-rows:var(--grid-header,36px) repeat(var(--grid-rows),minmax(150px,1fr))!important}.is-compact .schedule-natural .schedule-grid{grid-template-rows:var(--grid-header,32px) repeat(var(--grid-rows),minmax(92px,1fr))!important}.schedule-natural .lesson{overflow:visible}.schedule-natural .lesson-top{flex-wrap:wrap}.agenda .lesson h3{font-size:calc(18px * var(--schedule-scale,1))}.agenda .lesson-links{font-size:calc(14px * var(--schedule-scale,1))}.high-contrast .lesson{color:#111!important}.high-contrast .lesson-lecture{background:#c9e6ff!important}.high-contrast .lesson-practice{background:#ffdbb4!important}.high-contrast .lesson-lab{background:#bce9ce!important}@media (max-width:760px){.settings-page{margin-top:16px;padding:0 16px}.settings-card{padding:4px 16px}.admin-links{grid-template-columns:1fr}.changes-filters{flex-wrap:wrap}.changes-filters input{flex-basis:100%}.home-action-row>a{min-height:54px;font-size:14px}.account-overview .account-card{padding:24px 20px}.week-label{flex-wrap:wrap;gap:4px}.week-range{margin-left:5px;font-size:10px}.editor-days{gap:4px;padding:0 8px 10px}.editor-lessons{grid-template-columns:1fr}.edit-form>.account-button{justify-self:stretch;min-width:0}}.visual-editor{max-width:1800px;color:var(--ink);margin:16px auto 0;padding:0 20px 110px}.visual-editor-heading{justify-content:space-between;align-items:center;gap:20px;margin:12px 0 24px;display:flex}.visual-editor-heading h1{margin:0;font-size:23px}.visual-editor-heading a{color:var(--accent);font-size:13px}.visual-context{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:flex-start;gap:16px;margin:0;padding:18px;display:flex}.visual-context>label{flex:1;min-width:130px}.visual-context>.visual-picker{flex:2;min-width:220px}.visual-context .editor-mode-buttons{align-self:center}.visual-context label,.visual-inspector label{flex-direction:column;gap:7px;font-size:12px;font-weight:600;display:flex}.visual-context input,.visual-context select,.visual-inspector input,.visual-inspector select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:7px;padding:9px 10px}.visual-context:disabled{opacity:.8}.editor-help{color:var(--muted);margin:16px 2px;font-size:12px;line-height:1.6}.editor-warning{color:#7a4c0c;background:#fff2d5;border-radius:10px;padding:12px 16px;font-size:13px}.visual-workspace{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;display:grid}.visual-grid-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;overflow:visible}.visual-grid-tools{align-items:center;gap:14px;min-height:55px;padding:14px 16px;font-size:12px;display:flex}.visual-grid-tools strong{margin-right:auto;font-size:16px}.visual-grid-tools button{color:var(--accent);padding:6px}.visual-grid-scroll{border-radius:0 0 12px 12px;overflow:auto}.visual-week-grid{isolation:isolate;-webkit-user-select:none;user-select:none;background:#fff;min-width:790px;position:relative}.visual-grid-corner{width:var(--editor-gutter);height:var(--editor-head);background:#f6f7fb;border-bottom:1px solid #a9aebb;border-right:1px solid #a9aebb;place-items:center;font-size:9px;display:grid;position:absolute;top:0;left:0}.visual-day{height:var(--editor-head);color:#000;background:#f6f7fb;border-bottom:1px solid #a9aebb;border-right:1px solid #a9aebb;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;top:0}.visual-hour{width:var(--editor-gutter);text-align:center;color:#000;background:#fbfcfe;border-bottom:1px solid #d7dbe4;border-right:1px solid #a9aebb;padding-top:8px;font-size:10px;position:absolute;left:0}.visual-grid-lines{top:var(--editor-head);left:var(--editor-gutter);background-image:linear-gradient(90deg,#c2c6d0 1px,#0000 1px),linear-gradient(#c2c6d0 1px,#0000 1px);background-size:calc(100% / 7) 100%,100% var(--editor-row);pointer-events:none;position:absolute;bottom:0;right:0}.visual-lesson{z-index:2;box-sizing:border-box;color:#000;cursor:grab;touch-action:none;transform-origin:50%;background:#f0edf8;border:1px solid #b2a3d2;border-radius:5px;flex-direction:column;gap:4px;padding:12px 6px 10px;font-size:11px;line-height:1.2;transition:transform .14s,box-shadow .14s;display:flex;position:absolute;overflow:hidden}.visual-lesson.type-lecture{color:#000;background:#e2f0ff;border-color:#94bddf}.visual-lesson.type-practice{color:#000;background:#ffead7;border-color:#e3ad7e}.visual-lesson.type-lab{color:#000;background:#e0f3e8;border-color:#8abc9f}.visual-lesson time{flex-shrink:0;font-size:10px;font-weight:700}.visual-lesson strong{overflow-wrap:anywhere;font-size:12px}.visual-lesson small{overflow-wrap:anywhere;font-size:10px}.visual-lesson:hover,.visual-lesson:focus-visible{z-index:30;min-height:max-content;overflow:visible;transform:scale(1.08);box-shadow:0 10px 30px #1e2d4530}.visual-lesson.selected{outline:2px solid var(--accent);outline-offset:-2px;z-index:12}.visual-lesson.dragging{z-index:40;cursor:grabbing;opacity:.9;transform:none;box-shadow:0 12px 30px #1e2d4540}.visual-lesson.inactive{opacity:.65;background-image:repeating-linear-gradient(-35deg,#0000 0 12px,#ffffff70 12px 24px)}.visual-lesson.conflicted{border:2px solid #cf334b;outline-color:#cf334b}.lesson-resize{cursor:ns-resize;touch-action:none;z-index:3;height:9px;position:absolute;left:0;right:0}.lesson-resize:after{content:"";opacity:.35;background:currentColor;border-radius:5px;width:28px;height:3px;position:absolute;top:3px;left:calc(50% - 14px)}.lesson-resize.top{top:0}.lesson-resize.bottom{bottom:0}.lesson-resize:focus-visible{outline:2px solid var(--accent)}.visual-inspector{border:1px solid var(--line);background:var(--surface);border-radius:14px;max-height:calc(100dvh - 130px);padding:20px;position:sticky;top:16px;overflow-y:auto}.visual-inspector h2{margin:0 0 18px;font-size:18px}.visual-inspector>p{color:var(--muted);font-size:13px;line-height:1.6}.visual-inspector fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.visual-inspector .inspector-check{flex-direction:row;align-items:center;font-weight:400}.inspector-check input{width:18px;height:18px;accent-color:var(--accent)}.inspector-time{grid-template-columns:.8fr 1.3fr .8fr;gap:8px;display:grid}.visual-inspector details{font-size:12px}.visual-inspector details>label{margin-top:12px}.editor-delete{color:#a52a40;background:#fff5f6;border:1px solid #e4bec5;border-radius:8px;padding:10px}.visual-picker{min-width:0;position:relative}.picker-values{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.picker-values>span{background:var(--accent-soft);overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:7px;padding:5px 7px;font-size:11px;display:flex}.picker-values button{color:var(--muted);padding:0 2px;font-size:17px}.picker-results{background:var(--surface);border:1px solid var(--line);z-index:60;border-radius:9px;max-height:220px;padding:5px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 8px 24px #18213725}.picker-results>button{text-align:left;border-radius:5px;width:100%;padding:10px;font-size:12px;display:block}.picker-results>button:hover,.picker-results>button:focus-visible{background:var(--accent-soft)}.picker-results small{color:var(--muted);margin-top:4px;display:block}.picker-results p{padding:8px;font-size:12px}.picker-results .picker-close{color:var(--accent)}.conflict-badge{z-index:60;position:absolute;top:9px;right:4px}.conflict-badge>button{color:#b02037;background:#fff0f1;border:1px solid #d7445b;border-radius:50%;width:25px;height:25px;font-size:15px}.conflict-tooltip{color:#3e2930;cursor:auto;background:#fff;border:1px solid #e8b2bd;border-radius:10px;min-width:260px;max-width:340px;max-height:320px;padding:12px;font-size:12px;display:none;position:absolute;top:27px;right:0;overflow:auto;box-shadow:0 10px 30px #20203030}.conflict-badge:hover .conflict-tooltip,.conflict-badge:focus-within .conflict-tooltip{display:block}.conflict-tooltip ul,.inspector-conflicts ul{margin:0;padding:0;list-style:none}.conflict-tooltip li,.inspector-conflicts li{border-bottom:1px solid #f0d9df;flex-direction:column;gap:6px;padding:10px 0;display:flex}.conflict-tooltip a,.inspector-conflicts a{color:var(--accent);text-decoration:underline}.inspector-conflicts{color:#943449;background:#fff0f2;border-radius:10px;margin-top:22px;padding:12px;font-size:12px}.inspector-conflicts h3{margin:0 0 10px;font-size:14px}.visual-savebar{z-index:90;border-top:1px solid var(--line);background:#fffffffa;align-items:center;gap:20px;padding:15px 28px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #18213708}.visual-savebar>div{flex-direction:column;gap:5px;min-width:0;margin-right:auto;display:flex}.visual-savebar strong{font-size:14px}.visual-savebar span{color:var(--muted);font-size:12px}.visual-savebar p{color:#a32f44;max-width:760px;margin:0;font-size:12px}.visual-savebar>button{border:1px solid var(--line);border-radius:9px;padding:12px 16px;font-size:13px}.visual-savebar .save-draft{background:var(--accent);border-color:var(--accent);color:#fff;min-width:140px;font-weight:700}.visual-savebar button:disabled,.visual-context button:disabled{cursor:not-allowed}@media (max-width:1000px){.visual-workspace{grid-template-columns:minmax(0,1fr) 280px}.visual-editor{padding:0 12px 130px}.visual-inspector{padding:14px}.visual-editor-heading h1{font-size:20px}}@media (max-width:760px){.visual-workspace{grid-template-columns:1fr}.visual-inspector{max-height:none;position:static}.visual-editor-heading{flex-wrap:wrap;gap:12px}.visual-context{gap:12px;padding:12px}.visual-grid-tools{flex-wrap:wrap;gap:8px}.visual-savebar{flex-wrap:wrap;gap:8px;padding:12px}.visual-savebar>div{flex-basis:100%}.visual-savebar>button{padding:9px 12px}.visual-savebar .save-draft{margin-left:auto}.visual-lesson:hover{transform:none}.visual-editor{padding-bottom:180px}}@media (prefers-reduced-motion:reduce){.visual-lesson{transition:none}}.editor-table-title{align-items:center;gap:8px;margin-right:auto;display:flex}.editor-table-title a{color:var(--accent);padding:5px;display:flex}.editor-table-title strong{margin:0}.visual-editor-heading{margin-bottom:14px}.visual-inspector{max-height:calc(100dvh - 85px);padding:12px}.visual-inspector h2{margin-bottom:10px}.visual-inspector fieldset{gap:9px}.visual-inspector input,.visual-inspector select{padding:7px 8px}.visual-inspector label{gap:4px}.visual-picker>label{margin-bottom:4px;font-size:12px;font-weight:600}.picker-control{border:1px solid var(--line);border-radius:7px;flex-wrap:wrap;align-items:center;gap:4px;min-height:34px;padding:3px 5px;display:flex}.picker-control .picker-values{margin:0;display:contents}.picker-control .picker-values>span{gap:3px;max-width:100%;padding:3px 5px}.picker-control input{background:0 0;border:0;flex:1;width:65px;min-width:50px;padding:4px}.visual-savebar{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:12px;width:max-content;max-width:calc(100% - 16px);padding:6px 10px;bottom:6px;left:50%;right:auto;transform:translate(-50%);box-shadow:0 2px 14px #18213720}.visual-savebar>button{padding:7px 11px}.visual-savebar .save-draft{min-width:100px}.visual-savebar strong,.visual-savebar span{font-size:12px}.visual-savebar .editor-error-count{color:#bd203c;font-weight:700}.visual-editor{padding-bottom:80px}.conflict-badge{top:auto;bottom:9px;right:3px}.conflict-badge>button{color:#fff;background:#d51f38;animation:1.2s ease-in-out infinite editor-conflict-pulse}.conflict-tooltip{padding-top:10px;top:100%}.visual-lesson.conflicted{overflow:visible}:is(.visual-lesson:has(.conflict-badge:hover),.visual-lesson:has(.conflict-badge:focus-within)){z-index:65}.conflict-badge:hover>button,.conflict-badge:focus-within>button{animation:none}@keyframes editor-conflict-pulse{50%{opacity:.38}}@media (prefers-reduced-motion:reduce){.conflict-badge>button{animation:none}}.conflict-badge>button{cursor:pointer;place-items:center;padding:0;line-height:1;animation:none;display:grid}.conflict-tooltip{z-index:2;cursor:auto;display:none;top:calc(100% + 3px)}.conflict-badge:hover .conflict-tooltip{display:none}.conflict-badge.is-open .conflict-tooltip{display:block}.visual-lesson:has(.conflict-badge.is-open){z-index:65;overflow:visible;transform:none}.conflict-badge.is-open>button{animation:none}.inspector-conflicts h3{align-items:center;gap:7px;display:flex}.change-details-button{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.change-details-button:hover{text-decoration:underline}.change-details-dialog{border:1px solid var(--line);background:var(--surface);width:min(620px,100% - 28px);max-height:min(80dvh,760px);color:var(--ink);border-radius:16px;padding:0;box-shadow:0 24px 80px #10182840}.change-details-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10182880}.change-details-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 16px;display:flex}.change-details-dialog>header h2{margin:4px 0 0;font-size:21px}.change-details-dialog>header button{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:9px;font-size:23px;line-height:1}.change-details-eyebrow{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.change-details-context{background:var(--bg,#f7f8fc);flex-direction:column;gap:5px;margin:0;padding:16px 24px;font-size:13px;display:flex}.change-details-context a{color:var(--accent);font-weight:700}.change-details-context span{color:var(--muted);font-size:12px}.change-details-grid{background:var(--line);border-block:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.change-details-grid>div{background:var(--surface);min-width:0;padding:13px 24px}.change-details-grid dt{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:600}.change-details-grid dd{overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.change-details-dialog>p:not(.change-details-context){padding:0 24px}.change-details-dialog>footer{justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.change-details-dialog>footer span{color:var(--muted);font-size:12px}.change-details-dialog>footer button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:9px 14px}@media (max-width:560px){.change-details-dialog>header,.change-details-dialog>footer,.change-details-context{padding-inline:16px}.change-details-grid{grid-template-columns:1fr}.change-details-grid>div{padding:11px 16px}.change-details-dialog>footer{flex-direction:column;align-items:flex-start}}.editor-save-dialog{border:1px solid var(--line);width:min(480px,100% - 24px);max-height:85dvh;color:var(--ink);background:var(--surface);border-radius:16px;padding:24px;overflow:auto;box-shadow:0 16px 60px #17203640}.editor-save-dialog::backdrop{background:#17203665}.editor-save-dialog h2{margin:0 0 18px;font-size:20px}.editor-save-dialog fieldset{border:0;gap:12px;padding:0;display:grid}.editor-save-dialog label{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.editor-save-dialog select,.editor-save-dialog input{border:1px solid var(--line);background:var(--surface);border-radius:7px;max-width:65%;padding:8px}.editor-save-dialog p{font-size:13px;line-height:1.5}.editor-save-dialog [role=alert]{color:#bb2440}.editor-dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.editor-dialog-actions button{border:1px solid var(--line);border-radius:8px;padding:9px 16px}.editor-dialog-actions .save-draft{background:var(--accent);color:#fff}.editor-search{max-width:760px;margin:30px auto;padding:0 18px}.editor-search h1{font-size:23px}.editor-search-input{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.editor-search-input input{width:100%;font:inherit;border:0;outline:0}.editor-search-results{margin-top:16px;display:grid}.editor-search-results a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:13px 8px;display:flex}.editor-search-results span{color:var(--muted);font-size:12px}.change-details-dialog{overflow:auto}.setting-suboptions{border-left:2px solid var(--line);margin-left:8px;padding:0 0 10px 18px}.setting-suboptions .setting-toggle{padding-block:9px}.setting-suboptions .setting-toggle strong{font-size:12px}.grid-bootstrap .schedule-grid .lesson{border:1px solid color-mix(in srgb,var(--card-border) 68%,transparent);border-radius:10px;overflow:hidden;box-shadow:0 2px 7px #15203a16}.grid-bootstrap .schedule-grid .grid-lesson{margin:4px}.grid-bootstrap .schedule-grid .grid-cluster{gap:5px;margin:4px}.grid-bootstrap .schedule-grid .grid-cluster .lesson{border-radius:10px}.hover-expand .schedule-grid .lesson:hover,.hover-expand .agenda .lesson:hover{z-index:20;transition:transform .14s,box-shadow .14s;position:relative;overflow:visible;transform:scale(1.06);box-shadow:0 8px 24px #15203a35}.hover-expand .schedule-grid .grid-cluster:has(.lesson:hover){z-index:21}.schedule-grid{position:relative}.current-time-line{z-index:12;pointer-events:none;border-top:3px solid #e53935;height:0;position:absolute;left:0;right:0;transform:translateY(-1px)}.current-time-line:before{content:"";background:#e53935;border-radius:50%;width:7px;height:7px;position:absolute;top:-5px;left:-4px}.agenda .lesson{--agenda-font:calc(14px * var(--schedule-scale,1));font-size:var(--agenda-font);contain:none}.agenda .lesson h3,.is-compact .agenda .lesson h3{font-size:calc(18px * var(--schedule-scale,1))}.agenda .lesson .lesson-top>span:first-child,.agenda .lesson .lesson-type,.agenda .lesson .course-code,.agenda .lesson .lesson-links,.agenda .lesson .lesson-links>.comma-links,.agenda .lesson .tri>span,.agenda .lesson .lesson-groups{font-size:var(--agenda-font)}.agenda .lesson .tri small{font-size:.9em}.agenda .lesson svg{width:1em;height:1em}.agenda .lesson .lesson-grade,.agenda-day-title,.agenda-day-title .tri>span{font-size:calc(16px * var(--schedule-scale,1))}.agenda-day-title small,.schedule-grid .day-heading .tri>span{font-size:calc(12px * var(--schedule-scale,1))}.schedule-grid .time-label{font-size:calc(9px * var(--schedule-scale,1))}.schedule-grid .grid-corner{font-size:calc(8px * var(--schedule-scale,1))}.schedule-grid .grid-corner svg{width:calc(12px * var(--schedule-scale,1));height:calc(12px * var(--schedule-scale,1))}.timetable-toolbar,.timetable-toolbar .tri>span,.day-filter button,.mobile-days button{font-size:calc(12px * var(--schedule-scale,1))}:is(.timetable-panel:has(.agenda),.agenda-swipe-window,.agenda,.agenda-day,.agenda-cards){overflow:visible}.agenda-day{border-radius:0}.agenda-day-title{border-radius:10px;padding-left:4px}.agenda-day:has(.lesson:hover){z-index:30;position:relative}.hover-expand .schedule-grid .lesson:hover,.hover-expand .agenda .lesson:hover{transform:scale(var(--lesson-hover-scale,1.1))}@media (hover:hover){.hover-expand .agenda{padding-inline:calc(50% * (1 - 1 / var(--lesson-hover-scale,1.1)) + 12px)}.hover-expand .agenda-cards>.lesson:first-child{transform-origin:0}.hover-expand .agenda-cards>.lesson:last-child{transform-origin:100%}.hover-expand .agenda-cards>.lesson:only-child{transform-origin:50%}}@media (max-width:760px){.schedule-grid .day-heading .tri>span,.schedule-grid .time-label{font-size:calc(7px * var(--schedule-scale,1))}}@media (prefers-reduced-motion:reduce){.hover-expand .lesson:hover{transition:none}}.agenda-day-title h2,.agenda-day-title h2 .tri>span{font-size:calc(16px * var(--schedule-scale,1))}.agenda-day-title h2 .tri small,.agenda .free-day,.agenda .free-day .tri>span{font-size:calc(12px * var(--schedule-scale,1))}.source-notes,.source-notes .tri>span,.source-notes small{font-size:calc(11px * var(--schedule-scale,1))}.timetable-toolbar small,.timetable-toolbar .week-range{font-size:calc(12px * var(--schedule-scale,1))}.users-directory{width:min(1120px,100%);margin:0 auto;padding:24px 20px 48px}.users-directory .account-title{align-items:center;margin-bottom:24px}.users-directory .account-title h1{margin:0}.users-directory .local-create{justify-content:flex-end;margin:0 0 20px;display:flex}.users-directory .users-table-scroll{box-shadow:0 4px 24px #24273d06}.users-directory .user-permissions{background:#faf9fd;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px;display:grid}.user-permissions>.trusted-picker{grid-column:1/-1}.user-permissions>.account-button{justify-self:start}.trusted-picker{min-width:0}.trusted-selected{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.trusted-selected button{color:#65538e;background:#eeebfa;border-radius:7px;align-items:center;gap:12px;padding:6px 10px;display:flex}.trusted-options{border:1px solid #e1e3ec;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:5px;max-height:180px;padding:6px;display:grid;overflow:auto}.trusted-options button{background:#fff;border-radius:5px;justify-content:space-between;padding:9px;display:flex}.trusted-options button:hover{background:#eeebfa}.trusted-options>span{color:#81849a;grid-column:1/-1;padding:10px}.create-user-dialog{color:#24273d;background:#fff;border:1px solid #e1e3ec;border-radius:18px;width:min(600px,100vw - 32px);max-height:90dvh;margin:auto;padding:0;box-shadow:0 24px 80px #0003}.create-user-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#20243877}.create-user-content{padding:26px}.create-user-content header{justify-content:space-between;align-items:center;gap:20px;display:flex}.create-user-content header h2{margin:0;font-size:22px}.create-user-content header button{padding:0 8px;font-size:26px}.create-user-content form{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.create-user-content .trusted-picker,.create-user-content form>p{grid-column:1/-1}.create-user-content form>.account-button{grid-column:1/-1;margin-top:8px}@media (max-width:600px){.users-directory{padding:16px 0 32px}.create-user-content{padding:20px}.create-user-content form,.users-directory .user-permissions{grid-template-columns:1fr}.users-directory .users-filters{flex-direction:column}.users-directory .users-filters select{max-width:none}}.home-action-row>a{gap:9px}.home-action-row>a>svg{color:var(--accent);flex-shrink:0}.editor-autocomplete{min-width:0;position:relative}.editor-autocomplete>input{box-sizing:border-box;width:100%}.editor-multi-inputs{gap:6px;display:grid}.editor-autocomplete .picker-results [aria-selected=true]{background:var(--accent-soft)}.appearance-devices{gap:8px;padding:12px 0 20px;display:flex}.appearance-devices button{border:1px solid #d8dce6;border-radius:10px;flex:1;padding:12px}.appearance-devices button.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.app-shell.large-time .schedule-grid{--time-gutter:calc(66px * var(--schedule-scale,1))}.app-shell.large-time .time-label{font-size:calc(14px * var(--schedule-scale,1));color:#111827;font-weight:700}.app-shell.large-time .grid-corner{font-size:11px}.app-shell.compact-time .schedule-grid{--time-gutter:calc(32px * var(--schedule-scale,1))}.app-shell.compact-time .time-label{font-size:calc(8px * var(--schedule-scale,1));color:#111827}.app-shell .schedule-fit .schedule-grid{height:100%;position:relative;grid-template-rows:var(--grid-header) repeat(var(--grid-rows),var(--fit-row-min))!important}.schedule-fit .schedule-grid:after{content:"";pointer-events:none;z-index:4;border-bottom:1px solid #000;position:absolute;bottom:0;left:0;right:0}.entity-directory{max-width:1100px;margin-inline:auto}.entity-name-fields{border:0;gap:16px;padding:0;display:grid}.entity-name-fields label{gap:6px;display:grid}.entity-name-fields input{border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:12px}.schedule-fit .time-label{align-items:flex-start;min-height:0;padding:3px 1px;overflow:hidden}.schedule-fit .day-heading{min-height:0;padding:2px}.schedule-fit .schedule-grid{min-height:0}.appearance-devices button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700;box-shadow:0 2px 8px #65538e30}.high-contrast .lesson .course-code,.high-contrast .lesson .lesson-links,.high-contrast .lesson .comma-links,.high-contrast .lesson .lesson-top,.high-contrast .lesson .tri small,.high-contrast .setting-toggle small,.high-contrast .search-result small,.high-contrast .admin-links span{color:#000;opacity:1}.lesson-dialog{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:16px;width:min(560px,100vw - 24px);max-height:90dvh;padding:48px 0 0;overflow:auto;box-shadow:0 24px 80px #0005}.lesson-dialog::backdrop{background:#11182799}.lesson-dialog-close{background:#f1f3f7;border-radius:8px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:8px;right:10px}.lesson-dialog .lesson{font-size:calc(16px * var(--schedule-scale,1));border-radius:0;overflow:visible;padding:22px!important;transform:none!important}.lesson-dialog .lesson h3{margin:16px 0;font-size:1.3em;line-height:1.35}.lesson-dialog .lesson-top{flex-wrap:wrap;gap:10px;font-size:1em;display:flex}.lesson-dialog .lesson-top>span:first-child,.lesson-dialog .lesson-type,.lesson-dialog .course-code,.lesson-dialog .comma-links,.lesson-dialog .tri>span{font-size:1em;line-height:1.5}.lesson-dialog .lesson-links{gap:12px;margin-top:16px;display:grid}.lesson-dialog .comma-links{overflow-wrap:anywhere;align-items:baseline;gap:8px;display:flex}.lesson-dialog .comma-links a{text-underline-offset:3px;text-decoration:underline}.lesson-dialog .lesson-bottom{margin-top:16px}.lesson[role=button]{cursor:pointer}
