:root{--ink: #1B1B1B;--ink-darker: #4B4B4A;--ink-soft: #7B7A78;--ink-faint: #999999;--light-grey: #DEDDDC;--lighter-grey: #F2F2F0;--plaster: #F7F7F6;--beige: #F6F4EF;--cream: #FBFBF9;--white: #FFFFFF;--ocean: #B4C7C1;--storm: #9DB2AB;--sage: #C2C2A8;--willow: #88865B;--peach: #EAC8AC;--terracotta: #CC7D45;--mist: #D9E2E0;--rule: rgba(27,27,27,.1);--rule-soft: rgba(27,27,27,.06);--rule-faint: rgba(27,27,27,.04);--sky-gray: rgba(180,199,193,.32);--nav-h: 100px}*{box-sizing:border-box}body{margin:0;font-family:Poppins,-apple-system,sans-serif;font-size:17.5px;line-height:1.5;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Lora,Georgia,serif;font-weight:400;margin:0;color:var(--ink)}h1{font-size:37.5px;line-height:1.2}h2{font-size:25px}h3{font-size:20px}em{font-family:Lora;font-style:italic}button{font-family:Poppins;cursor:pointer}.topbar{display:flex;justify-content:space-between;align-items:center;padding:17.5px 35px;background:var(--plaster);border-bottom:1.25px solid var(--rule-soft)}.brand{font-size:16.25px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:10px}.brand strong{color:var(--ink);font-weight:500}.action-bar{display:flex;flex-direction:column;align-items:stretch;gap:10px;background:var(--plaster);border:1.25px solid var(--rule);border-radius:10px;padding:10px 14px;margin-bottom:30px;position:sticky;top:var(--nav-h);z-index:2;box-shadow:0 2px 10px #1b1b1b0d}.action-bar__row{display:flex;align-items:center;justify-content:space-between;gap:12.5px}.action-bar .student-filter{margin-top:0;padding-top:10px;border-top:1.25px solid var(--rule-soft)}.view-select{display:none}.action-bar__actions{display:flex;align-items:center;gap:7.5px}.action-bar__actions button{background:var(--white);border:1.25px solid var(--rule);color:var(--ink-darker);height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6.25px;border-radius:6.25px;font-size:14.5px}.action-bar__actions button .ti{font-size:17px}.action-bar__actions .btn-cog,.action-bar__actions .btn-filter{width:36px;font-size:17.5px}.action-bar__actions .btn-filter.open{background:var(--beige);border-color:var(--light-grey);color:var(--ink)}.action-bar__actions .btn-filter.filtering{background:#9db2ab38;border-color:var(--storm);color:var(--ink)}.action-bar__actions .btn-load{padding:0 14px}.action-bar__actions button:hover{background:var(--plaster);color:var(--ink)}.action-bar__actions .btn-save{background:var(--ocean);border-color:var(--ocean);color:var(--ink);font-weight:500;padding:0 18px}.action-bar__actions .btn-save:hover{background:var(--storm);border-color:var(--storm);color:var(--ink)}.feedback-foot{margin-top:60px;padding-top:30px;border-top:1.25px solid var(--rule-soft);text-align:center}.feedback-btn{display:inline-flex;align-items:center;gap:8px;background:var(--terracotta);color:var(--white);border:1.25px solid var(--terracotta);border-radius:8px;padding:11px 24px;font-family:Poppins;font-size:15.5px;font-weight:500;cursor:pointer;transition:filter .15s ease}.feedback-btn:hover{filter:brightness(92%);color:var(--white)}.feedback-btn .ti{font-size:18px}.feedback-note{margin:12px auto 0;max-width:420px;font-size:14px;color:var(--ink-soft)}.view-toggle{display:inline-flex;background:var(--white);border:1.25px solid var(--rule);border-radius:7.5px;padding:2.5px;gap:2.5px}.view-toggle button{background:transparent;border:none;padding:6.25px 17.5px;font-size:15px;color:var(--ink-soft);border-radius:5px;display:inline-flex;align-items:center;gap:6.25px}.view-toggle button:hover{color:var(--ink)}.view-toggle button.active{background:var(--plaster);color:var(--ink)}.view-toggle .ti{font-size:16.25px}.container{max-width:1350px;margin:35px auto 100px;padding:0 35px}.page-head{margin-bottom:35px}.holidays-btn{flex:0 0 auto;background:transparent;border:1.25px solid var(--rule);color:var(--ink-soft);padding:7.5px 13.75px;border-radius:6.25px;font-size:15px;font-family:Poppins;cursor:pointer;display:inline-flex;align-items:center;gap:6.25px}.holidays-btn:hover{background:var(--plaster);color:var(--ink)}.holidays-btn .ti{font-size:17.5px}.page-head h1{outline:none;padding:2.5px 5px;margin-left:-5px;border-radius:5px}.page-head h1:hover,.page-head h1:focus{background:var(--plaster)}.page-head .meta{color:var(--ink-soft);font-size:16.25px;margin-top:5px}.page-head .meta em{font-family:Lora;font-style:italic}.period-picker{position:relative;display:inline-flex;align-items:center}.period-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:1.25px solid transparent;border-radius:6px;font-family:Lora;font-style:italic;font-size:16.25px;color:var(--ink-darker);cursor:pointer;padding:1px 22px 1px 6px;margin-left:-6px}.period-select:hover{background:var(--plaster);border-color:var(--rule)}.period-select:focus{outline:none;background:var(--plaster);border-color:var(--ocean)}.period-caret{position:absolute;right:2px;font-size:14px;color:var(--ink-soft);pointer-events:none}.calendar-section{background:var(--white);border:1.25px solid rgba(27,27,27,.08);border-radius:12.5px;padding:25px 27.5px;margin-bottom:30px}.cal-titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.cal-title{display:inline-flex;align-items:center;gap:10px;font-size:25px;margin:0}.cal-title .ti{color:var(--ink-soft)}.calendar-grid{display:grid;gap:5px}.cal-header-row,.cal-row{display:grid;grid-template-columns:137.5px repeat(12,1fr);gap:5px;align-items:center}.cal-month{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);text-align:center;padding-bottom:7.5px}.cal-row{min-height:37.5px}.cal-label{font-size:15px;font-weight:500;color:var(--ink-darker);display:inline-flex;align-items:center;gap:10px}.subject-dot{display:inline-block;width:11.25px;height:11.25px;border-radius:50%;flex-shrink:0}.cal-track{grid-column:2 / 14;display:grid;grid-template-columns:repeat(12,1fr);gap:3.75px;min-height:30px;position:relative}.cal-bar{height:27.5px;border-radius:3.75px;padding:0 10px;display:flex;align-items:center;font-size:12.5px;font-weight:500;color:var(--ink-darker);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-empty-hint{grid-column:1 / -1;text-align:center;color:var(--ink-faint);font-family:Lora;font-style:italic;font-size:15px;padding:22.5px}.subject-group{margin-bottom:22.5px}.subject-card{background:var(--white);border:1.25px solid rgba(27,27,27,.08);border-radius:12.5px;overflow:hidden}.subject-head{display:flex;justify-content:space-between;align-items:center;padding:15px 22.5px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--white)}.subject-head:hover{background:var(--plaster)}.subject-head__left{display:flex;align-items:center;gap:12.5px}.chevron{color:var(--ink-soft);font-size:17.5px;transition:none}.subject-name{font-weight:500;font-size:17.5px}.subject-count{font-size:15px;color:var(--ink-soft)}.subject-total{font-size:15px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.subject-head__right{display:flex;align-items:center;gap:7.5px}.subject-delete-btn{width:32.5px;height:32.5px;border:none;background:transparent;color:var(--ink-soft);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;opacity:0;font-size:17.5px;cursor:pointer}.subject-head:hover .subject-delete-btn{opacity:.5}.subject-delete-btn:hover{opacity:1!important;background:#cc7d451a;color:var(--terracotta)}.subject-body{border-top:1.5px solid var(--rule);padding:5px 22.5px 8px}.item-row{display:grid;grid-template-columns:12.5px 1fr;gap:12.5px;align-items:center;padding:10px 0;border-bottom:1.25px solid rgba(27,27,27,.1)}.item-main{display:grid;grid-template-columns:1fr auto auto auto 40px 40px;gap:12.5px;align-items:center;min-width:0}.lesson-plan-btn{border:1.25px solid var(--rule);background:var(--ocean);color:var(--ink);border-radius:7.5px;font-family:Poppins;font-size:14px;padding:6.25px 12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6.25px;white-space:nowrap}.lesson-plan-btn:hover{filter:brightness(96%)}.lesson-plan-btn .ti{font-size:16px}.lesson-plan-btn.active{filter:brightness(92%)}.item-row:last-of-type{border-bottom:none}.item-row:hover{background:#1b1b1b03}.item-dot{display:inline-block;width:8.75px;height:8.75px;border-radius:50%;flex-shrink:0}.item-input{font-family:Poppins;font-size:16.25px;border:none;background:transparent;padding:6.25px 10px;border-radius:5px;color:var(--ink);width:100%}.item-input::placeholder{color:var(--ink-faint);font-style:italic;font-family:Lora}.item-input:hover{background:#1b1b1b08}.item-input:focus{background:var(--beige);outline:none}.item-select{font-family:Poppins;font-size:15px;border:none;background:transparent;padding:6.25px 7.5px;border-radius:5px;color:var(--ink-darker);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.item-select:hover{background-color:#1b1b1b08}.item-select:focus{background-color:var(--beige);outline:none}.item-select.month-select{font-size:15px;text-align:center;padding:6.25px 8.75px}.month-arrow{color:var(--ink-soft);font-size:16.25px;font-family:Lora;font-style:italic;text-align:center}.iconbtn{width:35px;height:35px;border:none;background:transparent;border-radius:6.25px;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;font-size:18.75px}.iconbtn:hover{background:#1b1b1b0d;color:var(--ink)}.iconbtn--active{background:var(--ocean);color:var(--ink)}.iconbtn--active:hover{background:var(--ocean);filter:brightness(95%)}.item-panel{background:var(--beige);border-left:3.75px solid var(--ocean);border-top:1.25px solid var(--rule);border-radius:0;padding:17.5px 22.5px 10px 62.5px;margin:-1.25px -22.5px 12.5px}.panel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12.5px 20px}.panel-field{display:flex;flex-direction:column;gap:5px}.panel-field label{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:500}.panel-field input{font-family:Poppins;font-size:16.25px;border:1.25px solid var(--rule);background:var(--white);padding:7.5px 11.25px;border-radius:5px;color:var(--ink)}.panel-field input:focus{outline:none;border-color:var(--ocean)}.panel-actions{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:12.5px;border-top:1.25px solid var(--rule-soft)}.panel-delete{background:transparent;border:none;color:var(--terracotta);font-size:15px;padding:5px 10px;border-radius:5px;display:inline-flex;align-items:center;gap:5px}.panel-delete:hover{background:#cc7d4514}.panel-close{background:transparent;border:none;color:var(--ink-soft);font-size:13.75px}.notes-panel textarea{width:100%;min-height:87.5px;font-family:Lora;font-style:italic;font-size:16.25px;line-height:1.55;border:1.25px solid var(--rule);background:var(--white);padding:12.5px 15px;border-radius:5px;color:var(--ink-darker);resize:vertical}.notes-panel textarea:focus{outline:none;border-color:var(--ocean)}.color-dot-btn{position:relative;padding:0;border:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;box-shadow:0 0 0 0 var(--rule);transition:box-shadow .12s ease}.color-dot-btn:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%}.color-dot-btn:hover,.color-dot-btn.open{box-shadow:0 0 0 3px var(--rule)}.color-picker-pop{position:fixed;width:max-content;background:var(--white);border:1.25px solid var(--rule);border-radius:10px;padding:11px;box-shadow:0 7.5px 22.5px #1b1b1b1f;z-index:200}.cp-caret{position:absolute;width:12px;height:12px;margin-left:-6px;background:var(--white);border-left:1.25px solid var(--rule);border-top:1.25px solid var(--rule)}.color-picker-pop.below .cp-caret{top:-6.5px;transform:rotate(45deg)}.color-picker-pop.above .cp-caret{bottom:-6.5px;transform:rotate(225deg)}.swatch-grid{display:grid;grid-template-columns:repeat(4,21px);gap:7px}.cp-divider{border:0;border-top:1px solid var(--rule-soft);margin:9px 0}.swatch{width:21px;height:21px;border-radius:50%;border:1.25px solid rgba(27,27,27,.12);padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:transform .1s ease,box-shadow .1s ease}.swatch:hover{transform:scale(1.12)}.swatch.selected{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--ink-soft)}.drawer{background:var(--beige);border-left:3.75px solid var(--ocean);border-top:1.25px solid var(--rule);border-radius:0;padding:17.5px 22.5px 10px;margin:-1.25px -22.5px 12.5px}.drawer details{margin:0;padding:0}.drawer details+details{border-top:1.25px solid rgba(27,27,27,.05)}.drawer details>summary{list-style:none;cursor:pointer;padding:12.5px 5px;display:flex;align-items:center;gap:15px;-webkit-user-select:none;user-select:none;border-radius:7.5px}.drawer details>summary:hover{background:#1b1b1b05}.drawer details>summary::-webkit-details-marker{display:none}.drawer details>summary::marker{display:none}.section-toggle{width:25px;height:25px;border-radius:50%;background:transparent;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s ease,transform .2s ease}.section-toggle .ti{font-size:13.75px;line-height:1}.drawer details>summary:hover .section-toggle{color:var(--ink)}.drawer details[open]>summary .section-toggle{transform:rotate(45deg)}.sec-name{font-size:16.25px;font-weight:500;color:var(--ink)}.sec-summary{margin-left:auto;font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:15px}.drawer details[open]>summary .sec-summary{display:none}.sec-summary.empty{color:var(--ink-faint)}.sec-body{padding:2px 5px 16px 33px}.duration-selector{display:inline-flex;align-items:center;gap:4px;background-color:var(--mist);border-radius:7px;padding:3px;height:39px;width:fit-content;white-space:nowrap}.drawer .major-divider{height:0;border:0;border-top:1.25px solid var(--rule);margin:0 -10px}.drawer .field-label{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:500;display:block;margin-bottom:6.25px}.input{font-family:Poppins;font-size:16.25px;border:1.25px solid var(--rule);background:var(--white);padding:10px 12.5px;border-radius:6.25px;color:var(--ink);width:100%}.input:focus{outline:none;border-color:var(--ocean)}.input.muted{color:var(--ink-soft)}.input.num{text-align:center;font-variant-numeric:tabular-nums}.input.with-caret{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3e%3cpath d='M1 1l3 3 3-3' stroke='%237B7A78' fill='none' stroke-linecap='round'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12.5px center;padding-right:32.5px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.lpb-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12.5px}.length-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.length-row .input{width:auto}.length-row .num-input{width:90px}.length-row .unit-input{width:155px}.length-row .month-input{width:84px}.length-row .joiner{color:var(--ink-soft);font-family:Lora;font-style:italic;font-size:17.5px;padding:0 2.5px}.length-row .day-input{width:56px}.pace-footnote{margin-top:15px;font-family:Lora;font-style:italic;font-size:15px;color:var(--ink-soft);padding-left:2.5px}.pace-footnote .num{font-family:Poppins;font-style:normal;color:var(--ink-darker);font-weight:500}.pace-footnote .sep{margin:0 7.5px;color:var(--ink-faint)}.sec-hint{font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:13.75px;margin:0 0 12.5px}.month-grid{display:grid;grid-template-columns:110px 1fr;row-gap:5px;column-gap:17.5px;align-items:center;max-width:400px}.month-grid .m-name{font-size:16.25px;color:var(--ink-darker);padding:3.75px 0}.month-grid .m-name.current{color:var(--ink);font-weight:500}.month-grid .m-name.current:before{content:"◆";color:var(--terracotta);font-size:10px;margin-right:7.5px;margin-left:-18px;vertical-align:1px}.month-grid .m-name.orphan{font-style:italic;color:var(--ink-soft);font-size:15px}.month-grid .m-input{width:87.5px;font-size:16.25px;text-align:center;font-variant-numeric:tabular-nums;border:1.25px solid var(--rule);background:var(--white);padding:6.25px 10px;border-radius:6.25px;font-family:Poppins;color:var(--ink)}.month-grid .m-input:focus{outline:none;border-color:var(--ocean)}.month-grid .m-input.empty{background:#ffffff80}.month-grid .m-input::placeholder{color:var(--ink-faint)}.month-divider{grid-column:1 / -1;height:1.25px;background:var(--rule-soft);margin:7.5px 0 5px}.month-total{grid-column:1 / -1;display:flex;justify-content:space-between;font-size:15px;color:var(--ink-darker);padding:5px 0 0}.month-total .left{font-family:Lora;font-style:italic;color:var(--ink-soft)}.month-total .right{font-variant-numeric:tabular-nums;font-weight:500}.drawer-footer{display:flex;justify-content:space-between;align-items:center;margin-top:0;padding:12.5px 5px 5px;border-top:1.25px solid var(--rule-soft);gap:20px}.footer-left{display:inline-flex;align-items:center;gap:20px}.subject-link{background:transparent;border:none;font-family:Poppins;font-size:15px;color:var(--ink-darker);cursor:pointer;padding:3.75px 4px;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.subject-link:hover{color:var(--ink);text-decoration-color:var(--ink-soft)}.add-item-btn{background:transparent;border:none;color:var(--ink-soft);font-size:15px;padding:8px 22.5px;margin-top:2px;display:inline-flex;align-items:center;gap:6.25px}.add-item-btn:hover{color:var(--ink)}.add-subject-btn{display:block;width:100%;background:transparent;border:1.25px dashed rgba(27,27,27,.18);border-radius:10px;padding:17.5px;color:var(--ink-soft);font-size:16.25px;margin-top:10px}.add-subject-btn:hover{background:var(--plaster);color:var(--ink)}.add-subject-form{display:flex;gap:7.5px;margin-top:10px}.add-subject-form input{flex:1;font-family:Poppins;font-size:17.5px;padding:12.5px 17.5px;border:1.25px solid var(--rule);border-radius:7.5px;background:var(--white)}.add-subject-form input:focus{outline:none;border-color:var(--ocean)}.add-subject-form button{padding:0 17.5px;border:1.25px solid var(--rule);background:var(--ocean);color:var(--ink);border-radius:7.5px;font-size:16.25px}.add-subject-form .cancel{background:var(--white);color:var(--ink-soft)}.subject-empty{font-family:Lora;font-style:italic;font-size:15px;color:var(--ink-soft);padding:12.5px 5px}.totals{margin-top:37.5px;padding-top:27.5px;border-top:1.25px solid var(--rule-soft);display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--ink-soft);flex-wrap:wrap;gap:15px}.totals strong{color:var(--ink);font-weight:500}.totals-budgets{display:flex;gap:20px;flex-wrap:wrap}.totals-budget{display:inline-flex;align-items:center;gap:6.25px}.save-indicator{position:fixed;bottom:22.5px;right:22.5px;background:var(--white);border:1.25px solid var(--rule);border-radius:1248.75px;padding:7.5px 15px;font-size:13.75px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:6.25px;opacity:0;pointer-events:none}.save-indicator.show{opacity:1}.save-indicator .ti{font-size:15px;color:var(--owned, #88B086)}.week-header{position:relative;display:flex;justify-content:flex-start;align-items:center;margin-bottom:22.5px}.week-header h2{font-size:25px;display:inline-flex;align-items:center;gap:10px}.week-header .week-meta{font-size:17.5px;color:var(--ink);font-variant-numeric:tabular-nums;min-width:150px;text-align:center}.week-nav-icon{color:var(--ink-soft);font-size:25px;margin-right:2.5px}.week-title{font-family:Lora;font-size:25px;color:var(--ink);display:inline-flex;align-items:center;gap:10px;padding:2.5px 7.5px;margin-left:-7.5px}.week-title>.ti:first-child{color:var(--ink-soft);font-size:25px}.week-title-caret{font-size:15px;color:var(--ink-soft)}.week-title.is-other{color:var(--terracotta)}.week-meta-btn{background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:7px;font-family:Poppins}.week-meta-btn:hover{background:var(--plaster);color:var(--ink)}.week-meta-btn.is-other{color:var(--terracotta)}.week-meta-btn.open{background:var(--beige);color:var(--ink)}.week-meta-btn .week-title-caret{transition:transform .15s ease}.week-meta-btn.open .week-title-caret{transform:rotate(180deg)}.month-pop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.month-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:61;width:300px;background:var(--white);border:1.25px solid var(--rule);border-radius:12px;box-shadow:0 12px 32px #1b1b1b29;padding:12px}.month-pop-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.month-pop-title{font-family:Lora;font-size:16px;color:var(--ink)}.month-nav-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;font-size:16px}.month-nav-btn:hover{background:var(--plaster);color:var(--ink)}.month-pop-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.month-dow{text-align:center;font-size:11px;color:var(--ink-faint);padding-bottom:4px;font-weight:500}.month-cell{position:relative;aspect-ratio:1 / 1;border:none;background:transparent;cursor:pointer;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}.month-cell:hover{background:var(--plaster)}.month-cell.out-month{color:var(--ink-faint)}.month-cell.in-week{background:var(--beige)}.month-cell.today{box-shadow:inset 0 0 0 1.5px var(--ocean);font-weight:600}.month-cell-num{line-height:1}.month-cell-dot{width:5px;height:5px;border-radius:50%;background:var(--ink);margin-top:3px}.month-pop-foot{margin-top:10px;text-align:center}.month-jump{background:transparent;border:none;cursor:pointer;color:var(--ink-soft);font-size:13px;display:inline-flex;align-items:center;gap:6px}.month-jump:hover{color:var(--ink);text-decoration:underline}.week-nav{display:inline-flex;align-items:center;gap:7.5px}.week-nav-btn{width:30px;height:30px;border:1.25px solid var(--rule);background:var(--white);color:var(--ink-soft);border-radius:6.25px;display:inline-flex;align-items:center;justify-content:center;font-size:16.25px;cursor:pointer}.week-nav-btn:hover{background:var(--plaster);color:var(--ink)}.week-today-btn{border:1.25px solid var(--rule);background:var(--white);color:var(--ink-darker);font-size:13.75px;cursor:pointer;padding:6.25px 12.5px;border-radius:6.25px;white-space:nowrap;margin-right:2.5px}.week-today-btn:hover{background:var(--plaster);color:var(--ink)}.week-date-input{position:absolute;left:0;bottom:-4px;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.week-calendar{background:var(--white);border:1.25px solid rgba(27,27,27,.08);border-radius:12.5px;padding:22.5px;margin-bottom:22.5px;overflow:hidden}.wg-headrow{display:grid;grid-template-columns:70px repeat(5,1fr);column-gap:2.5px}.wg-day-header{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);text-align:center;padding-bottom:5px;align-self:end}.wg-day-header .day-num{display:block;font-size:17.5px;font-family:Lora;color:var(--ink);letter-spacing:0;text-transform:none;margin-top:2.5px}.wg-day-header.today .day-num{color:var(--terracotta);font-weight:500}.wg-timed{display:grid;grid-template-columns:70px repeat(5,1fr);grid-template-rows:100%;column-gap:2.5px;position:relative}.wg-axis{position:relative}.wg-axis-mark{position:absolute;right:10px;font-size:12.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.wg-daycol{position:relative;display:flex;flex-direction:column;gap:2.5px}.wg-cell{flex:0 0 auto;height:32.5px;background:var(--cream);border-radius:4px}.wg-event{position:absolute;left:0;right:0;border-radius:5px;padding:4px 8px;font-size:12.5px;font-weight:500;color:var(--ink-darker);overflow:hidden;line-height:1.25;z-index:1}.wg-event-avatars{position:absolute;top:3px;right:3px;display:inline-flex;align-items:center;pointer-events:none}.wg-event-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--white);font-family:Poppins;font-weight:600;line-height:1;box-sizing:border-box}.wg-event-avatar+.wg-event-avatar{margin-left:-4px}.wg-task-avatars{display:inline-flex;align-items:center;flex-shrink:0;margin-right:4px}.wg-task-avatar{width:15px;height:15px;font-size:8px}.wg-event-time{font-size:11.25px;opacity:.7;font-weight:400;display:block;margin-top:1px}.wg-event--freeform{color:var(--ink-darker)}.wg-empty{grid-column:1 / -1;text-align:center;color:var(--ink-faint);font-family:Lora;font-style:italic;font-size:15px;padding:37.5px 22.5px}.wg-task-divider{display:grid;grid-template-columns:70px 1fr;align-items:center;border-top:1px solid var(--rule);margin:12.5px -22.5px 0;padding:10px 22.5px 6px;background:#fcfcfb}.wg-task-divider-label{text-align:right;padding-right:10px;font-family:Lora;font-style:italic;font-size:13px;color:var(--ink-soft)}.wg-task-zone{display:grid;grid-template-columns:70px repeat(5,1fr);column-gap:2.5px;margin:0 -22.5px -22.5px;padding:0 22.5px 12px;background:#fcfcfb}.wg-task-col{padding:4px 5px 8px;min-height:60px;border-left:1px solid var(--rule)}.wg-task-col.today{background:#cc7d4506}.wg-task{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:5px;border-left:2.5px solid var(--mist);border-radius:0 5px 5px 0;font-size:12.5px;line-height:1.3;color:var(--ink-darker)}.wg-task-name{flex:1}.wg-task-check{width:18px;height:18px;flex-shrink:0;border:1.5px solid var(--ink-soft);border-radius:4px;background:var(--white);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);font-size:13px;padding:0}.wg-task-check:hover{border-color:var(--ink-darker)}.wg-task-check.checked{background:var(--ocean);border-color:var(--ocean)}.wg-task.done{opacity:.55}.wg-task.done .wg-task-name{text-decoration:line-through}.wg-weekly-zone{display:flex;flex-wrap:wrap;gap:6px;margin:0 -22.5px -22.5px;padding:8px 22.5px 14px;background:#fcfcfb}.wg-weekly-card{display:flex;align-items:center;gap:8px;padding:7px 12px;border-left:2.5px solid var(--mist);border-radius:0 6px 6px 0;font-size:13px;line-height:1.3;color:var(--ink-darker);min-width:160px}.wg-weekly-card.done{opacity:.55}.wg-weekly-card.done .wg-task-name{text-decoration:line-through}.wt-list{display:flex;flex-direction:column;gap:6px}.wt-list .wg-weekly-card{width:100%}.config-section{background:var(--white);border:1.25px solid rgba(27,27,27,.08);border-radius:12.5px;overflow:hidden}.config-head{display:flex;justify-content:space-between;align-items:center;padding:17.5px 22.5px;cursor:pointer;-webkit-user-select:none;user-select:none;column-gap:18px}.config-head:hover{background:var(--cream)}.config-head h3{display:inline-flex;align-items:center;gap:10px;font-size:20px}.config-head .config-count{font-size:15px;color:var(--ink-soft);margin-left:7.5px}.config-body{border-top:1.25px solid var(--rule-soft);padding:10px 22.5px 17.5px}.schedule-row{display:grid;grid-template-columns:12.5px 1fr auto auto auto auto 37.5px;gap:12.5px;align-items:center;padding:11.25px 0;border-bottom:1.25px solid var(--rule-faint)}.sr-line1,.sr-line2{display:contents}.kind-toggle{display:inline-flex;gap:2px;background:var(--white);border:1.25px solid var(--rule);border-radius:7px;padding:2px}.kind-opt{width:28px;height:26px;border:none;background:transparent;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-faint);font-size:15px;transition:background .15s ease,color .15s ease}.kind-opt:hover{background:var(--plaster);color:var(--ink-darker)}.kind-opt.active{background:var(--beige);color:var(--ink)}.weekly-note{font-family:Lora;font-style:italic;font-size:13.75px;color:var(--ink-soft);justify-self:center}.schedule-cell-empty{display:inline-block}.unique-week-btn{display:inline-flex;align-items:center;gap:6px;font-family:Poppins;font-size:13.75px;color:var(--ink-soft);background:var(--white);border:1.25px solid var(--rule);border-radius:1248.75px;padding:5px 13px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.unique-week-btn:hover{background:var(--plaster);color:var(--ink)}.unique-week-btn .ti{font-size:15px}.unique-week-btn.active{color:var(--terracotta);border-color:#cc7d4566;background:#cc7d450f;cursor:default}.unique-week-btn.active:hover{background:#cc7d450f;color:var(--terracotta)}.schedule-row:last-of-type{border-bottom:none}.schedule-row:hover{background:#1b1b1b03}.schedule-dot{display:inline-block;width:8.75px;height:8.75px;border-radius:50%}.schedule-name{font-size:16.25px;color:var(--ink)}.schedule-name .name-tag{font-size:12.5px;color:var(--ink-soft);margin-left:7.5px;padding:1.25px 7.5px;background:var(--lighter-grey);border-radius:1248.75px;font-style:italic;font-family:Lora}.schedule-name .task-tag{background:#eac8ac4d;color:var(--ink-darker)}.day-toggles{display:inline-flex;gap:3.75px}.day-toggle{width:30px;height:30px;border:1.25px solid var(--rule);background:var(--white);color:var(--ink-faint);font-size:12.5px;font-weight:500;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:Poppins}.day-toggle:hover{background:var(--plaster)}.day-toggle.active{border-color:transparent;color:var(--ink-darker)}.schedule-time{font-family:Poppins;font-size:15px;border:none;background:transparent;padding:5px 7.5px;border-radius:5px;color:var(--ink-darker);width:100%;font-variant-numeric:tabular-nums}.schedule-time:hover{background:#1b1b1b08}.schedule-time:focus{background:var(--beige);outline:none}.schedule-time::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.schedule-time-cluster{display:inline-flex;align-items:center;gap:4px}.schedule-time-cluster .schedule-time{flex:0 0 auto;width:auto;cursor:pointer}.schedule-time.is-task{color:var(--ink-faint);font-style:italic}.time-clock-btn{flex-shrink:0;width:28px;height:28px;border:none;background:transparent;padding:0;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:15px;transition:background .15s ease,color .15s ease}.time-clock-btn:hover{background:var(--sky-gray);color:var(--ink-darker)}.time-clock-btn.is-task{color:var(--ink-darker)}.schedule-duration{display:inline-flex;align-items:center;gap:5px}.schedule-duration input{width:52.5px;text-align:center;font-family:Poppins;font-size:15px;border:none;background:transparent;padding:5px;border-radius:5px;color:var(--ink-darker);font-variant-numeric:tabular-nums}.schedule-duration input::-webkit-inner-spin-button,.schedule-duration input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.schedule-duration input:hover{background:#1b1b1b08}.schedule-duration input:focus{background:var(--beige);outline:none}.schedule-duration .unit{font-size:12.5px;color:var(--ink-soft)}.add-schedule-zone{padding:10px 0 5px}.add-schedule-btn{background:transparent;border:none;color:var(--ink-soft);font-size:15px;padding:7.5px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6.25px}.add-schedule-btn:hover{color:var(--ink)}.add-schedule-form{background:var(--beige);border-radius:7.5px;padding:15px 17.5px;margin-top:7.5px}.add-schedule-form .form-row{display:flex;gap:7.5px;align-items:center}.add-schedule-form input[type=text]{flex:1;font-family:Poppins;font-size:16.25px;padding:8.75px 12.5px;border:1.25px solid var(--rule);border-radius:5px;background:var(--white)}.add-schedule-form input[type=text]:focus{outline:none;border-color:var(--ocean)}.add-schedule-form .form-btn{padding:8.75px 15px;border:1.25px solid var(--rule);background:var(--ocean);color:var(--ink);border-radius:5px;font-size:15px;cursor:pointer}.add-schedule-form .form-btn.cancel{background:var(--white);color:var(--ink-soft)}.add-schedule-form .suggestions{margin-top:12.5px;display:flex;flex-direction:column;gap:2.5px}.add-schedule-form .sugg-label{font-size:12.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin:5px 0 2.5px}.add-schedule-form .sugg{display:flex;justify-content:space-between;align-items:center;padding:7.5px 10px;border-radius:5px;cursor:pointer;font-size:15px}.add-schedule-form .sugg:hover{background:#b4c7c12e}.add-schedule-form .sugg .sugg-name{display:inline-flex;align-items:center;gap:7.5px}.add-schedule-form .sugg-dot{display:inline-block;width:8.75px;height:8.75px;border-radius:50%}.add-schedule-form .sugg-meta{font-size:12.5px;color:var(--ink-soft)}#events-config-section{margin-top:22.5px}.event-row{display:flex;align-items:center;gap:12.5px;padding:11.25px 0;border-bottom:1.25px solid var(--rule-faint)}.event-row:last-of-type{border-bottom:none}.event-delete:hover{background:#cc7d451a;color:var(--terracotta)}.event-name{flex:0 0 220px;width:220px;font-family:Poppins;font-size:16.25px;color:var(--ink);border:none;background:transparent;padding:4px 6px;border-radius:5px}.event-actions{flex:0 0 84px;display:inline-flex;align-items:center;justify-content:flex-end;gap:7.5px}.event-name:hover{background:#1b1b1b08}.event-name:focus{outline:none;background:var(--beige)}.event-name::placeholder{color:var(--ink-faint);font-style:italic;font-family:Lora}.dates-trigger{flex:1;background:transparent;border:none;text-align:left;font-family:Poppins;font-size:14px;color:var(--ink-darker);padding:6px 9px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}.dates-trigger:hover{background:#1b1b1b08;color:var(--ink)}.dates-trigger.active{background:#1b1b1b0a;color:var(--ink)}.dates-trigger .ti-calendar-event{color:var(--ink-soft);font-size:16px}.dates-trigger .more{color:var(--ink-soft);font-family:Lora;font-style:italic;font-size:13px}.events-drawer .date-list,.events-drawer .actions-row{margin-left:0}.drawer-heading{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:500;margin:0 0 10px}.date-list{display:flex;flex-direction:column;gap:1px;margin-bottom:12px;max-height:380px;overflow-y:auto;padding-right:4px}.date-item{display:grid;grid-template-columns:12px 150px 48px 22px;gap:10px;align-items:center;justify-content:start;padding:5px 6px 5px 10px;border-radius:5px;font-size:14px;color:var(--ink-darker);font-variant-numeric:tabular-nums}.date-item:hover{background:#1b1b1b06}.date-item .ti-point-filled{font-size:9px;color:var(--storm)}.date-item .day{font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:13px}.date-item .remove{background:transparent;border:none;color:var(--ink-faint);width:22px;height:22px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.date-item .remove:hover{background:#1b1b1b14;color:var(--ink-darker)}.date-list-empty{padding:14px 8px;font-family:Lora;font-style:italic;color:var(--ink-faint);font-size:14px}.actions-row{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:4px}.add-single-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px}.single-picker{display:inline-flex;align-items:center;gap:10px}.single-picker input[type=date]{font-family:Poppins;font-size:13px;background:var(--white);border:1px solid var(--rule);padding:5px 10px;border-radius:5px;color:var(--ink);outline:none;font-variant-numeric:tabular-nums}.single-picker input[type=date]:focus{border-color:var(--ink-soft)}.single-hint{font-family:Lora;font-style:italic;font-size:12px;color:var(--ink-faint)}.add-single-btn{display:inline-flex;align-items:center;gap:6px;background:var(--white);border:1px dashed var(--rule);border-radius:5px;padding:6px 12px;color:var(--ink-soft);font-family:Poppins;font-size:13px;cursor:pointer}.add-single-btn:hover{border-color:var(--ink-soft);color:var(--ink-darker)}.add-single-btn.ready{background:var(--ocean);border-color:transparent;border-style:solid;color:var(--ink);font-weight:500}.add-single-btn.ready:hover{filter:brightness(96%)}.clear-btn{background:var(--white);border:1px dashed var(--rule);color:var(--ink-soft);font-family:Poppins;font-size:13px;padding:6px 12px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.clear-btn:hover{border-color:var(--terracotta);color:var(--terracotta)}.clear-btn .ti{font-size:14px}.gen-divider{border:0;border-top:1px solid var(--rule-soft);margin:16px -4px 14px}.gen-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:500;margin-bottom:10px}.gen-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.gen-row .word{font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:14px}.gen-input{font-family:Poppins;font-size:14px;background:var(--white);border:1px solid var(--rule);padding:6px 10px;border-radius:5px;color:var(--ink);outline:none}.gen-input:focus{border-color:var(--ink-soft)}.gen-input.num{width:60px;text-align:center;font-variant-numeric:tabular-nums}.gen-input.unit{width:96px}.gen-input.dow{width:76px}.gen-input.date{width:160px;font-variant-numeric:tabular-nums}.gen-add-btn{background:var(--ocean);border:none;color:var(--ink);font-family:Poppins;font-size:13px;padding:8px 16px;border-radius:5px;cursor:pointer;margin-top:8px;font-weight:500}.gen-add-btn:hover{filter:brightness(96%)}.gen-add-btn:disabled{background:var(--rule);color:var(--ink-faint);cursor:not-allowed}.rl-section{background:var(--white);border:1.25px solid rgba(27,27,27,.08);border-radius:12.5px;padding:22.5px 27.5px;margin-bottom:22.5px}#add-subject-zone+.rl-section{margin-top:30px}.rl-section.collapsed{padding:15px 27.5px}.rl-section.collapsed .rl-head{margin-bottom:0}.rl-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;cursor:pointer;-webkit-user-select:none;user-select:none}.rl-head>.rl-chevron{color:var(--ink-soft);font-size:20px;flex:0 0 auto}.rl-headinner{flex:1;display:flex;justify-content:space-between;align-items:center;gap:10px}.rl-head h2{display:inline-flex;align-items:center;gap:10px;font-size:22.5px}.rl-head h2 .ti{color:var(--ink-soft);font-size:20px}.rl-head .rl-count{font-size:15px;color:var(--ink-soft);margin-left:7.5px}.rl-head .rl-side{font-size:15px;color:var(--ink-soft)}.rl-list{list-style:none;padding:0;margin:0}.rl-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8.75px 5px;border-bottom:1.25px solid var(--rule-faint);font-size:16.25px}.rl-row:last-child{border-bottom:none}.rl-row:hover{background:#1b1b1b03}.rl-title{flex:1;font-family:Lora;font-style:italic;color:var(--ink-darker);font-size:17.5px}.rl-empty{padding:15px 5px;color:var(--ink-faint);font-family:Lora;font-style:italic;font-size:16.25px}.rl-add-row{margin-top:7.5px;padding-top:10px;border-top:1.25px solid var(--rule-soft)}.rl-add-input{width:100%;font-family:Lora;font-style:italic;font-size:16.25px;border:none;background:transparent;padding:8.75px 7.5px;color:var(--ink);border-radius:5px}.rl-add-input::placeholder{color:var(--ink-faint)}.rl-add-input:focus{outline:none;background:var(--beige)}.rl-status{flex:0 0 auto;font-size:13.75px;color:var(--ink-darker);margin-right:4px;background-color:var(--beige);border:1.25px solid var(--rule);border-radius:999px;padding:4px 26px 4px 12px;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3e%3cpath d='M1 1l3 3 3-3' stroke='%237B7A78' fill='none' stroke-linecap='round'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center}.rl-status:hover{background-color:var(--lighter-grey);border-color:var(--light-grey)}.rl-status:focus{background-color:var(--beige);border-color:var(--storm)}.rl-row.read .rl-title,.rl-row.read .rl-status{color:var(--ink-faint)}.rl-backlink{margin:12.5px 0 0;padding-top:12.5px;border-top:1.25px solid var(--rule-soft);font-size:13.75px;color:var(--ink-soft);line-height:1.5}.rl-backlink em{font-family:Lora;font-style:italic;color:var(--ink-darker)}.rl-backlink-btn{background:none;border:none;padding:0;font-family:Poppins;font-size:13.75px;color:var(--storm);cursor:pointer}.rl-backlink-btn:hover{color:var(--ink);text-decoration:underline}.chores-grid{display:grid;grid-template-columns:1fr repeat(5,50px) 35px;gap:6.25px;align-items:center;padding:7.5px 0}.chore-day-header{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);text-align:center;font-weight:500;padding-bottom:5px}.chore-name-cell{font-size:16.25px;color:var(--ink-darker);padding:7.5px 5px}.chore-check{width:37.5px;height:37.5px;border:1.875px solid var(--rule);background:var(--white);border-radius:6.25px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);font-size:22.5px;padding:0;justify-self:center}.chore-check:hover{background:var(--plaster);border-color:var(--ink-soft)}.chore-check.checked{background:var(--ocean);border-color:var(--ocean)}.chore-empty-row{grid-column:1 / -1;text-align:center;padding:17.5px;color:var(--ink-faint);font-family:Lora;font-style:italic;font-size:16.25px}.chore-add-row{margin-top:7.5px;padding-top:10px;border-top:1.25px solid var(--rule-soft)}.chore-add-input{width:100%;font-family:Poppins;font-size:16.25px;border:none;background:transparent;padding:8.75px 7.5px;color:var(--ink);border-radius:5px}.chore-add-input::placeholder{color:var(--ink-faint);font-style:italic;font-family:Lora}.chore-add-input:focus{outline:none;background:var(--beige)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b1b1b52;display:grid;place-items:start center;padding:60px 20px;z-index:200;overflow-y:auto}.modal-card{background:var(--white);border-radius:12.5px;border:1.25px solid var(--rule);box-shadow:0 15px 45px #1b1b1b2e;width:100%;max-width:540px;padding:22.5px 25px 20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.modal-head h3{display:inline-flex;align-items:center;gap:10px;font-size:22.5px}.modal-head h3 .ti{color:var(--ink-soft);font-size:20px}.modal-close{width:32.5px;height:32.5px;border:none;background:transparent;color:var(--ink-soft);border-radius:6.25px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.modal-close:hover{background:var(--plaster);color:var(--ink)}.holiday-hint,.holiday-empty p{font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:15px;margin:0 0 15px}.holiday-hint em{color:var(--ink-darker);font-style:italic}.holiday-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:10px 0 5px}.form-btn{padding:10px 17.5px;border:1.25px solid var(--rule);background:var(--ocean);color:var(--ink);border-radius:7.5px;font-size:16.25px;cursor:pointer;display:inline-flex;align-items:center;gap:7.5px;font-family:Poppins}.form-btn:hover{filter:brightness(96%)}.holiday-list{display:flex;flex-direction:column}.holiday-card{max-width:680px}.holiday-row{display:grid;grid-template-columns:1fr 140px 140px 154px 34px;gap:10px;align-items:center;padding:6.25px 0}.holiday-row--head{font-size:11.25px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);padding-bottom:2.5px;border-bottom:1.25px solid var(--rule-soft)}.holiday-row .input{font-family:Poppins;font-size:15px;border:1.25px solid var(--rule);background:var(--white);padding:8px 10px;border-radius:6.25px;color:var(--ink);width:100%}.holiday-row .input:focus{outline:none;border-color:var(--ocean)}.when-toggle{display:inline-flex;border:1.25px solid var(--rule);border-radius:7px;overflow:hidden;background:var(--white)}.when-opt{flex:1;border:none;background:transparent;font-family:Poppins;font-size:13px;padding:7px 8px;cursor:pointer;color:var(--ink-soft);white-space:nowrap}.when-opt+.when-opt{border-left:1.25px solid var(--rule)}.when-opt:hover{background:#1b1b1b08}.when-opt.on{background:var(--ocean);color:var(--ink);font-weight:500}.when-opt--off.on{background:var(--terracotta);color:var(--white)}.holiday-delete{width:32.5px;height:32.5px;justify-self:center;border:none;background:transparent;color:var(--ink-soft);border-radius:6.25px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16.25px}.holiday-delete:hover{background:#cc7d451a;color:var(--terracotta)}.modal-foot{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:12.5px;border-top:1.25px solid var(--rule-soft)}.add-row-btn{background:transparent;border:none;color:var(--ink-soft);font-size:15px;cursor:pointer;display:inline-flex;align-items:center;gap:6.25px;padding:5px 0}.add-row-btn:hover{color:var(--ink)}.reset-link{background:transparent;border:none;color:var(--ink-soft);font-size:13.75px;cursor:pointer;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}.reset-link:hover{color:var(--ink)}.wg-day-header .wg-holiday{display:block;margin-top:3.75px;min-height:13px;font-size:10px;line-height:13px;letter-spacing:0;text-transform:none;color:var(--terracotta);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wg-schedule{position:relative}.wg-holiday-overlay{position:absolute;top:0;right:0;bottom:20px;left:0;display:grid;grid-template-columns:70px repeat(5,1fr);column-gap:2.5px;pointer-events:none;z-index:30}.wg-holiday-band{grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6.25px;padding:30px 12px;background:var(--beige);border-radius:5px;overflow:hidden}.wg-holiday-band .ti{font-size:32.5px;color:var(--terracotta)}.wg-holiday-band-name{font-family:Lora;font-size:20px;color:var(--ink);line-height:1.2}.wg-holiday-band-sub{font-size:13px;color:var(--ink-soft)}.wg-blackout{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 22.5px;background:var(--beige);border-radius:10px;gap:6.25px}.wg-blackout .ti{font-size:32.5px;color:var(--terracotta)}.wg-blackout-name{font-family:Lora;font-size:22.5px;color:var(--ink)}.wg-blackout-sub{font-size:15px;color:var(--ink-soft)}.rhythm-blackout{display:flex;align-items:center;gap:10px;background:#cc7d4514;border:1.25px solid rgba(204,125,69,.2);border-radius:8px;padding:11.25px 15px;margin-bottom:12.5px;font-size:15px;color:var(--ink-darker)}.rhythm-blackout .ti{color:var(--terracotta);font-size:18.75px}.rhythm-blackout strong{font-weight:500;color:var(--ink)}.rhythm-blackout-link{margin-left:auto;background:transparent;border:none;color:var(--terracotta);font-size:14px;cursor:pointer;text-decoration:underline;text-decoration-color:#cc7d4566;text-underline-offset:3px;white-space:nowrap}.rhythm-blackout-link:hover{text-decoration-color:var(--terracotta)}.rhythm-unique{background:#9db2ab2e;border-color:#9db2ab8c}.rhythm-unique .ti{color:var(--storm)}.rhythm-unique .rhythm-blackout-link{color:var(--storm);text-decoration-color:#9db2ab99}.rhythm-unique .rhythm-blackout-link:hover{text-decoration-color:var(--storm)}.wg-event--clickable{cursor:pointer}.wg-event--clickable:hover{filter:brightness(97%)}.wg-task--clickable{cursor:pointer}.wg-task--clickable:hover{filter:brightness(97%)}.info-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:7px;border-radius:50%;cursor:help;color:var(--terracotta);background:#cc7d451f;vertical-align:middle}.info-pill .ti{font-size:11px}.info-pill:hover{background:#cc7d4533}.info-pill .tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:8px 12px;border-radius:6px;font-size:11px;line-height:1.45;font-family:Poppins;font-style:normal;font-weight:400;width:220px;text-align:center;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:50}.info-pill .tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:var(--ink)}.info-pill:hover .tooltip,.info-pill:focus .tooltip{visibility:visible;opacity:1}.lesson-dot-static{flex-shrink:0}.event-name-static{display:inline-flex;align-items:center;color:var(--ink)}.lesson-plan-link{background:transparent;border:1.25px solid var(--rule);color:var(--ink-soft);font-size:13px;font-family:Poppins;padding:5px 10px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.lesson-plan-link:hover{background:var(--plaster);color:var(--ink)}.lesson-plan-link .ti{font-size:15px}.date-item--lesson{gap:8px}.lesson-date-title{flex:1;color:var(--ink-darker)}.lesson-date-edit{font-family:Poppins;font-size:13px;background:var(--white);border:1.25px solid var(--rule);padding:4px 8px;border-radius:5px;color:var(--ink);font-variant-numeric:tabular-nums}.lesson-date-edit:focus{outline:none;border-color:var(--ocean)}.lesson-open-btn{background:transparent;border:none;color:var(--ink-soft);width:24px;height:24px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.lesson-open-btn:hover{background:var(--plaster);color:var(--ink)}.wg-task--lesson{width:100%;text-align:left;cursor:pointer;border:none;border-left:3px solid;font:inherit}.wg-task--lesson:hover{filter:brightness(97%)}.wg-lesson-sub{display:block;font-family:Lora;font-style:italic;font-size:11px;color:var(--ink-soft);margin-top:1px}.wg-lesson-icon{color:var(--ink-soft);font-size:14px;flex-shrink:0}.lesson-modal{max-width:760px;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:86vh}.lesson-head{display:flex;align-items:center;padding:16px 22px 14px;border-bottom:1.25px solid var(--rule-soft)}.lesson-head__title{flex:1;display:inline-flex;align-items:baseline;gap:10px}.lesson-dot{width:9px;height:9px;border-radius:50%;align-self:center;flex-shrink:0}.lesson-name{font-size:17px;font-weight:500;color:var(--ink)}.lesson-sub{font-family:Lora;font-style:italic;font-size:13px;color:var(--ink-soft)}.lesson-tabs{display:flex;align-items:stretch;border-bottom:1.25px solid var(--rule);padding:0 14px;overflow-x:auto;background:#1b1b1b04}.lesson-tab{padding:11px 16px 12px;font-family:Poppins;font-size:13px;color:var(--ink-soft);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;background:transparent;display:inline-flex;align-items:center;gap:6px}.lesson-tab:hover{color:var(--ink-darker);background:#1b1b1b06}.lesson-tab.active{color:var(--ink);border-bottom-color:var(--ocean);font-weight:500;background:var(--white)}.lesson-tab__dated{font-size:12px;color:var(--ink-faint)}.lesson-tab-add{padding:8px 12px;margin-bottom:-1px;color:var(--ink-soft);cursor:pointer;background:transparent;border:none;display:inline-flex;align-items:center;border-radius:4px}.lesson-tab-add:hover{background:#1b1b1b0a;color:var(--ink-darker)}.lesson-body{padding:22px 24px 18px;overflow-y:auto;flex:1}.lesson-empty{color:var(--ink-soft);font-family:Lora;font-style:italic;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.lesson-title-input{width:100%;border:none;background:transparent;font-family:Lora;font-size:22px;font-weight:400;color:var(--ink);padding:4px 0 8px;outline:none}.lesson-title-input::placeholder{color:var(--ink-faint);font-style:italic}.lesson-date-row{display:inline-flex;align-items:center;gap:8px;padding:4px 0 14px;flex-wrap:wrap}.lesson-date-native{position:absolute;width:0;height:0;padding:0;border:0;opacity:0;pointer-events:none}.date-set{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 8px;background:#b4c7c12e;border-radius:4px;font-size:13px;color:var(--ink-darker);font-variant-numeric:tabular-nums;cursor:pointer}.date-set:hover{background:#b4c7c14d}.date-set .ti-calendar-event{color:var(--ink-soft);font-size:14px}.date-set .dow{font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:12px;margin-left:4px}.date-set .clear-x{background:transparent;border:none;color:var(--ink-faint);width:18px;height:18px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:11px;margin-left:2px}.date-set .clear-x:hover{background:#1b1b1b14;color:var(--ink-darker)}.date-empty{display:inline-flex;align-items:center;gap:6px;background:var(--white);border:1px dashed var(--rule);border-radius:4px;padding:5px 12px;color:var(--ink-soft);font-family:Poppins;font-size:12px;cursor:pointer}.date-empty:hover{border-color:var(--ink-soft);color:var(--ink-darker)}.lesson-body .section-divider{height:0;border:0;border-top:1px solid var(--rule-soft);margin:4px -4px}.lesson-body .section-block{padding:14px 0 6px}.lesson-body .section-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:500;margin:0 0 8px}.lesson-notes{width:100%;min-height:90px;padding:10px 12px;background:#1b1b1b04;border:1px solid var(--rule-soft);border-radius:6px;font-family:Poppins;font-size:13px;color:var(--ink-darker);line-height:1.55;resize:none;outline:none;overflow:hidden}.lesson-notes:focus{border-color:var(--ocean);background:var(--white)}.lesson-notes::placeholder{color:var(--ink-faint);font-style:italic;font-family:Lora}.lesson-item-row{display:grid;grid-template-columns:10px 1fr 22px;gap:10px;align-items:center;padding:2px 4px 2px 8px;border-radius:4px;font-size:13px;color:var(--ink-darker)}.lesson-item-row .ti-point-filled{font-size:8px;color:var(--ink-soft)}.lesson-item-input{border:none;background:transparent;font-family:Poppins;font-size:13px;color:var(--ink-darker);outline:none;padding:4px 0}.lesson-item-input::placeholder{color:var(--ink-faint);font-style:italic}.lesson-item-row .remove{background:transparent;border:none;color:var(--ink-faint);width:20px;height:20px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:11px;opacity:0;transition:opacity .15s ease}.lesson-item-row:hover .remove{opacity:1}.lesson-item-row .remove:hover{background:#1b1b1b14;color:var(--ink-darker)}.lesson-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 22px 14px;border-top:1.25px solid var(--rule-soft);background:#1b1b1b04}.lesson-delete{background:transparent;border:none;color:var(--terracotta);font-size:12px;display:inline-flex;align-items:center;gap:4px;padding:4px 6px;cursor:pointer}.lesson-delete:hover{background:#cc7d4514;border-radius:4px}.save-indicator-inline{font-family:Lora;font-style:italic;font-size:11px;color:var(--ink-faint);display:inline-flex;align-items:center;gap:4px}.save-indicator-inline .ti{color:var(--ink-soft);font-size:11px}.welcome-backdrop{place-items:center}.welcome-modal{position:relative;background:var(--white);border-radius:16px;border:1.25px solid var(--rule);box-shadow:0 24px 64px #1b1b1b38;width:100%;max-width:760px;padding:38px 38px 34px}.welcome-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:transparent;color:var(--ink-faint);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px}.welcome-close:hover{background:var(--plaster);color:var(--ink)}.welcome-head{text-align:center;margin-bottom:28px}.welcome-brand{font-size:14px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:7px;margin-bottom:14px}.welcome-brand strong{color:var(--ink);font-weight:500}.welcome-head h2{font-family:Lora,Georgia,serif;font-weight:400;font-size:30px;margin:0 0 6px;color:var(--ink)}.welcome-head p{font-family:Lora;font-style:italic;font-size:16px;color:var(--ink-soft);margin:0}.welcome-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.welcome-options--2{grid-template-columns:repeat(2,1fr);max-width:520px;margin:0 auto}.welcome-options--1{grid-template-columns:1fr;max-width:320px;margin:0 auto}.welcome-option:disabled{opacity:.7;cursor:default}.cloud-plan-list{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:0 auto}.cloud-plan-empty{text-align:center;color:var(--ink-soft);font-size:14px;padding:18px 0}.cloud-plan-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cloud-plan-row{display:flex;gap:8px;align-items:stretch}.cloud-plan-item{flex:1;min-width:0;text-align:left;cursor:pointer;background:var(--cream);border:1.25px solid var(--rule);border-radius:10px;padding:13px 16px;display:flex;flex-direction:column;gap:2px;transition:border-color .14s ease,box-shadow .14s ease}.cloud-plan-item:hover{border-color:var(--ocean);box-shadow:0 6px 16px #1b1b1b14}.cloud-plan-title{font-weight:500;color:var(--ink);font-size:15px}.cloud-plan-meta{font-size:12.5px;color:var(--ink-soft)}.cloud-plan-del{flex-shrink:0;width:46px;cursor:pointer;background:var(--cream);border:1.25px solid var(--rule);border-radius:10px;color:var(--ink-faint);font-size:17px;display:inline-flex;align-items:center;justify-content:center;transition:border-color .14s ease,color .14s ease,background .14s ease}.cloud-plan-del:hover{border-color:var(--terracotta);color:var(--terracotta);background:var(--white)}.cloud-plan-confirm{margin-top:8px;background:var(--white);border:1.25px solid var(--terracotta);border-radius:10px;padding:14px 16px}.cloud-plan-confirm p{margin:0 0 10px;font-size:13.5px;color:var(--ink-darker);line-height:1.5}.cloud-plan-confirm input{width:100%;box-sizing:border-box;border:1.25px solid var(--rule);border-radius:8px;padding:9px 12px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--beige)}.cloud-plan-confirm input:focus{outline:none;border-color:var(--terracotta)}.cloud-plan-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.cpc-ghost{background:transparent;border:none;cursor:pointer;color:var(--ink-soft);font-size:13.5px;padding:7px 12px;border-radius:7px}.cpc-ghost:hover{color:var(--ink);background:var(--plaster)}.cpc-danger{background:var(--terracotta);border:1.25px solid var(--terracotta);color:var(--white);cursor:pointer;font-size:13.5px;font-weight:500;padding:7px 14px;border-radius:7px}.cpc-danger:disabled{opacity:.45;cursor:default}.cloud-plan-err{color:var(--terracotta);font-size:12.5px;margin:8px 0 0!important}.cloud-plan-more{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:4px}.cloud-plan-file{background:transparent;border:none;cursor:pointer;color:var(--ink-soft);font-size:13.5px;display:inline-flex;align-items:center;gap:6px}.cloud-plan-file:hover{color:var(--ink)}.welcome-plan-list{max-width:520px;margin:0 auto 18px;max-height:320px;overflow-y:auto}.welcome-option{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:24px 18px 22px;background:var(--cream);border:1.25px solid var(--rule);border-radius:12px;cursor:pointer;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.welcome-option:hover{border-color:var(--ocean);transform:translateY(-2px);box-shadow:0 10px 24px #1b1b1b1a}.welcome-ic{width:52px;height:52px;border-radius:50%;background:#b4c7c138;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:25px;margin-bottom:4px}.welcome-opt-title{font-family:Poppins;font-weight:500;font-size:16px;color:var(--ink)}.welcome-opt-desc{font-size:13px;line-height:1.5;color:var(--ink-soft)}.welcome-opt-desc code{font-family:inherit;font-size:12px;background:var(--plaster);padding:1px 5px;border-radius:4px}@media (max-width: 720px){.welcome-options{grid-template-columns:1fr}.welcome-modal{padding:30px 22px 26px}}@media print{body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}#ww-navigation-container,.topbar,.action-bar,.save-indicator,.view-toggle,.holidays-btn,.iconbtn,.add-item-btn,.add-subject-btn,.add-schedule-zone,.rl-add-row,.chore-add-row,.rl-backlink,#schedule-config-section,#events-config-section{display:none!important}.container{max-width:100%;margin:0;padding:12mm;zoom:.78}.subject-card,.calendar-section,.week-calendar,.config-section,.rl-section{border:1.25px solid #ddd;break-inside:avoid}.item-panel,.drawer,.popover{display:none!important}.progress-pill{background:none;padding:0}.chore-check{border-color:#888!important}.wg-task-check{border-color:#888!important;background:#fff!important}.wg-task-check .ti{display:none!important}.wg-task.done{opacity:1!important}.wg-task.done .wg-task-name{text-decoration:none!important}.wg-task{border-left-color:#999!important}.wg-task-divider,.wg-task-zone{background:none!important}}@media (max-width: 768px){:root{--nav-h: 80px}}@media (max-width: 720px){.topbar{padding:12.5px 17.5px;flex-wrap:wrap;gap:12.5px}.container{padding:0 17.5px}.view-toggle{display:none}.view-select{display:inline-flex;align-items:center;gap:6px;position:relative;background:var(--white);border:1.25px solid var(--rule);border-radius:7.5px;padding:0 10px 0 12px;height:36px;color:var(--ink-darker)}.view-select>.ti{font-size:16.25px;color:var(--ink-soft)}.view-select__caret{pointer-events:none}.view-select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:none;outline:none;font-family:Poppins;font-size:14.5px;color:var(--ink);padding:0 2px;cursor:pointer}.action-bar__actions .btn-label{display:none}.action-bar__actions .btn-save,.action-bar__actions .btn-load{width:36px;padding:0}.action-bar__actions button .ti{font-size:18px}.item-row{align-items:start}.item-row>.item-dot{margin-top:11px}.item-main{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:5px}.item-main>.item-title{flex:1 1 100%;width:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-main>.popover-wrap,.item-main>.duration-selector,.item-main>.lesson-plan-btn,.item-main>.iconbtn{flex:0 0 auto}.lpb-grid{grid-template-columns:1fr}.calendar-section{padding:17.5px}.cal-header-row,.cal-row{grid-template-columns:75px repeat(12,1fr);gap:2.5px}.cal-label{font-size:13.75px}.cal-label .subject-dot{display:none}.cal-month{font-size:11.25px}.cal-month--mobile-hide{visibility:hidden}.cal-bar{font-size:11.25px;padding:0 5px}.panel-grid{grid-template-columns:1fr}.rl-headinner{flex-direction:column;align-items:flex-start;gap:2px}.holiday-row--head{display:none}.holiday-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;border-bottom:1.25px solid var(--rule-soft)}.holiday-row .input[type=text]{flex:1 1 100%}.holiday-row .input[type=date]{flex:1 1 0;min-width:0}.holiday-row .when-toggle{flex:1 1 auto}.holiday-row .holiday-delete{flex:0 0 auto;margin-left:auto}.curr-content{flex-wrap:wrap}.curr-content .right-cluster{flex:1 1 100%}.cal-titlebar,.calendar-section{display:none}.schedule-row{display:flex;flex-direction:column;align-items:stretch;gap:9px}.sr-line1{display:flex;align-items:center;gap:10px}.sr-line1 .schedule-name{flex:1;min-width:0}.sr-line1 .kind-toggle{flex:0 0 auto}.sr-line2{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.sr-line2 .iconbtn{margin-left:auto}.week-header{flex-direction:column;align-items:flex-start;gap:12px}.week-nav{align-self:flex-start;flex-wrap:wrap}.week-header .week-meta{min-width:0;font-size:15px;white-space:nowrap}}.subject-block{background:var(--white);border:1px solid var(--rule-soft);border-radius:10px;padding:4px 24px 12px}.subject-block .subject-heading{display:flex;align-items:center;gap:8px;padding:12px 0 10px;border-bottom:1px solid var(--rule-soft);margin-bottom:4px;cursor:default;background:transparent}.subject-block .subject-name{font-family:Lora;font-size:22px;font-weight:400;color:var(--ink);cursor:text;padding:2px 6px;margin-left:-6px;border-radius:5px}.subject-block .subject-name:hover{background:#00000006}.subject-edit-icon{color:#d8d3c7;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;padding:3px;margin-left:-2px;border-radius:5px;transition:color .15s ease,background .15s ease}.subject-edit-icon:hover{color:var(--ink-soft);background:#00000006}.subject-name-input{font-family:Lora;font-size:22px;font-weight:400;color:var(--ink);border:none;outline:none;background:#b4c7c11f;padding:2px 6px;margin-left:-6px;border-radius:5px;min-width:140px}.subject-block .subject-count{font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:14px}.subject-chevron{margin-left:auto;background:transparent;border:none;width:30px;height:30px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft);transition:color .12s ease,background .12s ease}.subject-chevron:hover{background:#0000000a;color:var(--ink-darker)}.subject-chevron .ti{font-size:18px;transition:transform .22s ease}.subject-block.collapsed .subject-chevron .ti{transform:rotate(-90deg)}.subject-block.collapsed .subject-heading{border-bottom:none;margin-bottom:0}.subject-block .subject-delete-btn{margin-left:0}.subject-heading:hover .subject-delete-btn{opacity:.5}.curr-row{display:flex;align-items:flex-start;gap:8px;padding:8px 4px;border-top:1px solid var(--rule-faint)}.curr-row:first-of-type{border-top:none}.curr-row .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:15px}.curr-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.curr-row .curr-name{flex:1;min-width:60px}.curr-row .right-cluster{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.curr-row .duration-selector{margin:0}.add-curriculum{background:transparent;border:none;color:var(--ink-soft);font-size:14px;padding:12px 4px 4px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:Poppins}.add-curriculum:hover{color:var(--ink)}.comment-btn{background:transparent;border:none;width:35px;height:35px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft)}.comment-btn .ti{font-size:20px}.comment-btn:hover{background:#0000000a;color:var(--ink-darker)}.comment-btn.has-content{color:var(--ink-darker)}.row-close{background:transparent;border:none;color:var(--ink-faint);width:35px;height:35px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:19px;border-radius:8px}.row-close:hover{color:var(--terracotta);background:#cc7d4514}.people-trigger{background:transparent;border:none;padding:3px 4px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center}.people-trigger:hover{background:#0000000a}.people-trigger.empty{width:35px;height:35px;padding:0;border:1.5px dashed var(--rule);border-radius:50%;color:var(--ink-soft);justify-content:center}.people-trigger.empty:hover{border-color:var(--ink-soft);color:var(--ink-darker);background:#00000006}.people-trigger.empty .ti{font-size:18px}.avatar-stack{display:inline-flex}.avatar{width:33px;height:33px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:Poppins;font-size:13px;font-weight:500;border:2px solid var(--white);line-height:1;box-sizing:border-box}.avatar-stack .avatar+.avatar{margin-left:-11px}.pop-item .avatar{width:24px;height:24px;font-size:10px;border-width:1.5px}.people-pop{width:260px;background:var(--white);border:1px solid var(--rule);border-radius:10px;box-shadow:0 8px 24px #1b1b1b1f;padding:14px;z-index:150}.people-pop .pop-title{font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:13px;margin:0 0 10px 2px}.people-pop .pop-input{width:100%;font-family:Poppins;font-size:13px;border:1px solid var(--rule);background:var(--white);padding:7px 10px;border-radius:6px;color:var(--ink);outline:none;margin-bottom:8px}.people-pop .pop-input:focus{border-color:var(--ocean)}.people-pop .pop-input::placeholder{font-size:12px;color:var(--ink-faint)}.pop-list{display:flex;flex-direction:column;gap:1px;max-height:220px;overflow-y:auto}.pop-row{display:flex;align-items:stretch;gap:2px}.pop-item{flex:1;background:transparent;border:none;display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:6px;cursor:pointer;font-family:Poppins;font-size:13px;color:var(--ink-darker);text-align:left}.pop-item:hover{background:#00000006}.pop-item .name{flex:1}.pop-item .check{color:var(--ink-darker);font-size:16px;opacity:0}.pop-item.selected .check{opacity:1}.pop-item.selected .name{color:var(--ink);font-weight:500}.pop-item.add-new{color:var(--ink);font-style:italic}.pop-item.add-new .add-icon{width:24px;height:24px;border:1px dashed var(--rule);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:12px}.pop-item-edit{background:transparent;border:none;padding:0 8px;cursor:pointer;color:var(--ink-soft);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pop-item-edit .ti{font-size:13px}.pop-item-edit:hover{background:#00000006;color:var(--ink-darker)}.pop-edit-header{margin-bottom:8px}.pop-edit-back{background:transparent;border:none;color:var(--ink-soft);cursor:pointer;padding:4px 8px;margin-left:-8px;border-radius:5px;display:inline-flex;align-items:center;gap:4px;font-family:Poppins;font-size:11px}.pop-edit-back:hover{color:var(--ink-darker);background:#0000000a}.pop-edit-back .ti{font-size:13px}.pop-edit-field{margin-bottom:12px}.pop-edit-label{display:block;font-family:Poppins;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.pop-edit-field .pop-input{margin-bottom:0}.pop-color-row{display:inline-flex;align-items:center;gap:10px}.pop-color-row .swatch-hint{font-family:Poppins;font-size:11px;color:var(--ink-soft);font-style:italic}.color-dot-btn.student-swatch{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--white);box-shadow:0 0 0 1px var(--rule)}.pop-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.pop-edit-cancel,.pop-edit-save{font-family:Poppins;font-size:12px;padding:6px 14px;border-radius:6px;cursor:pointer;border:none}.pop-edit-cancel{background:transparent;color:var(--ink-soft)}.pop-edit-cancel:hover{color:var(--ink-darker);background:#0000000a}.pop-edit-save{background:var(--ocean);color:var(--ink);font-weight:500}.pop-edit-save:hover{background:var(--storm)}.notes-modal{background:var(--cream);width:min(640px,92vw);height:50vh;min-height:360px;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #1b1b1b2e}.notes-modal .modal-header{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--rule-soft);background:var(--cream)}.notes-modal .modal-header .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.notes-modal .curriculum-name{font-family:Poppins;font-size:15px;font-weight:500;color:var(--ink)}.notes-modal .header-label{font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:14px}.notes-modal .modal-close{margin-left:auto}.notes-modal .modal-body{flex:1 1 auto;overflow:hidden;padding:22px 28px;background:var(--cream);display:flex;flex-direction:column;min-height:0}.notes-modal .title-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.notes-modal .page-title{font-family:Lora;font-style:italic;font-size:30px;font-weight:400;color:var(--ink);padding:4px 6px;margin:0 0 0 -6px;border:none;background:transparent;border-radius:5px;outline:none;line-height:1.2;flex:1 1 auto;min-width:0}.notes-modal .page-title::placeholder{color:var(--ink-faint);font-style:italic}.notes-modal .page-title:hover{background:#00000006}.notes-modal .page-title:focus{background:#b4c7c11a}.notes-modal .title-edit-icon{color:#e2ddd0;font-size:20px;cursor:pointer;display:inline-flex;align-items:center;padding:4px;border-radius:5px;transition:color .15s ease,background .15s ease;flex-shrink:0}.notes-modal .title-edit-icon:hover{color:#b8b09a;background:#00000006}.notes-modal .page-meta{display:flex;align-items:center;gap:16px;margin-bottom:16px}.notes-modal .delete-page{background:transparent;border:none;color:var(--ink-soft);font-family:Poppins;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:3px 6px;margin-left:-6px;border-radius:5px;transition:color .12s ease,background .12s ease}.notes-modal .delete-page .ti{font-size:12px}.notes-modal .delete-page:hover{color:var(--terracotta);background:#cc7d4512}.notes-modal .save-indicator{font-family:Poppins;font-size:11px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:5px}.notes-modal .save-indicator .ti{font-size:12px;color:var(--storm)}.notes-modal .notes-textarea{flex:1 1 auto;width:100%;min-height:0;padding:14px 16px;background:var(--white);border:1px solid var(--rule-soft);border-radius:8px;font-family:Poppins;font-size:13px;color:var(--ink-darker);line-height:1.6;resize:none;outline:none;overflow-y:auto}.notes-modal .notes-textarea:focus{border-color:var(--ocean)}.notes-modal .notes-textarea::placeholder{color:var(--ink-faint);font-style:italic;font-family:Lora}.tab-strip{flex:0 0 auto;display:flex;align-items:flex-start;gap:0;padding:0;background:#eae6da;overflow-x:auto;scrollbar-width:thin;min-height:36px;box-shadow:inset 0 4px 6px -2px #1b1b1b1a}.notes-tab{flex-shrink:0;padding:0 24px 0 18px;height:36px;background:#e2ddd0;border:none;border-top:1px solid var(--rule);color:var(--ink-darker);cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;font-family:Poppins;font-size:11px;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);margin-right:-10px;position:relative;display:flex;align-items:center;align-self:flex-start;outline:none;filter:drop-shadow(3px 1px 2px rgba(27,27,27,.18))}.notes-tab:hover{background:#eae6da}.notes-tab.active{background:var(--cream);color:var(--ink);font-weight:500;border-top:none}.notes-tab.empty-name{color:var(--ink-faint);font-style:italic}.notes-tab-add{flex-shrink:0;height:26px;padding:0 12px;margin:5px 16px 5px 28px;background:transparent;border:1px dashed var(--rule);border-radius:5px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:5px;font-family:Poppins;font-size:11px;cursor:pointer;align-self:flex-start}.notes-tab-add .ti{font-size:13px}.notes-tab-add:hover{border-color:var(--ink-soft);color:var(--ink-darker);background:#1b1b1b05}.progress-view{display:flex;flex-direction:column;gap:16px}.track-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:2px}.track-title{font-family:Lora;font-size:28px;color:var(--ink);margin:0 0 4px}.track-sub{font-family:Lora;font-style:italic;font-size:15px;color:var(--ink-soft);margin:0}.progress-view .tracker-empty{font-family:Lora;font-style:italic;font-size:14px;color:var(--ink-soft);padding:10px 4px 4px;margin:0}.track-sort-toggle{display:inline-flex;background:var(--white);border:1.25px solid var(--rule);border-radius:7px;padding:2px;gap:2px;flex-shrink:0}.track-sort-toggle button{background:transparent;border:none;padding:5px 12px;font-family:Poppins;font-size:12.5px;color:var(--ink-soft);border-radius:5px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;transition:background .12s ease,color .12s ease}.track-sort-toggle button:hover{color:var(--ink)}.track-sort-toggle button.active{background:var(--plaster);color:var(--ink)}.track-sort-toggle .ti{font-size:14px}.progress-view .avatar{width:28px;height:28px;font-size:11px;border-width:1.5px}.progress-view .summary-pill .avatar{width:22px;height:22px;font-size:9px;border-width:1px}.subject-square{width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-family:Poppins;font-size:11px;font-weight:500;line-height:1;box-sizing:border-box;flex-shrink:0}.progress-view .summary-pill .subject-square{width:22px;height:22px;font-size:9px;border-radius:6px}.child-subject-group+.child-subject-group{margin-top:4px}.child-subject-head{display:flex;align-items:center;gap:8px;padding:12px 0 2px}.child-subject-name{font-family:Poppins;font-size:15px;font-weight:500;color:var(--ink)}.subject-summary{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:8px 0 12px}.summary-pill{display:inline-flex;align-items:center;gap:7px}.summary-pct{font-family:Poppins;font-size:13px;font-weight:500;color:var(--ink-darker);font-variant-numeric:tabular-nums}.summary-pct.muted{color:var(--ink-soft);font-style:italic;font-weight:400;font-family:Lora}.tracker-curr{padding:14px 0 4px}.tracker-curr+.tracker-curr{border-top:1px solid var(--rule-faint);padding-top:18px}.tracker-curr-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.tracker-curr-head .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tracker-curr-head .curr-name{font-family:Poppins;font-size:15px;font-weight:500;color:var(--ink)}.tracker-curr-head .curr-dates{margin-left:auto;font-family:Lora;font-style:italic;font-size:13px;color:var(--ink-soft)}.tracker-add-students{margin-left:18px;padding:8px 0 6px;display:flex;align-items:center;gap:12px}.add-students-label{font-family:Lora;font-style:italic;font-size:13px;color:var(--ink-soft)}.tracker-student{margin-left:18px;padding:12px 0 8px;border-top:1px solid var(--rule-faint)}.tracker-curr .tracker-student:first-of-type{border-top:none;padding-top:8px}.student-header{display:flex;align-items:center;gap:10px;margin-bottom:9px}.student-name{font-family:Poppins;font-size:15px;font-weight:500;color:var(--ink)}.position-inline{display:inline-flex;align-items:center;gap:4px;padding:3px 7px 3px 11px;background:var(--white);border:1px solid var(--rule);border-radius:5px;font-family:Poppins;font-size:12px;color:var(--ink-darker);cursor:pointer}.position-inline:hover,.position-inline.open{border-color:var(--ink-soft)}.position-inline .ti{font-size:13px;color:var(--ink-soft);transition:transform .18s ease}.position-inline.open .ti{transform:rotate(180deg)}.position-popover{background:var(--white);border:1px solid var(--rule);border-radius:6px;box-shadow:0 4px 14px #1b1b1b1a;max-height:210px;overflow-y:auto;z-index:1000;min-width:140px;padding:4px 0}.position-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 13px;background:transparent;border:none;font-family:Poppins;font-size:12.5px;color:var(--ink-darker);text-align:left;cursor:pointer}.position-option:hover{background:var(--beige)}.position-option .ti{font-size:14px;color:var(--ocean);visibility:hidden}.position-option.selected{background:var(--mist);font-weight:500}.position-option.selected .ti{visibility:visible}.pace-badge{font-family:Poppins;font-size:11px;font-weight:500;padding:3px 10px;border-radius:10px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:3px;position:relative;cursor:help}.pace-badge.neutral{background:#1b1b1b0d;color:var(--ink-darker)}.pace-badge.on-track{background:#9db2ab38;color:var(--ink-darker)}.pace-badge.ahead{background:#b4c7c166;color:var(--ink-darker)}.pace-badge.behind{background:#cc7d4526;color:var(--terracotta)}.pace-badge.not-started{background:#0000000a;color:var(--ink-soft);font-style:italic;cursor:default}.pace-badge[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--ink-darker);color:var(--white);padding:7px 11px;border-radius:4px;font-family:Poppins;font-size:11px;font-weight:400;letter-spacing:0;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s;z-index:100}.pace-badge[data-tooltip]:hover:after{opacity:1}.progress-display{display:flex;align-items:center;gap:12px;margin-bottom:11px}.progress-display .progress-bar{flex:1;height:5px;background:#1b1b1b0f;border-radius:3px;overflow:hidden}.progress-display .progress-bar-fill{height:100%;background:var(--ocean);border-radius:3px;transition:width .42s ease}.progress-display .progress-pct{font-family:Poppins;font-size:13px;font-weight:500;color:var(--ink-darker);font-variant-numeric:tabular-nums;min-width:40px;text-align:right}.action-row{display:flex;gap:8px;flex-wrap:wrap}.tracker-action{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:6px;border:none;cursor:pointer;font-family:Poppins;font-size:12.5px;font-weight:500;transition:background .12s ease,color .12s ease}.tracker-action .ti{font-size:15px}.tracker-action.primary{background:var(--ocean);color:var(--ink)}.tracker-action.primary:hover{background:var(--storm)}.tracker-action.ghost{background:transparent;color:var(--ink-soft)}.tracker-action.ghost:hover{color:var(--ink-darker);background:#0000000a}.progress-view{gap:14px}.progress-view .track-header{margin-bottom:6px}.progress-view .track-sort-toggle{border-color:var(--rule-soft)}.progress-view .track-sort-toggle button.active{background:var(--sky-gray);color:var(--ink);font-weight:500}.progress-view .subject-block{border:1px solid var(--rule-soft);border-radius:12px;padding:2px 22px 14px;box-shadow:0 1px 2px #1b1b1b08}.progress-view .tracker-student,.progress-view .tracker-curr .tracker-student:first-of-type{margin-left:18px;margin-top:8px;padding:10px 14px;background:var(--beige);border:1px solid var(--rule-faint);border-top:1px solid var(--rule-faint);border-radius:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.progress-view .tracker-curr .tracker-student:first-of-type{margin-top:10px}.progress-view .tracker-student .student-name{white-space:nowrap}.progress-view .progress-display{margin-bottom:0;flex:1 1 120px;min-width:120px}.progress-view .progress-display .progress-bar{height:6px;background:#1b1b1b12}.progress-view .progress-display .progress-bar-fill{background:var(--storm)}.progress-view .action-row{gap:6px;align-items:center}.progress-view .tracker-action{border-radius:999px;padding:7px 15px}.progress-view .tracker-action.primary{background:var(--ocean);color:var(--ink);box-shadow:0 1px 2px #1b1b1b1a}.progress-view .tracker-action.primary:hover{background:var(--storm);box-shadow:0 3px 9px #9db2ab73}.progress-view .tracker-action.ghost{background:var(--white);color:var(--ink-soft);border:1px solid var(--rule-soft)}.progress-view .tracker-action.ghost:hover{color:var(--ink-darker);background:var(--beige);border-color:var(--rule)}.progress-view .tracker-add-students{margin-left:18px;margin-top:8px;padding:12px 14px;background:var(--beige);border:1px solid var(--rule-faint);border-radius:10px}.config-modal{background:var(--cream);width:min(640px,92vw);max-height:86vh;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #1b1b1b2e}.config-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--rule-soft)}.config-header .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.config-header .modal-curr-name{font-family:Poppins;font-size:16px;font-weight:500;color:var(--ink)}.config-header .modal-tag{font-family:Lora;font-style:italic;color:var(--ink-soft);font-size:15px}.config-close{margin-left:auto;background:transparent;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center}.config-close:hover{background:#0000000a;color:var(--ink-darker)}.config-close .ti{font-size:19px}.cfg-body{flex:1 1 auto;overflow-y:auto;padding:18px 22px}.cfg-section{margin-bottom:18px}.cfg-section:last-child{margin-bottom:0}.config-label{font-family:Poppins;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px}.config-input{width:110px;font-family:Poppins;font-size:14px;padding:7px 11px;border:1px solid var(--rule);border-radius:6px;outline:none;color:var(--ink);font-variant-numeric:tabular-nums}.config-input:focus{border-color:var(--ocean)}.structure-options{display:flex;flex-direction:column;gap:6px}.structure-option{display:flex;align-items:center;gap:12px;padding:12px 15px;background:var(--white);border:1px solid var(--rule);border-radius:7px;cursor:pointer;text-align:left;width:100%;font-family:Poppins;transition:border-color .12s ease,background .12s ease}.structure-option:hover{border-color:var(--ink-soft)}.structure-option.active{border-color:var(--ocean);background:#b4c7c11a}.structure-option>.ti{font-size:22px;color:var(--ink-soft);flex-shrink:0}.structure-option.active>.ti{color:var(--ink-darker)}.structure-text{display:flex;flex-direction:column;gap:2px;flex:1}.structure-name{font-size:14px;color:var(--ink);font-weight:500}.structure-hint{font-size:12px;color:var(--ink-soft);font-style:italic;font-family:Lora}.structure-check{color:var(--ocean);font-size:18px;opacity:0}.structure-option.active .structure-check{opacity:1;color:var(--ink-darker)}.fields-row{display:flex;align-items:center;gap:10px}.fields-row .config-label{margin:0;min-width:130px}.config-grid{display:grid;grid-template-columns:1fr 260px;gap:20px;align-items:stretch;margin-bottom:6px}.config-col-left{display:flex;flex-direction:column}@media (max-width: 620px){.config-grid{grid-template-columns:1fr}}.date-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:Poppins;font-size:13px;color:var(--ink-soft);margin-bottom:8px}.date-row:last-child{margin-bottom:0}.date-label{display:inline-block;min-width:40px;font-weight:500;color:var(--ink-darker)}.config-select{font-family:Poppins;font-size:13px;padding:6px 9px;border:1px solid var(--rule);border-radius:6px;background:var(--white);outline:none;cursor:pointer;color:var(--ink-darker)}.config-select:focus{border-color:var(--ocean)}.config-select:disabled{cursor:default;color:var(--ink-soft);background:var(--plaster)}.config-input-day{width:56px;padding:6px 9px;border:1px solid var(--rule);border-radius:6px;background:var(--white);font-family:Poppins;font-size:13px;color:var(--ink-darker);text-align:center;font-variant-numeric:tabular-nums}.config-input-day:focus{outline:none;border-color:var(--ocean)}.pace-box{background:var(--white);border:1px solid var(--rule);border-radius:8px;padding:16px 18px;display:grid;grid-template-columns:max-content;justify-content:center;justify-items:center;align-content:center;height:100%;text-align:center}.pace-box-label{font-family:Lora;font-style:italic;font-size:14px;color:var(--ink-soft)}.pace-box-value{font-family:Poppins;display:flex;align-items:baseline;justify-content:center;gap:6px;margin:8px 0 4px}.pace-box-value strong{font-size:34px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.pace-box-unit{font-family:Lora;font-style:italic;font-size:14px;color:var(--ink-soft)}.pace-box-caption{font-family:Lora;font-style:italic;font-size:13px;color:var(--ink-soft);line-height:1.5;margin-top:4px;text-align:center}.pace-toggle{display:inline-flex;align-items:center;gap:6px;justify-self:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--rule-soft);font-family:Poppins;font-size:12.5px;color:var(--ink-soft);cursor:pointer}.pace-toggle input{accent-color:var(--storm);cursor:pointer;margin:0}.config-info{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;background:#b4c7c124;border-radius:6px;font-family:Lora;font-style:italic;font-size:13px;color:var(--ink-darker);line-height:1.5}.config-info>.ti{font-size:15px;color:var(--ink-darker);flex-shrink:0;margin-top:2px}.holiday-btn{background:transparent;border:none;padding:0;font-family:Poppins;font-style:normal;font-size:13px;color:var(--ink-darker);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--ink-soft);cursor:pointer;margin-left:2px}.holiday-btn:hover{color:var(--terracotta);text-decoration-color:var(--terracotta)}.config-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--rule-soft);background:var(--cream)}.config-action{font-family:Poppins;font-size:13px;padding:8px 17px;border-radius:6px;border:none;cursor:pointer;font-weight:500}.config-action.ghost{background:transparent;color:var(--ink-soft)}.config-action.ghost:hover{color:var(--ink-darker);background:#0000000a}.config-action.primary{background:var(--ocean);color:var(--ink)}.config-action.primary:hover{background:var(--storm)}.history-modal{background:var(--cream);width:min(440px,92vw);max-height:86vh;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #1b1b1b2e}.history-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--rule-soft)}.history-title{font-family:Lora;font-style:italic;font-size:15px;color:var(--ink-darker)}.history-title strong{font-family:Poppins;font-style:normal;font-weight:500;color:var(--ink)}.history-close{margin-left:auto;background:transparent;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;color:var(--ink-soft);display:flex;align-items:center;justify-content:center}.history-close:hover{background:#0000000d;color:var(--ink)}.history-close .ti{font-size:17px}.history-body{flex:1 1 auto;overflow-y:auto;padding:18px 22px 14px}.history-hint{font-family:Lora;font-style:italic;font-size:13px;color:var(--ink-soft);margin:0 0 14px;line-height:1.5}.history-months{display:flex;flex-direction:column}.history-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule-faint)}.history-row:last-child{border-bottom:none}.history-row.prior-row{opacity:.7;margin-top:4px}.history-row.prior-row .month-label{font-style:italic;font-family:Lora}.month-label{font-family:Poppins;font-size:13px;color:var(--ink-darker);min-width:96px}.month-input{width:62px;padding:6px 9px;border:1px solid var(--rule);border-radius:5px;font-family:Poppins;font-size:13px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;background:var(--white)}.month-input:focus{outline:none;border-color:var(--ocean)}.month-unit{font-family:Lora;font-style:italic;font-size:12px;color:var(--ink-soft)}.history-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 4px;border-top:1px solid var(--rule);margin-top:8px}.total-label{font-family:Poppins;font-size:13px;font-weight:500;color:var(--ink-darker)}.total-value{font-family:Poppins;font-size:14px;color:var(--ink)}.total-value strong{font-weight:600;font-variant-numeric:tabular-nums}.history-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--rule-soft);background:var(--cream)}.cfg-hint{font-family:Lora;font-style:italic;font-size:13px;color:var(--ink-soft);margin:8px 0 0}.freq-toggle{display:inline-flex;gap:4px;background:var(--plaster);border:1px solid var(--rule);border-radius:8px;padding:3px}.freq-opt{font-family:Poppins;font-size:13.5px;color:var(--ink-soft);background:transparent;border:none;cursor:pointer;padding:6px 20px;border-radius:6px;transition:background .12s ease,color .12s ease}.freq-opt:hover{color:var(--ink)}.freq-opt.active{background:var(--white);color:var(--ink);box-shadow:0 1px 2px #1b1b1b14}.wizard-days{display:inline-flex;gap:5px}.wizard-time-row{display:flex;align-items:center;gap:8px;margin-top:12px}.wizard-time-row .wizard-time{width:auto;cursor:pointer}.wizard-time-row .config-input-day{width:66px}.setup-schedule-btn{display:inline-flex;align-items:center;gap:6px;font-family:Poppins;font-size:13px;color:var(--ocean-ink, var(--storm));background:#b4c7c124;border:1px dashed rgba(157,178,171,.7);border-radius:1248.75px;padding:6px 14px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.setup-schedule-btn:hover{background:#b4c7c142;border-color:var(--storm);color:var(--ink-darker)}.setup-schedule-btn .ti{font-size:15px}.schedule-summary-btn{display:inline-flex;align-items:center;gap:7px;font-family:Poppins;font-size:13px;color:var(--ink-darker);background:var(--white);border:1px solid var(--rule);border-radius:1248.75px;padding:6px 13px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.schedule-summary-btn:hover{background:var(--plaster);border-color:var(--ink-soft)}.schedule-summary-btn .ti{font-size:15px;color:var(--ink-soft)}.schedule-summary-pencil{opacity:0;transition:opacity .15s ease}.schedule-summary-btn:hover .schedule-summary-pencil{opacity:1}.schedule-summary-text{font-variant-numeric:tabular-nums}.scope-card{max-width:460px}.scope-body{padding:6px 22px 20px}.scope-explain{font-size:14.5px;line-height:1.5;color:var(--ink-darker);margin:0 0 16px}.scope-explain strong{color:var(--ink);font-weight:600}.scope-actions{display:flex;flex-direction:column;gap:10px}.scope-btn{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;width:100%;cursor:pointer;background:var(--white);border:1px solid var(--rule);border-radius:9px;padding:13px 16px;font-family:Poppins;transition:border-color .12s ease,background .12s ease}.scope-btn:hover{border-color:var(--ink-soft);background:var(--plaster)}.scope-btn.primary{border-color:var(--ocean);background:#b4c7c11f}.scope-btn.primary:hover{border-color:var(--storm);background:#b4c7c133}.scope-btn-title{font-size:15px;font-weight:500;color:var(--ink)}.scope-btn-hint{font-size:12.5px;color:var(--ink-soft);font-family:Lora;font-style:italic}.student-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px}.student-filter-label{font-family:Lora;font-style:italic;font-size:13.5px;color:var(--ink-soft)}.student-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 12px 3px 4px;border:1.25px solid var(--rule);border-radius:1248.75px;background:var(--white);cursor:pointer;font-family:Poppins;font-size:13px;color:var(--ink-darker);transition:background .15s ease,border-color .15s ease,color .15s ease}.student-filter-chip:hover{background:var(--plaster)}.student-filter-chip.active{border-color:var(--storm);background:#9db2ab2e;color:var(--ink)}.sf-avatar{width:22px;height:22px;font-size:9px;border-width:1px}.student-filter-clear{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:none;background:transparent;cursor:pointer;font-family:Poppins;font-size:13px;color:var(--terracotta)}.student-filter-clear:hover{text-decoration:underline}.student-filter-clear .ti{font-size:15px}
