:root{--bg:#f3efe4;--paper:#fffcf5f0;--ink:#1d1a17;--muted:#6b6257;--line:#2d231724;--accent:#a6472a;--active:#dc783c33;--planned:#f5c75557;--reviewed:#5480702e;--shadow:0 24px 80px #4228101f;--w-surname:92px;--w-firstname:72px;--w-score:40px;--w-solved:30px;--w-attend:30px;--cell-line:1px;--head-row-top:34px;--head-row-bottom:22px;--body-row-height:44px;--font-ui:"Aptos", "Avenir Next", "Segoe UI", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{background:radial-gradient(circle at 0 0,#ca582e2e,#0000 28%),radial-gradient(circle at 100% 0,#e0bd5f2e,#0000 22%),linear-gradient(#f6f0e2 0%,#ece4d0 100%);min-height:100%}body{min-height:100vh;color:var(--ink);font-family:var(--font-ui);font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;margin:0}a{color:inherit}button,input,select{font:inherit}.page-shell{width:min(1750px,100vw - 8px);margin:0 auto;padding:6px 0 12px}.page-compact{padding-top:4px}.standalone-table-shell{width:calc(100vw - 8px);padding-top:4px}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fffcf5f5;border-radius:12px;width:min(420px,100vw - 28px);padding:22px;box-shadow:0 24px 80px #42281029}.login-head{margin-bottom:18px}.login-head h1{margin:6px 0 8px;font-size:1.45rem;line-height:1.1}.login-head p:last-child{color:var(--muted);margin:0;font-size:.9rem;line-height:1.4}.login-form{gap:12px;display:grid}.login-field{gap:5px;display:grid}.login-field span{color:var(--muted);font-size:.74rem;font-weight:800}.login-error{color:#9f1d1d;margin:0;font-size:.82rem;font-weight:800}.login-submit{color:#fff6e7;cursor:pointer;background:#291c14;border:0;border-radius:10px;min-height:42px;font-weight:800}.login-submit:hover{background:#3a291d}.account-page{place-items:start center;min-height:100vh;padding:34px 16px;display:grid}.account-card{width:min(620px,100%);box-shadow:var(--shadow);background:#fffcf5f0;border:1px solid #2d23171f;border-radius:18px;padding:26px}.account-card-wide{width:min(820px,100%)}.account-head{margin-bottom:18px}.account-head h1{margin:0 0 6px;font-size:1.35rem}.account-head p:last-child{color:var(--muted);margin:0;font-size:.86rem}.account-form{gap:12px;display:grid}.teacher-create-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.account-field{gap:5px;display:grid}.account-field span{color:var(--muted);font-size:.72rem;font-weight:800}.account-field input[readonly]{color:#1d1a179e}.account-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.account-message,.account-error{margin:8px 0 0;font-size:.82rem;font-weight:800}.account-message{color:#2f6948}.account-error{color:#9d321f}.teacher-list{gap:8px;margin-top:18px;display:grid}.teacher-row{border:1px solid var(--line);background:#ffffff8a;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.teacher-main{gap:2px;min-width:180px;display:grid}.teacher-row span{color:var(--muted);font-size:.76rem}.teacher-management{grid-template-columns:auto minmax(140px,190px) auto auto;align-items:center;gap:8px;display:grid}.teacher-password-input{min-height:34px}.teacher-role{background:#efe6d2db;border-radius:999px;padding:3px 7px;font-weight:800;color:#2f251e!important}.teacher-action-button{min-height:34px}.danger-button{color:#8e2d1d!important;border-color:#9d321f47!important}.info-page{width:min(980px,100vw - 28px);margin:0 auto;padding:28px 0 42px}.info-nav{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.info-nav a{color:#684030;background:#fffcf5c7;border:1px solid #764a3a3d;border-radius:6px;min-height:30px;padding:6px 10px;font-size:.78rem;font-weight:800;text-decoration:none}.info-nav a:hover{background:#ede2cad1}.info-hero{border:1px solid var(--line);background:linear-gradient(135deg, #fffcf5fa, #f6f2e9e6), var(--paper);box-shadow:var(--shadow);border-radius:12px;padding:26px}.info-page .eyebrow{letter-spacing:0}.info-hero h1{margin:6px 0 10px;font-size:2.35rem;line-height:1.02}.info-hero p:last-child{max-width:680px;color:var(--muted);margin:0;font-size:1rem;line-height:1.5}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.info-card,.release-card,.info-note{border:1px solid var(--line);background:#fffcf5eb;border-radius:10px;box-shadow:0 10px 30px #42281014}.info-card{padding:16px}.info-card h2,.release-card h2,.info-note h2{margin:0;font-size:1.05rem}.info-card-lead{color:var(--muted);margin:8px 0 0;font-size:.9rem;line-height:1.45}.info-list{gap:10px;margin:12px 0 0;display:grid}.info-list div{border-left:3px solid #a6472a6b;padding-left:10px}.info-list dt{color:#29241f;margin:0 0 3px;font-size:.88rem;font-weight:850}.info-list dd{color:var(--muted);margin:0;font-size:.86rem;line-height:1.43}.info-note{background:#edf4eee6;margin-top:14px;padding:16px}.info-note p{color:#365542;margin:7px 0 0;font-size:.92rem;line-height:1.45}.release-list{gap:14px;margin-top:14px;display:grid}.release-card{padding:18px}.release-card-head{justify-content:space-between;align-items:start;gap:14px;display:flex}.release-version{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:900}.release-card time{color:var(--muted);flex:none;font-size:.78rem;font-weight:800}.release-summary{color:var(--muted);margin:10px 0 0;font-size:.92rem;line-height:1.5}.release-card ul{gap:7px;margin:14px 0 0;padding-left:19px;display:grid}.release-card li{color:#312b25;font-size:.9rem;line-height:1.45}.home-button{z-index:40;border:1px solid var(--line);color:#29241f;background:#fffcf5f5;border-radius:5px;align-items:center;min-height:24px;margin:0 0 4px;padding:2px 8px;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex;position:sticky;top:4px;box-shadow:0 6px 18px #4228101f}.control-card,.summary-card,.table-card,.overview-panel,.overview-card{border:1px solid var(--line);background:var(--paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px;box-shadow:0 10px 30px #42281014}.control-card,.summary-card,.overview-card{padding:12px}.workspace-strip{border:1px solid var(--line);background:#fffcf5e6;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:38px;margin-bottom:4px;padding:5px 7px;display:flex;box-shadow:0 8px 20px #42281014}.workspace-title{align-items:baseline;gap:8px;min-width:0;display:inline-flex}.workspace-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.archive-note{color:#7b4a28;font-size:.72rem;font-weight:800}.eyebrow,.summary-label{text-transform:uppercase;letter-spacing:.11em;color:var(--accent);margin:0;font-size:.62rem}.segmented{flex-wrap:wrap;gap:4px;display:flex}.segment,.ghost-button,.hide-sheet-button{border:1px solid var(--line);color:var(--ink);background:#ffffffb8}.compact-controls .control-card{padding-bottom:16px}.control-card h2{margin:0 0 6px;font-size:.88rem}.segment,.ghost-button,.solid-button{cursor:pointer;border-radius:999px;min-height:30px;padding:0 9px;font-size:.8rem}.segment.active{color:#fff6e7;background:#291c14;border-color:#291c14}.toggle{color:var(--muted);align-items:center;gap:10px;display:inline-flex}.compact-toggle{margin-top:6px;font-size:.78rem}.ghost-button{margin-top:6px}.solid-button{background:var(--accent);color:#fff8f0;border:0}input,select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#ffffffeb;border-radius:12px;padding:0 12px}input:disabled,button:disabled,select:disabled{opacity:.58;cursor:not-allowed}.table-menu-bar{z-index:20;border:1px solid var(--line);background:#f6f2e9f5;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;gap:8px;min-height:30px;margin-top:6px;padding:2px 4px;display:flex;position:relative}.menu-bar-left,.menu-bar-right{align-items:center;gap:2px;min-width:0;display:inline-flex}.menu-bar-right{margin-left:auto}.viewer-menu-title{max-width:min(44vw,360px);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:800;display:inline-block;overflow:hidden}.viewer-refresh-button{border:1px solid var(--line);color:#2f5d43;cursor:pointer;background:#fffcf5e0;border-radius:999px;justify-content:center;align-items:center;width:26px;min-width:26px;min-height:24px;padding:0;display:inline-flex}.viewer-refresh-button:hover{background:#edf4eeeb}.viewer-refresh-button:disabled{cursor:default}.viewer-refresh-button.refreshing svg{animation:.85s linear infinite plusnik-spin}.quick-plusnik-switcher{align-items:center;gap:5px;min-width:0;min-height:24px;display:inline-flex}.quick-plusnik-switcher select{border:1px solid var(--line);width:150px;min-height:24px;color:var(--ink);background:#ffffff94;border-radius:6px;padding:1px 20px 1px 6px;font-size:.7rem;font-weight:800}.quick-settings-group-workspace{gap:9px;max-width:294px}.quick-share-button{width:28px;padding:0}.account-table-button,.logout-table-button{color:#684030;cursor:pointer;background:#fffcf5b3;border:1px solid #764a3a3d;border-radius:4px;min-height:24px;margin:0 0 0 4px;padding:2px 8px;font-size:.72rem;font-weight:700;text-decoration:none}.table-info-links{align-items:center;gap:3px;margin-right:2px;display:inline-flex}.table-info-links .account-table-button{margin-left:0}.account-table-button:hover,.logout-table-button:hover{background:#edcabf8c}.menu-slot{position:relative}.menu-root{color:#29241f;cursor:pointer;background:0 0;border:0;border-radius:4px;min-height:24px;padding:2px 9px;font-size:.74rem}.menu-root:hover,.menu-root.active{background:#2d231714}.menu-dropdown{border:1px solid var(--line);background:#fffcf5fa;border-radius:6px;min-width:176px;padding:4px;position:absolute;top:calc(100% + 3px);left:0;box-shadow:0 10px 30px #42281029}.menu-dropdown button{color:#29241f;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;width:100%;min-height:26px;padding:4px 8px;font-size:.72rem;display:block}.menu-dropdown button:hover{background:#2d231714}.menu-dropdown button:disabled{opacity:.45;cursor:not-allowed}.menu-submenu{position:relative}.submenu-root{justify-content:space-between;align-items:center;gap:12px;display:flex!important}.submenu-root span{color:var(--muted)}.submenu-dropdown{min-width:150px;display:none;top:-5px;left:calc(100% + 4px)}.menu-submenu:hover>.submenu-dropdown,.menu-submenu:focus-within>.submenu-dropdown{display:block}.checked-menu-item:before{content:"✓ ";color:#2b5b3f;font-weight:700}.quick-settings-bar{border:1px solid var(--line);background:#fffcf5db;border-radius:0 0 6px 6px;flex-wrap:wrap;align-items:center;gap:0;min-height:34px;margin-top:0;padding:3px 5px;display:flex}.quick-settings-group{border-left:1px solid #1d1a1747;align-items:center;gap:5px;min-height:26px;padding:2px 8px;display:inline-flex;position:relative}.quick-settings-group:first-child{border-left:0;padding-left:2px}.quick-settings-title{color:var(--muted);align-items:center;gap:4px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex}.quick-settings-title svg{flex:none}.quick-settings-bar svg{width:16px;height:16px}.quick-icon-toggle,.quick-segmented,.quick-topic-trigger{border:1px solid var(--line);color:#29241f;background:#ffffff94;border-radius:6px;min-height:24px;font-size:.7rem;font-weight:800}.quick-icon-toggle{cursor:pointer;justify-content:center;align-items:center;gap:4px;min-width:28px;padding:0 7px;display:inline-flex}.quick-icon-toggle:hover,.quick-segmented button:hover,.quick-topic-trigger:hover{background:#2d231712}.quick-icon-toggle.active,.quick-segmented button.active{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));color:#1f1b16;background:#ede2cadb}.quick-icon-toggle:not(.active):not(.quick-icon-action){color:#29241f85}.quick-icon-action{color:#2b251f;background:#fffcf5c2;border-color:#764a3a3d}.quick-icon-action:hover{color:#1f1b16;background:#ede2cac2}.quick-segmented{padding:1px;display:inline-flex;overflow:hidden}.quick-segmented button{color:#29241fa3;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;min-width:30px;min-height:20px;padding:0 7px;font-size:.68rem;font-weight:800;display:inline-flex}.quick-topic-dropdown{position:relative}.quick-topic-trigger{cursor:pointer;align-items:center;min-width:58px;padding:0 22px 0 8px;display:inline-flex;position:relative}.quick-topic-trigger:after{content:"▾";color:#29241f8a;font-size:.62rem;position:absolute;top:50%;right:8px;transform:translateY(-52%)}.quick-topic-dropdown.open .quick-topic-trigger:after{transform:translateY(-48%)rotate(180deg)}.quick-topic-menu{z-index:55;border:1px solid var(--line);background:#fffcf5fa;border-radius:8px;gap:1px;min-width:174px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 12px 34px #4228102e}.quick-topic-option{background:linear-gradient(90deg, color-mix(in srgb, var(--topic-soft,transparent) 64%, transparent), #fff3);color:#29241f;cursor:pointer;text-align:left;border:0;border-radius:5px;grid-template-columns:14px 1fr;align-items:center;gap:6px;min-height:24px;padding:2px 6px;font-size:.7rem;font-weight:750;display:grid}.quick-topic-option-all{background:#fff6}.quick-topic-option:hover,.quick-topic-option:focus-visible{background:linear-gradient(90deg, color-mix(in srgb, var(--topic-soft,#ede2ca) 90%, #fff), #ffffff5c);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--topic-accent,#8f6a11) 30%, transparent);outline:0}.quick-topic-option input{accent-color:#2b5b3f;width:13px;height:13px;margin:0}.quick-settings-group-attendance .quick-icon-toggle{width:28px;padding:0}.quick-settings-group-click .quick-settings-title{min-width:14px}@media (max-width:820px){.info-page{width:min(100vw - 18px,620px);padding:12px 0 28px}.info-nav{justify-content:flex-start}.info-hero{padding:18px}.info-hero h1{font-size:1.65rem;line-height:1.08}.info-grid{grid-template-columns:1fr}.release-card-head{gap:6px;display:grid}.teacher-row,.teacher-management{grid-template-columns:1fr;align-items:stretch}.teacher-row{display:grid}.table-menu-bar{flex-wrap:wrap}.menu-bar-right{margin-left:0}.quick-settings-group-workspace{max-width:none}.quick-plusnik-switcher select{width:128px}.quick-settings-bar{align-items:flex-start;gap:2px 0}.quick-settings-group{padding:2px 6px}}.modal-backdrop{z-index:60;background:#1d1a173d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sheet-modal{border:1px solid var(--line);background:#fffcf5fc;border-radius:8px;width:min(420px,100vw - 28px);padding:14px;box-shadow:0 24px 80px #4228103d}.sheet-modal-head h2{margin:0 0 12px;font-size:1rem}.modal-field{gap:5px;margin-bottom:10px;display:grid}.modal-field span{color:var(--muted);font-size:.72rem;font-weight:700}.topic-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.topic-choice{border:1px solid color-mix(in srgb, var(--topic-accent) 40%, var(--line));background:color-mix(in srgb, var(--topic-soft) 64%, #fff);color:#29241f;text-align:left;cursor:pointer;border-radius:6px;align-items:center;gap:7px;min-height:34px;padding:0 9px;font-size:.76rem;display:inline-flex}.topic-choice span{background:var(--topic-accent);border-radius:999px;width:10px;height:10px}.topic-choice.selected{border-color:var(--topic-accent);box-shadow:inset 0 0 0 1px var(--topic-accent)}.sheet-modal-actions{justify-content:space-between;gap:12px;margin-top:14px;display:flex}.share-link-modal{width:min(520px,100vw - 28px)}.share-link-modal .sheet-modal-head h2{overflow-wrap:anywhere;margin-bottom:10px}.share-link-modal input{font-size:.82rem}.share-link-note,.share-link-status{color:var(--muted);margin:0;font-size:.76rem;line-height:1.35}.share-link-status{color:#8a5a22;margin-top:10px;font-weight:700}.share-modal-actions{align-items:center}.share-modal-actions .ghost-button,.share-modal-actions .solid-button{margin-top:0}.share-modal-action-group{gap:8px;display:flex}.share-open-link{color:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.modal-cancel,.modal-submit{margin-top:0}.sheet-form-grid{gap:10px;display:grid}.overview-panel{justify-content:space-between;align-items:center;gap:16px;margin-top:6px;padding:12px;display:flex}.overview-panel h1{margin:3px 0 0;font-size:1.25rem;line-height:1.1}.overview-meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:6px;font-size:.72rem;display:flex}.overview-meta span{border:1px solid var(--line);background:#ffffff94;border-radius:999px;padding:3px 7px}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.summary-value{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1;margin:5px 0 0;font-size:1.6rem;line-height:1}.summary-detail{color:var(--muted);margin:2px 0 0;font-size:.7rem;font-weight:700}.overview-grid{grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin-top:8px;display:grid}.overview-card h2{margin:0 0 8px;font-size:.9rem}.status-list{gap:7px;margin:0;display:grid}.status-list div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:7px;display:flex}.status-list div:first-child{border-top:0;padding-top:0}.status-list dt{color:var(--muted);font-size:.72rem}.status-list dd{text-align:right;margin:0;font-size:.76rem;font-weight:800}.empty-state{color:var(--muted);margin:0;font-size:.78rem}.compact-table-card{margin-top:6px;overflow:hidden}.quick-settings-bar+.compact-table-card{margin-top:0}.split-table{align-items:stretch;width:100%;display:flex}.spreadsheet-grid{outline:0}.spreadsheet-grid:focus-visible{box-shadow:inset 0 0 0 2px #1d1a1729}.fixed-table-pane{border-right:1px solid var(--line);background:#fffbf3fa;flex:none}.scroll-table-pane{flex:auto;min-width:0;overflow:hidden}.table-scroll{width:100%;overflow:auto}.timeline-scroll-strip{align-items:flex-start;width:max-content;display:flex}.plusnik-table{border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1;width:max-content}.fixed-info-table{z-index:1;position:relative}.plusnik-table th,.plusnik-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;background:#fffbf3e6;padding:0}.fixed-info-table th:first-child,.fixed-info-table td:first-child{border-left:1px solid var(--line)}.head-main{font-size:.76rem;font-weight:700;background:#efe6d2!important}.info-head-main{height:calc(var(--head-row-top) + var(--head-row-bottom));white-space:nowrap;text-overflow:ellipsis;position:relative;overflow:hidden}.head-label{text-overflow:ellipsis;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.sort-corner{color:#1d1a1747;cursor:pointer;background:0 0;border:0;width:12px;height:12px;padding:0;font-size:.42rem;line-height:12px;position:absolute;top:2px;right:2px}.sort-corner:hover,.sort-corner.active{color:#1d1a17c7}.timeline-table thead tr:first-child th{height:var(--head-row-top)}.timeline-table thead tr:last-child th{height:var(--head-row-bottom)}.fixed-info-table tbody td,.timeline-table tbody td{height:var(--body-row-height)}.student-surname,.student-firstname,.score-value,.metric-value,.attendance-summary-cell,.head-main{padding:4px!important}.student-surname,.student-firstname{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden;text-align:left!important}.student-name-editable{cursor:text}.student-name-editable:hover{background:#fff4dc!important}.student-name-editing{background:#fffaf0!important;padding:1px!important}.student-name-text{text-overflow:ellipsis;min-height:1rem;display:block;overflow:hidden}.student-name-input{width:100%;min-width:0;height:calc(var(--body-row-height) - 4px);box-sizing:border-box;color:#1d1a17;font:inherit;background:#fffdf8;border:1px solid #1d1a1773;border-radius:4px;outline:0;padding:0 5px}.student-name-input:focus{border-color:#1d1a17c7;box-shadow:0 0 0 2px #1d1a171f}.fixed-info-table thead th:first-child,.fixed-info-table thead th:nth-child(2){text-align:left;font-size:.82rem;padding-left:6px!important}.student-surname{font-weight:700}.student-firstname{color:#40382f}.score-value,.metric-value{color:#1d1a17b8;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1;font-size:.78rem;font-weight:500}.attendance-summary-cell strong{color:#1d1a17b8;font-size:.78rem;font-weight:500;line-height:1;display:block}.lesson-group{width:40px;height:var(--head-row-top);font-size:.7rem;font-weight:700;background:#f3f1eb!important;padding:0!important}.lesson-date-button{color:#201d18;cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;font-size:.7rem;font-weight:700}.lesson-date-button:hover{background:#edf4ee}.lesson-context-menu{z-index:50;border:1px solid var(--line);background:#fffcf5fa;border-radius:6px;min-width:128px;padding:4px;position:fixed;box-shadow:0 10px 30px #4228102e}.lesson-context-menu button{color:#7f2e23;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;width:100%;padding:6px 8px;font-size:.72rem}.lesson-context-menu button:hover{background:#7f2e2314}.sheet-context-menu,.task-context-menu{min-width:172px}.task-context-menu{grid-template-columns:max-content;width:fit-content;min-width:0;max-width:calc(100vw - 24px);display:inline-grid}.sheet-context-menu p,.task-context-menu p{color:var(--muted);white-space:nowrap;margin:2px 8px 4px;font-size:.68rem;font-weight:700}.sheet-context-menu button{color:#29241f;align-items:center;gap:6px;display:flex}.sheet-context-menu button:hover{background:#2d231714}.task-context-menu button{color:#29241f;white-space:nowrap;width:auto}.task-context-menu button:hover{background:#2d231714}.task-context-menu .task-delete-button{border-top:1px solid var(--line);color:#8f241d;margin-top:3px}.task-context-menu .task-delete-button:hover{background:#8f241d1a}.topic-swatch{border-radius:999px;width:9px;height:9px}.context-menu-separator{margin-top:3px;border-top:1px solid var(--line)!important}.lesson-date-input{border:1px solid var(--line);width:70px;height:24px;color:var(--ink);background:#ffffffe0;border-radius:3px;padding:0;font-size:.56rem}.lesson-marker-head{color:#322e28;text-transform:lowercase;width:40px;font-size:.72rem;background:#f7f4ec!important;padding:2px 0!important}.lesson-cell{width:40px;background:#f7f8f2!important}.timeline-group-start{border-left:2px solid #2d231738!important}.timeline-table thead .timeline-group-start{border-left-color:#2d231742!important}.inline-lesson-form{flex:none}.add-lesson-table{width:max-content}.add-lesson-head{height:var(--head-row-top);background:#f7f4ec!important;padding:1px!important}.add-lesson-head input{border:1px solid var(--line);width:70px;height:24px;color:var(--ink);background:#ffffffb8;border-radius:3px;font-size:.56rem}.add-lesson-marker,.add-lesson-plus-bottom{height:var(--head-row-bottom);background:#f7f4ec!important;padding:0!important}.add-lesson-plus-head{height:var(--head-row-top);background:#f7f4ec!important;padding:0!important}.add-lesson-marker button,.add-lesson-plus-head button{color:#2b5b3f;cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;font-size:1rem;font-weight:700}.add-lesson-plus-head button{font-size:1.04rem}.add-lesson-marker button:hover,.add-lesson-plus-head button:hover{background:#edf4ee}.add-lesson-cell{height:var(--body-row-height);background:#f7f4ecb8!important}.compact-checkbox{width:100%;height:100%;min-height:26px;display:block;position:relative}.compact-checkbox input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.compact-checkbox span{background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:100%;min-height:26px;display:inline-flex}.compact-checkbox input:checked+span{background:#edf4ee}.compact-checkbox input:checked+span:after{content:"✓";color:#2b5b3f;font-size:.88rem;font-weight:700}.topic-sheet-group{border-top:3px solid var(--topic-accent);height:var(--head-row-top);position:relative;background:var(--topic-soft)!important;padding:0!important}.sheet-title-row{min-height:calc(var(--head-row-top) - 3px);justify-content:center;align-items:center;gap:4px;padding:0 18px 0 6px;display:flex}.sheet-title-row a,.sheet-title-button{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:700;text-decoration:none;overflow:hidden}.sheet-title-button{max-width:100%;color:inherit;cursor:text;background:0 0;border:0;padding:0}.sheet-title-button:hover{text-decoration:underline}.sheet-title-input{text-align:center;border-radius:3px;width:min(160px,100%);min-height:22px;padding:0 6px;font-size:.72rem;font-weight:700}.hide-sheet-button{width:14px;min-width:14px;height:14px;color:color-mix(in srgb, var(--ink) 60%, transparent);opacity:.42;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:3px;right:3px}.hide-sheet-button svg{stroke-width:1.35px;width:11px;height:11px}.hide-sheet-button:hover{opacity:.82;background:#ffffff6b}.sheet-collapsed{border-top:3px solid var(--topic-accent);width:12px;height:var(--head-row-top);position:relative;background:var(--topic-soft)!important}.collapsed-sheet-button,.collapsed-task-button,.collapsed-cell-button{cursor:pointer;background:0 0;border:0;width:100%;padding:0}.collapsed-sheet-button{min-height:calc(var(--head-row-top) - 3px)}.collapsed-task-button{min-height:18px}.collapsed-cell-button{min-height:26px}.collapsed-sheet-button span,.collapsed-cell-button span{min-height:inherit;background:linear-gradient(180deg, color-mix(in srgb, var(--topic-accent) 14%, transparent), color-mix(in srgb, var(--topic-accent) 36%, transparent));display:block}.collapsed-task-button{font-size:.72rem;font-weight:700}.task-collapsed,.collapsed-sheet-cell{width:12px;position:relative;background:var(--topic-cell)!important}.task-collapsed{background:var(--topic-soft)!important}.sheet-collapsed[data-title]:hover:after,.task-collapsed[data-title]:hover:after,.collapsed-sheet-cell[data-title]:hover:after{content:attr(data-title);z-index:40;border:1px solid var(--line);color:var(--ink);pointer-events:none;white-space:nowrap;background:#fffcf4fa;border-radius:6px;padding:4px 7px;font-size:.72rem;font-weight:700;line-height:1;position:absolute;top:50%;left:16px;transform:translateY(-50%);box-shadow:0 8px 24px #33281829}.hidden-task-gap-head,.hidden-task-gap-cell{width:12px;background:#e6e2d8f2!important}.hidden-task-gap-head{padding:0!important}.hidden-task-gap-head button{cursor:pointer;background:0 0;border:0;width:100%;height:100%;min-height:18px;padding:0}.hidden-task-gap-head span{opacity:.72;border-left:2px solid #7d7568;border-right:2px solid #7d7568;width:6px;height:14px;margin:2px auto;display:block}.hidden-task-gap-head button:hover span{opacity:1;border-color:#2b5b3f}.task-head{border-top:1px solid #00000008;width:30px;background:var(--topic-cell)!important;padding:1px 0!important}.task-narrow{width:30px}.task-medium{width:38px}.task-wide{width:48px}.plain-task-button{cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;min-height:18px;padding:0;font-size:.78rem;font-weight:700}.task-code-input{text-align:center;border-radius:3px;width:100%;min-height:18px;padding:0 2px;font-size:.72rem;font-weight:700}.task-active{background:color-mix(in srgb, var(--topic-cell) 72%, var(--active))!important}.task-planned{background:color-mix(in srgb, var(--topic-cell) 70%, var(--planned))!important}.task-reviewed{color:#161814;background:color-mix(in srgb, var(--topic-cell) 76%, var(--topic-accent))!important}.task-reviewed .plain-task-button,.task-cell.task-reviewed{color:#161814}.task-cell{cursor:cell;-webkit-user-select:none;user-select:none;width:30px;background:var(--topic-cell)!important}.task-cell.task-reviewed{background:color-mix(in srgb, var(--topic-cell) 76%, var(--topic-accent))!important}.task-cell-editable{cursor:cell}.task-click-quick_mark .task-cell-editable{cursor:pointer}.desktop-viewer-table-card button:disabled,.desktop-viewer-table-card input:disabled,.desktop-viewer-table-card select:disabled,.task-cell-viewer{cursor:default}.desktop-viewer-table-card .plain-task-button:disabled,.desktop-viewer-table-card .lesson-date-button:disabled,.desktop-viewer-table-card .collapsed-task-button:disabled,.desktop-viewer-table-card .collapsed-sheet-button:disabled,.desktop-viewer-table-card .collapsed-cell-button:disabled{opacity:1;cursor:default}.desktop-viewer-table-card .task-cell-viewer,.mobile-viewer-plusnik .mv-cell{cursor:cell}.student-cell-active{background:#dbd4c7!important}.task-head.grid-column-active{box-shadow:inset 0 999px #1d1a1721}.task-cell.grid-cell-hover{box-shadow:inset 0 999px #1d1a1716,inset 0 0 0 1px #1d1a172e}.task-cell.grid-cell-active{box-shadow:inset 0 999px #1d1a1724,inset 0 0 0 2px #1d1a1780}.cell-main{color:#201d18;font-size:.84rem;font-weight:700;line-height:1;display:block}.cell-submeta{color:#201d188c;margin-top:1px;font-size:.52rem;display:block}.mobile-viewer-toolbar,.mobile-viewer-table-card{display:none}.mobile-viewer-toolbar{z-index:70;border:1px solid var(--line);background:#fffcf5f5;border-radius:8px;gap:5px;padding:5px;position:sticky;top:0;box-shadow:0 8px 24px #4228101f}.mobile-viewer-nav-row{gap:5px;width:100%;display:flex}.mobile-viewer-nav-row button,.mobile-viewer-nav-row select,.mobile-viewer-zoom{border:1px solid var(--line);min-height:30px;color:var(--ink);background:#ffffffb8;border-radius:6px;font-size:.76rem;font-weight:800}.mobile-viewer-nav-row button{flex:none;padding:0 8px}.mobile-viewer-nav-row button:disabled{cursor:default;opacity:.42}.mobile-viewer-nav-row select{flex:auto;min-width:0;padding:0 22px 0 7px}.mobile-viewer-zoom{flex:0 0 112px;justify-content:space-between;align-items:center;display:inline-flex;overflow:hidden}.mobile-viewer-zoom button{background:0 0;border:0;border-radius:0;min-width:30px;height:100%;font-size:1rem}.mobile-viewer-zoom span{text-align:center;min-width:44px;font-size:.72rem}.mobile-viewer-nav-row .viewer-refresh-button{width:30px;min-width:30px;padding:0}.mobile-viewer-table-card{position:relative;overflow:hidden}.mobile-viewer-scroll{--mv-nick-width:calc(76px * var(--viewer-scale));--mv-metric-width:calc(31px * var(--viewer-scale));--mv-cell-width:calc(32px * var(--viewer-scale));--mv-hidden-width:calc(10px * var(--viewer-scale));--mv-head-top:calc(30px * var(--viewer-scale));--mv-head-bottom:calc(23px * var(--viewer-scale));--mv-row-height:calc(30px * var(--viewer-scale));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 92px);overflow:auto}.mobile-viewer-plusnik{border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1;width:max-content}.mobile-viewer-plusnik th,.mobile-viewer-plusnik td{min-width:var(--mv-cell-width);height:var(--mv-row-height);border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-size:calc(.74rem * var(--viewer-scale));text-align:center;vertical-align:middle;white-space:nowrap;background:#fffbf3ed;padding:0 2px;line-height:1}.mobile-viewer-plusnik th{font-weight:800}.mv-sticky{z-index:22;position:sticky}.mv-sticky-top{z-index:20;height:var(--mv-head-top);position:sticky;top:0}.mv-sticky-subtop{top:var(--mv-head-top);z-index:19;height:var(--mv-head-bottom);position:sticky}.mv-sticky.mv-sticky-top{z-index:32}.mv-rowspan-head{height:calc(var(--mv-head-top) + var(--mv-head-bottom))}.mv-col-nick{max-width:var(--mv-nick-width);left:0;min-width:var(--mv-nick-width)!important}.mv-col-solved{left:var(--mv-nick-width);max-width:var(--mv-metric-width);min-width:var(--mv-metric-width)!important}.mv-col-attend{left:calc(var(--mv-nick-width) + var(--mv-metric-width));max-width:var(--mv-metric-width);min-width:var(--mv-metric-width)!important}.mv-col-nick,.mv-col-solved,.mv-col-attend{background:#efe6d2!important}.mv-student-name{text-overflow:ellipsis;font-weight:800;overflow:hidden;text-align:left!important;padding:0 4px!important}.mv-sheet-head{min-width:calc(var(--mv-cell-width) * 3);max-width:calc(var(--mv-cell-width) * 7);border-top:3px solid var(--topic-accent);text-overflow:ellipsis;overflow:hidden;background:var(--topic-soft)!important}.mv-sheet-head span{text-overflow:ellipsis;padding:0 5px;display:block;overflow:hidden}.mv-sheet-collapsed,.mv-task-collapsed,.mv-sheet-collapsed-cell,.mv-hidden-gap{max-width:var(--mv-hidden-width);min-width:var(--mv-hidden-width)!important;padding:0!important}.mv-sheet-collapsed span{color:#0000}.mv-lesson-head,.mv-task-head{background:#f3f1eb!important}.mv-task-head.task-active,.mv-task-head.task-planned,.mv-task-head.task-reviewed,.mv-task-cell.task-active,.mv-task-cell.task-planned,.mv-task-cell.task-reviewed{background:var(--topic-cell)!important}.mv-task-head.task-reviewed,.mv-task-cell.task-reviewed{background:color-mix(in srgb, var(--topic-cell) 76%, var(--topic-accent))!important}.mv-task-head.task-planned,.mv-task-cell.task-planned{background:color-mix(in srgb, var(--topic-cell) 72%, var(--planned))!important}.mv-lesson-cell{color:#2b5b3f;font-size:calc(.9rem * var(--viewer-scale));font-weight:900;background:#f7f8f2!important}.mv-task-cell{font-weight:900;background:var(--topic-cell)!important}.mv-cell{cursor:cell;-webkit-user-select:none;user-select:none}.mobile-viewer-plusnik tr.mv-row-active td{box-shadow:inset 0 999px #1d1a1713}.mobile-viewer-plusnik .mv-column-active{box-shadow:inset 0 999px #1d1a1717}.mobile-viewer-plusnik .mv-cell-active{box-shadow:inset 0 999px #1d1a1729,inset 0 0 0 2px #1d1a1794}.mobile-viewer-plusnik tr.mv-row-active .mv-col-nick,.mobile-viewer-plusnik tr.mv-row-active .mv-col-solved,.mobile-viewer-plusnik tr.mv-row-active .mv-col-attend{background:#cdc5b4!important}.mobile-viewer-context{z-index:35;border:1px solid var(--line);background:#fffcf5f7;border-radius:10px;grid-template-columns:1fr auto;gap:2px 8px;min-width:min(260px,100vw - 24px);max-width:calc(100vw - 24px);padding:8px 34px 8px 10px;font-size:.76rem;display:grid;position:absolute;bottom:8px;right:8px;box-shadow:0 12px 32px #42281033}.mobile-viewer-context strong,.mobile-viewer-context span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-viewer-context span{color:var(--muted)}.mobile-viewer-context b{grid-area:1/2/span 3;align-self:center;font-size:1.1rem}.mobile-viewer-context button{width:22px;height:22px;color:var(--muted);background:#2d231714;border:0;border-radius:50%;font-weight:900;position:absolute;top:4px;right:5px}@media (max-width:760px){.mobile-viewer-shell{width:100vw;padding:4px 4px 8px}.mobile-viewer-shell .desktop-viewer-table-card{display:none}.mobile-viewer-shell .mobile-viewer-toolbar{flex-direction:column;display:flex}.mobile-viewer-shell .mobile-viewer-table-card{border-radius:8px;margin-top:5px;display:block}.mobile-viewer-shell .server-error{margin:6px 0}}.activity-list{gap:0;display:grid}.activity-item{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:.76rem;display:flex}.activity-item:first-child{border-top:0;padding-top:0}.activity-item span{color:var(--muted);text-align:right}@media (max-width:1100px){.summary-grid,.overview-grid{grid-template-columns:1fr}.overview-panel,.workspace-strip{flex-direction:column;align-items:flex-start}.activity-item{flex-direction:column}.activity-item span{text-align:left}}.server-error{color:#9f1d1d;margin:10px 0;font-size:14px;font-weight:700}.save-status{border:1px solid var(--line);min-height:26px;color:var(--muted);background:#fffcf5e0;border-radius:999px;align-items:center;gap:8px;margin:0;padding:4px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.save-status-saving{color:#735115}.save-status-saved{color:#2f5d43}.save-status-failed{color:#9f1d1d;background:#ffefefeb;border-color:#9f1d1d52}.save-status button{color:#7f1818;min-height:20px;font:inherit;cursor:pointer;background:#fff;border:1px solid #9f1d1d52;border-radius:999px;padding:1px 8px}.viewer-refresh-status{white-space:nowrap;min-height:24px;padding:3px 8px}.viewer-refresh-status-refreshing{color:#735115}.viewer-refresh-status-updated,.viewer-refresh-status-idle{color:#2f5d43}.viewer-refresh-status-failed{color:#8f3b22;background:#fff8f0eb;border-color:#9f1d1d42}@keyframes plusnik-spin{to{transform:rotate(360deg)}}
