:root{--ink:#292638;--muted:#85818f;--purple:#7659bf;--purple-dark:#5b3f9f;--purple-light:#f0eaf9;--border:#eae7ef;--bg:#f8f7fa;--left:350px;--day:64px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #af98df;outline-offset:3px}[hidden]{display:none!important}button{border:0}a{color:inherit;text-decoration:none}.muted{color:var(--muted);line-height:1.65}.brand{display:flex;align-items:center;font-weight:780;font-size:29px;letter-spacing:-1.3px;gap:8px}.brand-dot{color:var(--purple)}.brand-symbol{display:inline-flex;background:var(--purple);color:white;border-radius:13px;width:37px;height:37px;align-items:center;justify-content:center;font-size:29px;font-weight:700;letter-spacing:-1px}.brand.small{font-size:25px}.brand.small .brand-symbol{width:32px;height:32px;font-size:24px;border-radius:11px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--purple)}h1,h2,h3,p{margin:0}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:12px;border-radius:10px;padding:12px 18px;font-weight:650;font-size:13px}.primary{background:var(--purple);color:white}.primary:hover{background:var(--purple-dark)}.secondary{background:white;border:1px solid var(--border);color:var(--ink)}.secondary:hover{background:#f7f4fc}.full{width:100%}.text-button{background:transparent;color:var(--purple);font-weight:650;padding:8px;font-size:12px}.pill{display:inline-flex;align-items:center;letter-spacing:1.1px;font-size:9px;font-weight:750;background:var(--purple-light);padding:7px 10px;border-radius:6px;color:var(--purple)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#efebf6;padding:52px clamp(35px,6vw,110px);position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.login-story .brand{position:absolute;top:46px;left:clamp(35px,6vw,110px)}.login-story .eyebrow{margin-top:55px}.login-story h1{font-size:clamp(35px,3.6vw,60px);letter-spacing:-2.5px;line-height:1.13;margin:22px 0}.login-story p{line-height:1.9;color:#7b7489;font-size:15px}.login-story small{font-size:11px;color:#8d859a;margin-top:54px}.illustration{position:relative;background:white;border:1px solid #e1d9ed;border-radius:15px;padding:24px 20px 30px;margin-top:45px;box-shadow:0 18px 45px #82679e13;transform:rotate(-2deg);max-width:450px}.mini-days{display:grid;grid-template-columns:repeat(5,1fr);margin-left:105px;color:#aaa1b6;font-size:9px;text-align:center;gap:5px}.mini-line{display:grid;grid-template-columns:100px repeat(5,1fr);gap:5px;align-items:center;margin-top:14px}.mini-line b{font-size:10px;font-weight:550;color:#776e84}.mini-line i{height:33px;border:1px solid #f0edf5;border-radius:5px;font-style:normal;text-align:center;line-height:30px}.mini-line .mini-ghost{background:#eee7f8;border-color:#eee7f8}.mini-line .mini-picked{background:var(--purple);color:white;font-size:14px}.mini-line .orange{background:#db9f72}.floating-note{position:absolute;bottom:-18px;right:3px;padding:13px 18px;box-shadow:0 5px 20px #5e467516;background:#fffcf5;font-size:11px;border-radius:9px;transform:rotate(5deg);color:#8b7854}.floating-note span{margin-left:10px;color:#c49d51}.login-panel{display:flex;justify-content:center;align-items:center;padding:80px 25px;position:relative}.login-card{width:360px}.login-card h2{font-size:25px;letter-spacing:-.8px;margin-top:22px;line-height:1.3}.login-card>.muted{margin:12px 0 28px;font-size:13px}form label{font-size:11px;font-weight:650;display:block;margin:18px 0 8px}input,select{border:1px solid #e3dfe9;border-radius:9px;background:white;color:var(--ink)}form input{height:46px;width:100%;padding:12px;font-size:13px}input::placeholder{color:#aba6b4}.password-field{position:relative}.password-field input{padding-right:85px}.password-field button{position:absolute;right:6px;top:7px;padding:9px;background:none;color:#9b91a9;font-size:10px}.form-error{color:#b04f55;min-height:25px;font-size:12px;padding-top:8px}.primary.full{justify-content:space-between;height:46px}.privacy-note{margin:16px 0;color:#96909e;font-size:11px;line-height:1.7}.divider{display:flex;align-items:center;gap:12px;color:#aaa4b2;font-size:10px;margin:26px 0 20px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-footer{position:absolute;bottom:25px;color:#aaa4b2;font-size:10px}.topbar{height:77px;display:flex;align-items:center;padding:0 42px;background:white;border-bottom:1px solid var(--border);gap:26px}.topbar-label{font-size:11px;color:#9b95a3;border-left:1px solid var(--border);padding-left:25px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:12px}.save-state{color:#a39aa9;font-size:10px}.save-state:before{content:'●';font-size:6px;color:#83ad9a;margin-right:6px}main{max-width:1580px;margin:auto;padding:40px 42px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.page-heading h1{font-size:32px;font-weight:700;letter-spacing:-1.2px;margin:9px 0 8px}.page-heading p{font-size:12px}.page-heading>.secondary{margin-top:10px}.stats{display:flex;gap:0;background:white;border:1px solid var(--border);border-radius:14px;padding:22px 25px;margin-bottom:26px}.stats>div{display:flex;align-items:center;gap:15px;flex:1}.stats>div+div{border-left:1px solid var(--border);padding-left:29px}.stat-icon{width:43px;height:43px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:22px}.lavender{background:#f0eafa;color:#8763bd}.mint{background:#eaf4ee;color:#81a48d}.peach{background:#fbf1e7;color:#c59b73}.stats b{display:block;font-size:26px;font-weight:650;line-height:1.2;letter-spacing:-1px}.stats div div span{display:block;font-size:10px;color:#a29aa9;margin-top:5px}.stats>.stats-note{display:block;flex:.95;font-size:10px;color:#a29aa9;line-height:1.8;align-content:center}.stats-note strong{font-weight:500;color:#7b718a}.board{background:white;border:1px solid var(--border);border-radius:14px;overflow:hidden}.board-toolbar{padding:18px;display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap}.filters{display:flex;gap:8px;align-items:center}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;padding:0 10px;height:35px;color:#a39aaa}.search input{border:0;border-radius:0;background:none;outline-offset:6px;width:140px;font-size:11px;padding:6px 0}.search span{font-size:21px}.filters select{font-size:10px;height:35px;padding:0 25px 0 10px;max-width:190px;color:#786f86}.calendar-controls{display:flex;align-items:center;gap:5px}.calendar-controls input{font-size:11px;border:0;padding:7px;width:130px}.icon-button{background:#f7f5fa;border:1px solid #f0ecf5;color:#8c809e;border-radius:6px;width:27px;height:28px;font-size:20px}.calendar-controls .text-button{font-size:10px;margin-left:7px}.table-scroll{overflow:auto;max-height:64vh;scrollbar-width:thin;scrollbar-color:#d8cfe3 transparent}table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:11px}th,td{padding:0;box-sizing:border-box}thead{position:sticky;top:0;z-index:5}thead th{height:65px;background:#fcfbfd;border-top:1px solid var(--border);border-bottom:1px solid var(--border);min-width:var(--day);width:var(--day);text-align:center;font-weight:500;color:#a69eaf}thead th b{display:block;font-size:16px;font-weight:600;margin-top:3px;color:#766b84}thead th.weekend{background:#f8f6fb}thead th.today{background:#f0e9fa;color:var(--purple)}thead th.today b{color:var(--purple)}th.first{position:sticky;left:0;z-index:6;min-width:var(--left);width:var(--left);text-align:left;padding:0 19px;color:#a49bad;font-size:9px;letter-spacing:1px;background:#fcfbfd;border-right:1px solid var(--border)}th.first span{float:right;letter-spacing:0;color:#b1a6bb}.subject-row td{background:#f9f7fc;height:39px;border-bottom:1px solid #efebf4}.subject-row .subject-name{position:sticky;left:0;z-index:3;padding:0 18px;font-weight:650;color:#635571;border-right:1px solid var(--border);background:#f9f7fc}.subject-name span{display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:#9f91ad;font-weight:500;margin-left:8px;background:#eee8f6;border-radius:5px;min-width:19px;padding:2px 5px}.task-row td{height:95px;border-bottom:1px solid #f0edf5;border-right:1px solid #f4f1f7}.task-cell{position:sticky;left:0;z-index:2;background:white;padding:13px 16px!important;border-right:1px solid var(--border)!important;vertical-align:middle}.task-main{display:flex;align-items:flex-start;gap:9px}.drag-handle{color:#c2b6ce;cursor:grab;font-size:15px;line-height:1.5;flex-shrink:0;touch-action:none}.task-title{font-size:11px;color:#554b63;font-weight:550;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:290px}.task-title a:hover{color:var(--purple);text-decoration:underline}.task-meta{display:flex;align-items:center;gap:6px;margin:7px 0 0 21px;font-size:8px;color:#ada3b6;flex-wrap:wrap}.status{display:inline-flex;padding:3px 5px;border-radius:4px;font-size:8px;white-space:nowrap;font-weight:550}.status.appointed{background:#f2eef9;color:#9b83ba}.status.reviewing,.status.clarifying{background:#eaf2f8;color:#849dae}.status.reworking,.status.failed{background:#fbefdf;color:#be9765}.level{font-size:8px;padding:2px 4px;background:#f7f5fa;border:1px solid #eee8f4;border-radius:3px}.task-plan{margin-left:auto;display:flex;align-items:center;gap:4px;color:var(--purple);font-size:9px}.task-plan button{background:none;color:#aa9abc;font-size:13px;padding:0 2px}.task-plan.outside{color:#bd8b56}.date-cell{position:relative;background:white;text-align:center}.date-cell.weekend{background:#fdfcfe}.date-cell.today{background:#fbf9ff}.date-button{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:100%;padding:0;background:transparent;color:#8061b5;isolation:isolate}.date-button:before{content:"";position:absolute;left:0;right:0;height:28px;z-index:-1}.date-cell.in-period .date-button:before{background:#eee7f780}.date-cell.period-start .date-button:before{left:5px;border-radius:7px 0 0 7px}.date-cell.period-end .date-button:before{right:5px;border-radius:0 7px 7px 0}.date-cell.period-start.period-end .date-button:before{border-radius:7px;left:5px;right:5px}.date-button:hover:after{content:"+";display:flex;position:absolute;width:34px;height:28px;border:1px dashed #b6a0d2;color:#9d83bf;border-radius:7px;background:#f9f5fd;align-items:center;justify-content:center;font-size:16px}.planned-mark{display:flex;align-items:center;justify-content:center;height:28px;width:calc(100% - 10px);min-width:25px;background:var(--purple);border-radius:7px;color:white;font-size:12px;box-shadow:0 3px 7px #7659bf20}.outside .planned-mark{background:#bd946c}.date-cell.planned .date-button:after{content:none}.dragging{opacity:.42}.date-cell.drop-target{outline:2px dashed #bba5dc;outline-offset:-4px;background:#f0e8fb}.task-cell.reorder-target{box-shadow:inset 0 3px #9c7dc8}.board-footer{padding:17px 20px;display:flex;justify-content:space-between;gap:12px;color:#aaa0b4;font-size:9px;background:#fff;border-top:1px solid var(--border);line-height:1.5}.legend{display:flex;gap:18px;align-items:center}.legend span{display:flex;align-items:center;gap:6px}.legend i{display:inline-block;border-radius:3px;width:11px;height:11px}.legend-period{background:#eee7f7}.legend-plan{background:var(--purple)}.legend-today{background:#f3edfb;border:1px solid #e4d9f3}.bottom-note{text-align:center;color:#aea4b9;font-size:10px;margin:22px 0}.empty{padding:70px 20px;text-align:center;color:#9a8ca8}.empty>span{font-size:30px;color:#bda9d3}.empty h3{margin:17px 0 7px;color:#7c6b8f;font-size:16px}.empty p{font-size:12px}.loading{padding:35px;text-align:center;color:#9684aa;font-size:12px}.board-error{padding:18px;background:#fcf2ef;font-size:12px;color:#a56e62}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;z-index:15;background:#453750;color:white;box-shadow:0 8px 30px #39244030;padding:14px 23px;border-radius:11px;font-size:12px;line-height:1.5}#toast.error{background:#9c5659}.pending .task-cell{background:#fcfaff}@media(min-width:1500px){:root{--left:380px;--day:72px}.task-title{max-width:320px}}@media(max-width:1000px){.topbar{padding:0 22px}.topbar-label,.save-state{display:none}main{padding:25px 20px}.stats>.stats-note{display:none}.stats>div{gap:10px}.stats>div+div{padding-left:20px}.board-footer{flex-direction:column}.login-story{padding:45px}.login-story .brand{left:45px}.login-story h1{font-size:41px}.illustration{padding:20px 12px}.mini-line{grid-template-columns:80px repeat(5,1fr)}.mini-days{margin-left:85px}}@media(max-width:680px){:root{--left:260px;--day:56px}.login-shell{display:block}.login-story{display:none}.login-panel{min-height:100vh;padding:35px 25px 70px}.login-card{max-width:360px;width:100%}.topbar{height:65px;padding:0 15px;gap:10px}.topbar-right{gap:10px}.topbar-right #user-name{max-width:75px;overflow:hidden;text-overflow:ellipsis}.brand.small{font-size:23px}main{padding:22px 12px}.page-heading{display:block}.page-heading h1{font-size:26px}.page-heading .secondary{margin-top:18px;font-size:11px;padding:9px 12px}.stats{padding:16px 10px;margin-bottom:18px}.stats>div{gap:7px}.stats>div+div{padding-left:8px}.stat-icon{width:27px;height:30px;border-radius:7px;font-size:16px}.stats b{font-size:23px}.stats div div span{font-size:8px;max-width:75px;line-height:1.4}.board-toolbar{padding:12px;gap:12px}.filters{flex-wrap:wrap;gap:6px}.search input{width:110px}.filters select{max-width:155px;font-size:10px;padding-right:17px}.calendar-controls{justify-content:space-between;width:100%}.calendar-controls input{width:145px}.table-scroll{max-height:66vh}.task-cell{padding:12px 9px!important}.task-title{font-size:10px;max-width:215px}.task-meta{font-size:7px;margin-left:19px;gap:4px}.task-row td{height:105px}.task-plan{margin-left:0}.legend{gap:13px}.board-footer{padding:13px 12px}.bottom-note{line-height:1.7;padding:0 12px}}

/* School-style filters and subject → topic → task hierarchy. */
:root{--status-rework:#ff633f;--status-rework-bg:#f5d9d2;--status-todo:#5b54a6;--status-todo-bg:#d1cee6;--status-review:#d99a3c;--status-review-bg:#f2e2ca}
.task-filters{margin-bottom:24px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:white}.levels-panel{text-align:center;padding:23px 24px 25px;background:linear-gradient(110deg,#302d5d,#58519b);color:white}.levels-panel p{font-size:14px;line-height:1.6;margin-bottom:17px}.level-switcher{display:flex;max-width:510px;margin:auto;border:1px solid #bcb6db;border-radius:12px;overflow:hidden}.level-switcher button{position:relative;flex:1;background:#5952a0;color:#fff;padding:11px;font-size:20px;font-weight:600;border-right:1px solid #c2bbdd;transition:background .12s,color .12s}.level-switcher button:last-child{border-right:0}.level-switcher button[aria-pressed="false"]{background:#ffffff0a;color:#bcb5d7}.level-switcher button[aria-pressed="true"]:after{content:"";position:absolute;bottom:5px;left:calc(50% - 11px);width:22px;height:2px;background:#ffffff8a;border-radius:2px}.level-switcher button:hover{background:#6b62b2}.level-switcher button:focus-visible{outline:3px solid white;outline-offset:-5px}.status-panel{padding:24px 28px 12px}.status-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.status-panel-heading h2{font-size:23px;font-weight:650;color:#29225e;letter-spacing:-.5px}.overdue-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;color:#352c68;font-size:14px;position:relative;white-space:nowrap}.overdue-toggle input{position:absolute;opacity:0;width:45px;height:27px;left:0;margin:0}.toggle-track{width:45px;height:27px;border:1.5px solid #aaa0bc;border-radius:18px;background:white;position:relative;transition:background .15s}.toggle-track:before{content:"";display:block;position:absolute;width:21px;height:21px;left:2px;top:1.5px;background:#5b54a6;border-radius:50%;transition:transform .15s}.overdue-toggle input:checked+.toggle-track{background:#5b54a6;border-color:#5b54a6}.overdue-toggle input:checked+.toggle-track:before{background:white;transform:translateX(17px)}.overdue-toggle input:focus-visible+.toggle-track{outline:3px solid #b8a1db;outline-offset:3px}.status-buttons{display:flex;gap:10px;max-width:850px}.status-filter{position:relative;flex:1;padding:13px 22px;border:2px solid transparent;border-radius:7px;font-size:17px;font-weight:500;line-height:1.45}.status-filter span{display:block;font-size:15px}.status-filter.reworking,.status.reworking,.status.failed{background:var(--status-rework-bg);color:var(--status-rework)}.status-filter.appointed,.status.appointed{background:var(--status-todo-bg);color:var(--status-todo)}.status-filter.reviewing,.status.reviewing,.status.clarifying{background:var(--status-review-bg);color:var(--status-review)}.status-filter[aria-pressed="true"]{border-color:currentColor;box-shadow:0 0 0 2px white inset}.status-filter[aria-pressed="true"]:before{content:"✓";position:absolute;right:9px;top:5px;font-size:12px;font-weight:700}.status-filter:hover{filter:brightness(.97)}.filter-description{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;color:#a398b0;font-size:10px;line-height:1.6}.filter-description .text-button{font-size:10px}.unplanned-filter{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#786f86;cursor:pointer;white-space:nowrap}.unplanned-filter input{accent-color:var(--purple);width:14px;height:14px}.topic-row th,.topic-row td{height:73px;background:#fdfcfe;border-bottom:1px solid #eee8f4}.topic-name{position:sticky;left:0;z-index:3;text-align:left;padding:12px 17px 12px 25px;border-right:1px solid var(--border);min-width:var(--left);width:var(--left);font-weight:500}.topic-heading{display:flex;gap:8px;align-items:flex-start;color:#77618c;font-size:11px;font-weight:650;line-height:1.55}.topic-heading>span:first-child{overflow-wrap:anywhere}.topic-count{font-size:8px;white-space:nowrap;min-width:18px;text-align:center;background:#efe9f5;color:#a390b3;border-radius:4px;padding:1px 4px;margin-top:1px}.topic-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:5px;color:#a899b3;font-size:8px;font-weight:400;line-height:1.6}.topic-row .topic-day{border-right:1px solid #f5f1f8}.topic-row .topic-day.in-period{background:#f5f0fa}.topic-row .topic-day.today{box-shadow:inset 1px 0 #e5dcef,inset -1px 0 #e5dcef}.overdue-label{display:inline-flex;padding:3px 5px;border-radius:4px;background:#f9e4dc;color:#c96648;font-size:8px;line-height:1.35;white-space:nowrap}.deadline-label{display:inline-flex;color:#b47a61;font-size:8px;line-height:1.35}.topic-row.deadline-passed th,.topic-row.deadline-passed td{background:#fff5ef;border-bottom-color:#f5e4dc}.topic-row.deadline-passed .topic-heading{color:#b6775c}.topic-row.deadline-passed .topic-day.in-period{background:#fae8df}.topic-row.has-debts .topic-name{box-shadow:inset 3px 0 #eaa58c}.task-row.deadline-passed .task-cell{background:#fffcfa}.task-row.overdue .task-cell{background:#fff7f3;box-shadow:inset 3px 0 #eb9e82}.task-row.deadline-passed .date-cell.in-period .date-button:before{background:#f5d9d270}.task-row .status{font-size:9px;padding:3px 5px}.task-row .task-meta{row-gap:5px}.task-cell.reorder-target{box-shadow:inset 0 3px #9c7dc8!important}
@media(max-width:1000px){.status-panel{padding:20px 20px 10px}.status-panel-heading h2{font-size:21px}.levels-panel p{font-size:13px}.status-filter{font-size:15px;padding:12px 18px}.status-filter span{font-size:13px}}
@media(max-width:680px){.task-filters{margin-bottom:18px}.levels-panel{padding:19px 15px 21px}.levels-panel p{font-size:12px;max-width:310px;margin:0 auto 14px}.level-switcher button{padding:10px 5px;font-size:18px}.status-panel{padding:19px 13px 10px}.status-panel-heading{gap:13px;flex-wrap:wrap;margin-bottom:15px}.status-panel-heading h2{font-size:20px}.overdue-toggle{font-size:12px;gap:7px}.status-buttons{gap:6px}.status-filter{font-size:12px;padding:12px 7px;line-height:1.6}.status-filter span{font-size:12px}.status-filter[aria-pressed="true"]:before{right:4px;top:0;font-size:10px}.filter-description{font-size:8px;align-items:flex-start}.filter-description .text-button{font-size:9px;white-space:nowrap;padding:4px}.topic-name{padding:10px 10px 10px 18px}.topic-heading{font-size:10px}.topic-meta{font-size:8px}.topic-row th,.topic-row td{height:85px}.task-row .status{font-size:8px}.task-row .task-meta{font-size:7px;row-gap:4px}.overdue-label,.deadline-label{font-size:7px}.unplanned-filter{margin-left:2px}}
.task-row.deadline-passed .date-cell{background:#fffaf7}.task-row.deadline-passed .date-cell.today{background:#fff4ef}.task-row.overdue .task-title{color:#9f604b}

/* Deselected school levels are white, as on the reference page. */
.level-switcher button[aria-pressed="false"]{background:#fff;color:#5b54a6;border-right-color:#d6d6d6}.level-switcher button[aria-pressed="false"]:hover{background:#f7f5ff}.level-switcher button[aria-pressed="false"]:focus-visible{outline-color:#5b54a6}
.topbar-nav{display:flex;gap:5px;align-items:center}.topbar-nav a{font-size:12px;padding:10px 14px;color:#9a8da7;border-radius:8px;white-space:nowrap}.topbar-nav a[aria-current="page"]{background:#f0eafa;color:#7659bf;font-weight:650}.topbar-nav a:hover{background:#f7f3fc}.day-week{background:white;border:1px solid var(--border);border-radius:14px;padding:22px 25px;margin-bottom:25px}.day-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.day-section-heading h2{font-size:20px;letter-spacing:-.5px;font-weight:650;color:#4c3d61}.day-section-heading p{font-size:11px;color:#a395af;margin-top:8px;line-height:1.6}.day-section-heading>.muted{font-size:11px}.day-stats{padding:15px 0 7px;border:0;border-radius:0;margin-bottom:10px}.day-stats-note{font-size:10px;line-height:1.8;color:#a094ab}.day-stats-note+.day-stats-note{margin-top:5px}.day-section{margin-top:27px}.day-count{display:inline-flex;font-size:11px;min-width:23px;justify-content:center;align-items:center;background:#ece5f5;color:#8b71a6;border-radius:7px;padding:4px 6px;vertical-align:middle;margin-left:5px;font-weight:500;letter-spacing:0}.overdue-section .day-count{background:#f9e1d8;color:#c18469}.day-task-list{display:flex;flex-direction:column;gap:10px}.day-task{display:flex;align-items:center;justify-content:space-between;gap:25px;background:white;border:1px solid var(--border);border-radius:12px;padding:21px 24px}.day-task.personal-overdue{background:#fff9f6;border-color:#efdbd1;border-left:3px solid #e2aa91}.day-task-content{min-width:0;flex:1}.day-task-subject{font-size:10px;color:#867097;line-height:1.7;font-weight:600}.day-task-subject span{font-weight:400;color:#ac9ab9}.day-task h3{font-size:15px;font-weight:550;color:#584762;line-height:1.6;margin:6px 0 11px;overflow-wrap:anywhere}.day-task h3 a:hover{color:var(--purple);text-decoration:underline}.day-task-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:#a899b1;font-size:10px;line-height:1.6}.day-stage{display:inline-flex;align-items:center;font-size:10px;border-radius:5px;padding:4px 7px}.day-stage.open{background:var(--status-todo-bg);color:var(--status-todo)}.day-stage.resolved{background:var(--status-review-bg);color:#bd8736}.day-stage.done{background:#e6f1e9;color:#70967d}.day-stage.unknown{background:#f0edf2;color:#9b8ba6}.personal-deadline{color:#c58b70}.day-actions{display:flex;align-items:end;gap:10px;flex-shrink:0}.day-actions label{display:flex;flex-direction:column;gap:7px;font-size:9px;color:#a492ac}.day-actions input{height:39px;padding:8px 10px;color:#8b739f;font-size:11px;width:144px}.day-actions button{height:39px;padding:10px 15px;font-size:11px}.day-empty{border:1px dashed #e2dbea;border-radius:12px;padding:28px;text-align:center;color:#b0a3bc;font-size:12px;line-height:1.8}.day-tracked>summary{font-size:16px;color:#79648c;cursor:pointer;padding:13px 0}.day-tracked>.day-task-list{margin-top:10px}.day-task.done{background:#fcfefc;border-color:#e1e9e1}.day-task.done h3{color:#78907b}#day-sync-warning{border-radius:9px;margin:18px 0}
@media(min-width:1100px){#day-view{max-width:1160px}}@media(max-width:800px){.day-task{align-items:flex-start;gap:18px;padding:18px}.day-actions{flex-direction:column;align-items:stretch}.day-actions input{width:135px}.topbar-nav a{padding:9px 10px}}@media(max-width:680px){.topbar{gap:9px}.topbar-nav{gap:0}.topbar-nav a{font-size:10px;padding:9px 8px}.topbar-right{gap:4px}.topbar-right #user-name{display:none}.day-week{padding:18px 15px}.day-section-heading h2{font-size:18px}.day-section-heading{gap:10px;flex-wrap:wrap}.day-section-heading>.muted{font-size:10px}.day-task{display:block;padding:17px}.day-task h3{font-size:13px}.day-task-meta{gap:7px;font-size:9px}.day-task-subject{font-size:9px}.day-actions{flex-direction:row;margin-top:17px;align-items:end}.day-actions input{width:150px}.day-actions button{flex:1}.day-empty{padding:23px 17px;font-size:11px}.day-stats-note{font-size:9px}.day-stage{font-size:9px}.day-stats{margin-bottom:10px}.day-section{margin-top:23px}}
.day-stage.open.reworking,.day-stage.open.failed{background:var(--status-rework-bg);color:var(--status-rework)}

.day-school-deadline{margin-top:12px;border:1px solid #e9e2ef;border-radius:8px;padding:10px 12px;background:#faf8fd;font-size:10px;line-height:1.7;color:#9e8eab}.day-school-period{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.day-school-period strong{font-weight:550;color:#857194}.day-deadline-badge{display:inline-flex;border-radius:4px;padding:2px 6px;background:#ece5f5;color:#8b72a3;font-size:9px;font-weight:550}.day-school-deadline.soon .day-deadline-badge{background:#f9edcf;color:#b08b40}.day-school-deadline.urgent{border-color:#ecdfb9;background:#fffbef}.day-school-deadline.urgent .day-deadline-badge{background:#f6e4b8;color:#a27d2e}.day-school-deadline.expired{border-color:#efd9cf;background:#fff7f2}.day-school-deadline.expired .day-deadline-badge{background:#f6dfd3;color:#bd765a}.day-extra-period{display:block;margin-top:4px;color:#a38d7b;font-size:9px}.day-plan-warning{display:block;color:#ba7c59;font-size:9px;margin-top:4px}.day-actions{width:270px;flex-wrap:wrap;row-gap:7px}.day-move-hint{flex-basis:100%;margin:0;font-size:9px;line-height:1.6;max-width:270px;overflow-wrap:anywhere}.day-move-hint.muted{color:#ab9ab5}.day-move-hint.warning{color:#bf805f}
@media(max-width:800px){.day-actions{width:160px}.day-move-hint{flex-basis:auto;max-width:160px}}@media(max-width:680px){.day-actions{width:100%}.day-move-hint{flex-basis:100%;max-width:none}.day-school-deadline{padding:9px 10px;font-size:9px}.day-deadline-badge,.day-extra-period,.day-plan-warning{font-size:8px}}

.app-version{text-align:center;padding:12px 16px;color:#82758f;font-size:11px;line-height:1.5}


/* HORODIGITAL palette and controls; Рядом keeps its own identity. */
:root {
  --ink: #27205d;
  --muted: #7c7c92;
  --purple: #5854a4;
  --purple-dark: #413d85;
  --purple-light: #ebebf4;
  --border: #d9d8da;
  --bg: #fff;
  --status-rework: #c84b2c;
  --status-rework-bg: #f5d8d2;
  --status-todo: #5854a4;
  --status-todo-bg: #cdcce4;
  --status-review: #93651f;
  --status-review-bg: #f3e7d5;
  --left: 380px;
  --day: 72px;
}
body {font-family: "Factor-A", Arial, sans-serif; font-size: 16px; line-height: 1.5;}
h1, h2, h3 {font-weight: 500; color: var(--ink);}
button, input, select {font: inherit;}
button, a, input, select {transition: background-color .15s, border-color .15s, color .15s;}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible {outline-color: var(--purple);}
.brand {color: var(--ink);}
.brand-symbol {background: var(--purple);}
.brand-lockup {display: flex; flex-direction: column; gap: 3px; flex-shrink: 0;}
.platform-caption {font-size: 11px; color: var(--muted); letter-spacing: .15px; white-space: nowrap;}
.topbar {height: auto; min-height: 100px; padding: 20px 40px; gap: 36px; border-bottom: 1px solid #e9e9ea; background: #fff;}
.brand.small {font-size: 29px;}
.brand.small .brand-symbol {width: 36px; height: 36px; font-size: 28px; border-radius: 12px;}
.topbar-nav {gap: 24px; align-self: stretch;}
.topbar-nav a {display: flex; align-items: center; padding: 10px 0; border-radius: 0; border-bottom: 2px solid transparent; color: var(--muted); font-size: 16px;}
.topbar-nav a[aria-current="page"] {color: var(--purple); background: transparent; border-bottom-color: var(--purple); font-weight: 500;}
.topbar-nav a:hover {color: var(--purple); background: transparent;}
.topbar-right {gap: 18px; font-size: 14px;}
.save-state {font-size: 11px; color: var(--muted);}
.save-state:before {color: #006a46;}
main {max-width: 1580px; padding: 40px;}
.eyebrow {font-size: 11px; font-weight: 500; letter-spacing: 1.3px;}
.page-heading {margin-bottom: 30px; gap: 24px;}
.page-heading h1 {font-size: clamp(30px, 3vw, 44px); font-weight: 500; letter-spacing: -1px; line-height: 1.2; margin: 10px 0 12px;}
.page-heading p {font-size: 15px;}
.primary, .secondary {border-radius: 8px; padding: 12px 20px; font-size: 15px; font-weight: 500; min-height: 44px;}
.primary {background: var(--purple);}
.primary:hover {background: var(--purple-dark);}
.secondary {border-color: var(--purple); color: var(--purple);}
.secondary:hover {background: var(--purple-light);}
.text-button {font-size: 14px; font-weight: 500; color: var(--purple);}
.pill {background: var(--purple-light); color: var(--purple); font-weight: 500; letter-spacing: .6px; font-size: 11px;}
.stats {border-color: #e9e9ea; background: #f6f6f9; border-radius: 12px; padding: 24px;}
.stats b {color: var(--ink); font-size: 30px; font-weight: 500;}
.stats div div span {font-size: 12px; color: var(--muted);}
.stats > div + div {border-color: var(--border);}
.stats > .stats-note {font-size: 12px; color: var(--muted);}
.stats-note strong {color: var(--purple);}
.stat-icon.lavender {background: #cdcce4; color: var(--purple);}
.stat-icon.mint {background: #ddebe7; color: #006a46;}
.stat-icon.peach {background: #f3e7d5; color: #93651f;}
.task-filters {border: 0; border-radius: 0; overflow: visible; margin-bottom: 30px;}
.levels-panel {position: relative; isolation: isolate; padding: 26px 24px 34px; margin-bottom: 18px; background: none;}
.levels-panel:before {content: ""; position: absolute; inset: 0 0 22px; background: linear-gradient(105deg, #302d5d, #5854a4); clip-path: polygon(0 0,100% 0,100% 100%,50% 72%,0 100%); z-index: -1;}
.levels-panel p {font-size: 18px; line-height: 1.5; margin-bottom: 20px;}
.level-switcher {max-width: 600px; border: 2px solid #d9d8da; border-radius: 14px; background: #fff;}
.level-switcher button {background: var(--purple); padding: 9px; font-size: 26px; font-weight: 400; border-color: #d9d8da;}
.level-switcher button[aria-pressed="true"]:after {content: none;}
.level-switcher button[aria-pressed="false"] {background: #fff; color: var(--purple);}
.level-switcher button[aria-pressed="false"]:hover {background: #ebebf4;}
.level-switcher button[aria-pressed="true"]:hover {background: #413d85;}
.status-panel {padding: 10px 0 0;}
.status-panel-heading {margin-bottom: 22px;}
.status-panel-heading h2 {font-size: 30px; color: var(--ink); font-weight: 500;}
.overdue-toggle {font-size: 16px; color: var(--ink);}
.toggle-track {border-color: #9996ae;}
.toggle-track:before {background: var(--purple);}
.overdue-toggle input:checked + .toggle-track {background: var(--purple); border-color: var(--purple);}
.status-buttons {max-width: 920px; gap: 12px;}
.status-filter {border-radius: 8px; padding: 14px 20px; font-size: 20px;}
.status-filter span {font-size: 18px;}
.filter-description, .filter-description .text-button {font-size: 12px; color: var(--muted);}
.filter-description .text-button {color: var(--purple);}
.board {border-color: #d9d8da; border-radius: 12px;}
.board-toolbar {padding: 20px; gap: 16px; background: #fff;}
.filters {gap: 10px; flex-wrap: wrap;}
.search {height: 40px; border-color: #d9d8da; border-radius: 8px;}
.search input {font-size: 13px; width: 155px;}
input, select {color: var(--ink); border-color: var(--border);}
.filters select {height: 40px; font-size: 13px; color: var(--ink);}
.unplanned-filter {font-size: 13px; color: var(--muted);}
.calendar-controls input {font-size: 13px; width: 145px; color: var(--ink);}
.calendar-controls .text-button {font-size: 13px;}
.icon-button {width: 32px; height: 34px; background: #ebebf4; color: var(--purple); border: 0;}
.icon-button:hover {background: #cdcce4;}
thead th, th.first {background: #f6f6f9; color: var(--muted); border-color: #e9e9ea;}
thead th {font-size: 12px;}
thead th b {font-size: 19px; font-weight: 500; color: var(--ink);}
th.first {font-size: 11px;}
thead th.weekend {background: #ebebf4;}
thead th.today {background: #cdcce4; color: var(--ink);}
.subject-row td, .subject-row .subject-name {background: #ebebf4; color: var(--ink); border-color: #d9d8da;}
.subject-row .subject-name {font-size: 14px; font-weight: 500;}
.subject-name span {background: #cdcce4; color: var(--purple); font-size: 11px;}
.topic-row th, .topic-row td {background: #fafafc; border-color: #e9e9ea;}
.topic-heading {color: var(--ink); font-size: 13px; font-weight: 500;}
.topic-count {font-size: 10px; background: #ebebf4; color: var(--purple);}
.topic-meta {font-size: 10px; color: var(--muted);}
.topic-row .topic-day.in-period {background: #ebebf4;}
.task-row td {border-color: #e9e9ea;}
.task-title {color: var(--ink); font-size: 13px; font-weight: 400; max-width: 315px;}
.task-meta {font-size: 10px; color: var(--muted);}
.task-row .status {font-size: 11px; padding: 3px 7px; border-radius: 4px;}
.level {font-size: 10px; background: #f6f6f9; color: var(--muted); border-color: #e9e9ea;}
.task-plan {font-size: 11px;}
.date-cell.today {background: #f6f6f9;}
.date-cell.in-period .date-button:before {background: #cdcce480;}
.planned-mark {background: var(--purple); box-shadow: none;}
.outside .planned-mark {background: #93651f;}
.date-button:hover:after {color: var(--purple); background: #ebebf4; border-color: var(--purple);}
.date-cell.drop-target {background: #ebebf4; outline-color: var(--purple);}
.legend-period {background: #cdcce4;}
.legend-today {background: #f6f6f9; border-color: var(--border);}
.board-footer {font-size: 11px; color: var(--muted); border-color: #e9e9ea;}
.bottom-note {font-size: 12px; color: var(--muted);}
.overdue-label, .deadline-label {font-size: 10px;}
.overdue-label {background: #f5d8d2; color: #b44328;}
.topic-row.deadline-passed .topic-heading, .task-row.overdue .task-title {color: #b44328;}
.topic-row.has-debts .topic-name, .task-row.overdue .task-cell {box-shadow: inset 3px 0 #ef6c49;}
.day-week {border-color: #e9e9ea; background: #f6f6f9; border-radius: 12px;}
.day-stats {background: none; padding: 15px 0 7px;}
.day-section-heading h2 {color: var(--ink); font-size: 26px; font-weight: 500;}
.day-section-heading p, .day-section-heading > .muted, .day-stats-note {font-size: 13px; color: var(--muted);}
.day-count {background: #ebebf4; color: var(--purple); font-size: 13px;}
.day-task {border-color: #d9d8da; border-radius: 10px; padding: 22px 24px;}
.day-task h3 {color: var(--ink); font-size: 18px; font-weight: 400;}
.day-task-subject {color: var(--purple); font-size: 13px;}
.day-task-subject span, .day-task-meta {color: var(--muted); font-size: 12px;}
.day-stage {font-size: 12px;}
.day-stage.done {background: #ddebe7; color: #006a46;}
.day-task.done h3 {color: #006a46;}
.day-task.personal-overdue {background: #fbf0ed; border-color: #edb2a6; border-left-color: #ef6c49;}
.day-stage.resolved {color: #93651f;}
.day-actions label {font-size: 12px; color: var(--muted);}
.day-actions input {font-size: 13px; color: var(--ink);}
.day-actions button {font-size: 13px;}
.day-school-deadline {font-size: 12px; color: var(--muted); background: #f6f6f9; border-color: #e9e9ea;}
.day-school-period strong {color: var(--ink);}
.day-deadline-badge, .day-extra-period, .day-plan-warning, .day-move-hint {font-size: 11px;}
.day-deadline-badge {background: #cdcce4; color: var(--ink);}
.day-move-hint.muted {color: var(--muted);}
.day-move-hint.warning, .day-plan-warning {color: #a64b2e;}
.day-empty {color: var(--muted); border-color: var(--border); font-size: 14px;}
.day-tracked > summary {color: var(--purple); font-size: 18px;}
.login-shell {min-height: calc(100vh - 44px);}
.login-story {background: linear-gradient(140deg, #302d5d, #5854a4); color: #fff;}
.login-story:after {content: ""; position: absolute; width: 300px; height: 300px; border: 1px solid #ffffff1f; transform: rotate(35deg); right: -190px; top: 10%; border-radius: 40px; pointer-events: none;}
.login-story .brand, .login-story h1 {color: #fff;}
.login-story .brand-symbol {background: #fff; color: var(--purple);}
.login-story .brand-dot {color: #edb2a6;}
.login-story .eyebrow {color: #cdcce4;}
.login-story h1 {font-weight: 500; letter-spacing: -1.5px;}
.login-story p, .login-story small {color: #eeedf7;}
.illustration {box-shadow: none; transform: none; border-radius: 12px; border: 0;}
.mini-line b {color: var(--ink);}
.mini-line .mini-ghost {background: #cdcce4; border-color: #cdcce4;}
.mini-line .orange {background: #cf9c51;}
.floating-note {background: #f3e7d5; color: #805820; box-shadow: none;}
.login-panel {background: #fff;}
.login-card {max-width: 420px;}
.login-card h2 {font-size: 32px; color: var(--ink); font-weight: 500; letter-spacing: -.6px;}
.login-card > .muted {font-size: 15px;}
.login-card label {color: var(--ink); font-size: 14px; font-weight: 400;}
.login-card input {height: 48px; border-radius: 8px; border-color: var(--border); color: var(--ink); font-size: 15px; background: #fff;}
.login-card input::placeholder {color: var(--muted);}
.login-card .password-field input {padding-right: 100px;}
.password-field button {color: var(--purple); font-size: 13px;}
.privacy-note, .login-footer {color: var(--muted); font-size: 12px;}
.divider {color: var(--muted);}
.form-error {color: #b44328;}
#toast {background: var(--ink); box-shadow: 0 4px 24px #5854a42b;}
#toast.error {background: #b44328;}
.app-version {color: var(--muted); font-size: 12px; padding: 12px 16px;}
@media (max-width: 1100px) {
  .topbar {padding: 18px 24px; gap: 24px;}
  .topbar-right {gap: 12px;}
  .save-state {display: none;}
  main {padding: 30px 24px;}
  .stats > .stats-note {display: none;}
  .stats > div {gap: 10px;}
  .stats > div + div {padding-left: 20px;}
}
@media (max-width: 800px) {
  .topbar {flex-wrap: wrap; gap: 10px 20px; min-height: 90px;}
  .topbar-right {margin-left: auto;}
  .topbar-nav {order: 3; flex-basis: 100%; gap: 28px;}
  .topbar-nav a {padding: 8px 0;}
  .levels-panel p {font-size: 16px;}
  .status-panel-heading h2 {font-size: 26px;}
  .day-actions {width: 170px;}
}
@media (max-width: 680px) {
  :root {--left: 280px; --day: 58px;}
  .topbar {padding: 16px; gap: 8px 12px;}
  .brand.small {font-size: 26px;}
  .platform-caption {font-size: 10px;}
  .topbar-right {gap: 6px;}
  .topbar-nav a {font-size: 15px;}
  .text-button {font-size: 13px;}
  main {padding: 26px 16px;}
  .page-heading h1 {font-size: 31px;}
  .page-heading p {font-size: 14px;}
  .page-heading .secondary {font-size: 14px; padding: 10px 14px;}
  .stats {padding: 16px 10px;}
  .stats > div {gap: 6px;}
  .stats > div + div {padding-left: 8px;}
  .stats b {font-size: 26px;}
  .stats div div span {font-size: 10px; max-width: 90px; line-height: 1.5;}
  .levels-panel {padding: 20px 10px 26px; margin-left: -16px; margin-right: -16px;}
  .levels-panel p {font-size: 14px; padding: 0 12px; margin-bottom: 18px;}
  .level-switcher {max-width: calc(100% - 32px);}
  .level-switcher button {font-size: 23px; padding: 8px 4px;}
  .status-panel {padding: 4px 0 0;}
  .status-panel-heading {gap: 14px; margin-bottom: 18px;}
  .status-panel-heading h2 {font-size: 26px;}
  .overdue-toggle {font-size: 14px;}
  .status-buttons {gap: 7px;}
  .status-filter {font-size: 14px; padding: 12px 5px;}
  .status-filter span {font-size: 14px;}
  .filter-description, .filter-description .text-button {font-size: 11px;}
  .board-toolbar {padding: 14px 12px;}
  .search input {width: 120px; font-size: 12px;}
  .filters select {max-width: 160px; font-size: 12px;}
  .unplanned-filter {font-size: 12px;}
  .calendar-controls input {font-size: 12px; width: 140px;}
  .task-title {font-size: 12px; max-width: 225px;}
  .task-meta {font-size: 10px;}
  .task-row .task-meta {font-size: 10px;}
  .task-row .status {font-size: 10px;}
  .topic-heading {font-size: 12px;}
  .topic-meta, .overdue-label, .deadline-label {font-size: 10px;}
  .board-footer {font-size: 11px;}
  .bottom-note {font-size: 11px;}
  .day-week {padding: 18px 14px;}
  .day-section-heading h2 {font-size: 23px;}
  .day-section-heading p, .day-section-heading > .muted, .day-stats-note {font-size: 12px;}
  .day-task {padding: 18px 14px;}
  .day-task h3 {font-size: 16px;}
  .day-task-subject, .day-task-subject span, .day-task-meta {font-size: 12px;}
  .day-actions {width: 100%; gap: 10px;}
  .day-actions input {width: 150px;}
  .day-school-deadline, .day-stage {font-size: 11px;}
  .day-deadline-badge, .day-extra-period, .day-plan-warning {font-size: 10px;}
  .day-move-hint {font-size: 11px;}
  .login-panel {min-height: calc(100vh - 44px); padding: 40px 24px 70px;}
  .login-card h2 {font-size: 29px;}
  .login-card {max-width: 420px;}
}
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after {transition: none !important;}
}

.login-mobile-brand {display: none;}
@media (max-width: 680px) {
  .login-mobile-brand {display: flex; margin-bottom: 24px;}
}
@media (max-width: 360px) {
  :root {--left: 230px; --day: 58px;}
  main {padding-left: 12px; padding-right: 12px;}
  .levels-panel {margin-left: -12px; margin-right: -12px;}
  .task-title {max-width: 180px;}
  .calendar-controls {gap: 3px;}
  .calendar-controls input {width: 130px;}
  .calendar-controls .text-button {margin-left: 0; padding: 8px 4px;}
}


/* Official task events remain separate from the student's plan. */
.task-event-summary {display: block; flex-basis: 100%; color: var(--muted); line-height: 1.5;}
.review-lock {color: #93651f; padding: 0 2px; width: 14px; flex-shrink: 0;}
.review-only .task-cell {background: #faf5ee;}
.review-only .task-title {cursor: default;}
.review-only .read-only-date:after {content: none;}
.date-cell.has-events .planned-mark {transform: translateY(-12px);}
.calendar-events {position: absolute; z-index: 1; bottom: 7px; left: 3px; right: 3px; display: flex; flex-wrap: wrap; justify-content: center; gap: 3px;}
.calendar-event {display: inline-flex; align-items: center; justify-content: center; min-width: 23px; min-height: 24px; padding: 0 4px; border-radius: 5px; font-size: 17px; font-weight: 600; border: 1px solid currentColor; background: #fff; line-height: 1;}
.calendar-event:hover {filter: brightness(.92);}
.calendar-event.event-submitted, .legend-event.submitted {color: #93651f; background: #f3e7d5;}
.calendar-event.event-reworking, .legend-event.reworking {color: #b44328; background: #f5d8d2;}
.calendar-event.event-appointed, .legend-event.appointed {color: #5854a4; background: #ebebf4;}
.legend {flex-wrap: wrap; gap: 8px 16px;}
.legend-event {display: inline-flex; align-items: center; justify-content: center; border-radius: 3px; width: 16px; height: 16px; font-size: 13px;}
.day-task-meta .task-event-summary {font-size: 12px;}
@media (max-width: 680px) {
  .task-row td {height: 132px;}
  .calendar-event {min-width: 24px; min-height: 28px;}
  .calendar-events {bottom: 5px; gap: 2px;}
  .board-footer .legend {gap: 8px 12px;}
}

.history-note {font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 5px;}

.task-row td {height: 132px;}
.calendar-event sup {font-size: 9px; margin-left: 1px;}
#day-history-note:not(:empty) {margin-bottom: 16px;}

.review-lock {display: inline-flex; align-items: center;}
.calendar-event svg {flex-shrink: 0;}
