.date-button{border:0;background:transparent;font-size:17px!important;font-weight:700;min-height:44px;padding:0 14px}.avatar-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:linear-gradient(145deg,#7882a5,#515d82);color:white;font-family:"Songti SC",serif;font-size:17px}.account-menu{position:fixed;z-index:40;right:max(20px,calc((100vw - 920px)/2));top:74px;width:180px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.account-menu button{width:100%;text-align:left;border:0;background:transparent;padding:12px;border-radius:8px}.account-menu button:hover{background:var(--soft)}.group-switcher{display:flex;gap:8px;overflow-x:auto;padding:0 10px 12px}.group-switcher button{white-space:nowrap;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:8px 14px}.group-switcher button.active{background:var(--accent);color:white}.practice-row{grid-template-columns:minmax(130px,1fr) 76px 74px 34px}.practice-row .custom-name{grid-column:1/4}.practice-row select,.practice-row input{min-width:0}.existing-sessions{margin:10px 0 18px}.existing-sessions h3{font-size:13px;color:var(--muted)}.session-card{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:11px;padding:10px;margin:7px 0}.session-card small{display:block;color:var(--muted);margin-top:4px}.session-card button{border:0;background:var(--soft);border-radius:7px;padding:7px;margin-left:4px}.next-lesson{display:flex;justify-content:space-between;gap:16px;background:var(--soft);border-radius:12px;padding:12px;margin-bottom:12px}.schedule-days{display:grid;grid-template-columns:repeat(15,minmax(34px,1fr));gap:5px;overflow-x:auto;padding:5px 0}.schedule-days button{position:relative;min-width:34px;min-height:42px;border:0;border-radius:9px;background:var(--soft)}.schedule-days button.has-item:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);bottom:5px;left:50%;transform:translateX(-50%)}.schedule-detail article{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line)}.schedule-detail span,.announcement-strip span{color:var(--muted);font-size:12px}.announcement-strip{display:flex;justify-content:space-between;align-items:center}.announcement-strip strong,.announcement-strip span{display:block}.content-dialog{position:fixed;z-index:31;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(480px,calc(100% - 36px));max-height:80dvh;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.content-dialog header{display:flex;justify-content:space-between;align-items:center}.content-dialog header button{border:0;background:var(--soft);border-radius:50%;width:34px;height:34px}.message-item{border-bottom:1px solid var(--line);padding:8px 0}.message-item h3{font-size:15px}.about-mark{font-family:monospace;transform:rotate(-12deg);font-size:26px;margin:12px}.empty{color:var(--muted);font-size:12px}@media(max-width:700px){input,select,textarea{font-size:16px}.schedule-days{grid-template-columns:repeat(15,38px)}.practice-row{grid-template-columns:minmax(100px,1fr) 66px 68px 32px;gap:5px}.sheet{padding:18px 14px}.session-card{align-items:flex-start}.session-card>div:last-child{display:flex}.next-lesson,.schedule-detail article{flex-direction:column;gap:5px}}
.site-footer{margin-top:auto;padding:22px 12px max(22px,env(safe-area-inset-bottom));text-align:center;color:#9297a4;font-size:11px;letter-spacing:.02em}.page,.admin-page,.auth-view,.welcome{width:100%}.pixel-avatar{display:block;width:32px;height:32px}.pixel-avatar rect{fill:#e8e9f0;stroke:#9aa1b8}.pixel-avatar g{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}.avatar-button .pixel-avatar{width:38px;height:38px;color:#263555}.avatar-grid{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.avatar-grid legend{font-size:13px;color:var(--muted);margin-bottom:8px}.avatar-grid label{margin:0;padding:8px;border:1px solid var(--line);border-radius:10px;text-align:center}.avatar-grid input{width:auto;margin:0 4px 0 0}.avatar-grid .pixel-avatar{margin:4px auto}.avatar-grid span{font-size:11px}.about-system{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.about-kicker,.about-system code,.about-system small{display:block;color:var(--muted);font-size:11px}.signal-line{display:flex;gap:5px;margin:15px 0}.signal-line i{width:42px;height:2px;background:var(--accent)}.signal-line i:nth-child(2){width:18px;opacity:.65}.signal-line i:nth-child(3){width:7px;opacity:.4}.about-system h2{letter-spacing:.12em}.about-poem{white-space:nowrap;font-family:"Songti SC",serif;font-size:clamp(12px,3.4vw,16px);letter-spacing:.02em}.about-system small{margin-top:26px}.compact-agenda{padding-top:17px;padding-bottom:17px}.agenda-list article,.agenda-list>button,.admin-record{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.agenda-list strong,.admin-record strong{display:block;max-width:min(55vw,420px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-list span,.admin-record small{color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.form-grid label{min-width:0}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.check-grid label{margin:0;padding:8px;background:var(--soft);border-radius:8px}.check-grid input,.consent-label input{width:auto;margin:0 6px 0 0}.consent-label{line-height:1.6}.detail-list{display:grid;grid-template-columns:64px 1fr;gap:8px;font-size:13px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.dialog-actions button,.admin-item button{min-height:38px;border:1px solid var(--line);background:var(--soft);border-radius:9px;padding:7px 11px}.danger-action{color:var(--danger)!important}.owner-only-disabled{opacity:1}
@media(max-width:700px){.form-grid,.check-grid{grid-template-columns:1fr}.admin-page{padding:0 10px 42px}.admin-page .panel{padding:15px}.admin-item{grid-template-columns:1fr;gap:8px}.admin-item>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.admin-item input,.admin-item select{max-width:100%}.content-dialog{padding:18px;width:calc(100% - 24px)}.agenda-list strong{max-width:62vw}.about-poem{font-size:clamp(10.5px,3.2vw,13px)}input[type="date"],input[type="time"],input[type="datetime-local"]{min-height:48px}}
.about-description{font-size:13px;line-height:1.75}.about-poem{margin-top:28px}
body{min-height:100dvh;display:flex;flex-direction:column}
.admin-shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100dvh;background:#f3f4f7}.admin-sidebar{position:sticky;top:0;height:100dvh;padding:24px 14px;background:#202b42;color:#eef1f7}.admin-brand{display:block;margin:0 10px 24px;color:white;font:700 15px ui-monospace,monospace;letter-spacing:.12em;text-decoration:none}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav button{border:0;border-radius:8px;background:transparent;color:#bfc7d6;padding:10px 12px;text-align:left}.admin-sidebar nav button:hover,.admin-sidebar nav button.active{background:#33405b;color:white}.admin-page{width:100%;max-width:1180px;padding:0 24px 42px}.admin-topbar{position:sticky;z-index:12;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;margin-bottom:18px;background:rgba(243,244,247,.95);backdrop-filter:blur(12px)}.admin-topbar h1{margin:2px 0 0;font-size:22px}.admin-topbar small{color:var(--muted)}#admin-menu{display:none}.admin-top-actions{display:flex;align-items:center;gap:8px}.admin-top-actions>button{position:relative;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--paper)}#notification-count{position:absolute;right:-4px;top:-5px;min-width:18px;padding:2px;border-radius:10px;background:#9d3e4f;color:#fff;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.dashboard-grid>button{min-height:92px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:16px;text-align:left}.dashboard-grid strong,.dashboard-grid span{display:block}.dashboard-grid span{margin-top:8px;color:var(--muted);font-size:11px}.admin-page .panel{margin:0 0 12px;padding:18px 20px;border-radius:14px}.admin-page .panel h2{font-size:17px}.admin-page form label{font-size:12px}.admin-page input,.admin-page select,.admin-page textarea{min-height:38px;padding:9px 10px}.admin-page .primary{min-height:38px;padding:8px 15px}.week-nav{display:flex;align-items:center;gap:6px}.week-nav button{min-height:32px;border:1px solid var(--line);border-radius:7px;background:var(--soft)}.week-nav strong{font-size:12px}.selected-tags{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 10px}.selected-tags button{border:0;border-radius:14px;background:var(--soft);padding:5px 9px}.lesson-row em,.admin-record em{font-style:normal;color:var(--muted);font-size:11px;white-space:nowrap}.list-search{display:block;max-width:320px;margin-bottom:12px}.notification-panel{position:fixed;z-index:50;right:18px;top:70px;width:min(390px,calc(100% - 36px));max-height:78dvh;overflow:auto;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.notification-panel header{display:flex;align-items:center;justify-content:space-between}.notification-panel header button,.notification-panel nav button{border:0;border-radius:7px;background:var(--soft);padding:7px 9px}.notification-panel nav{display:flex;gap:4px;overflow:auto;margin:10px 0}.notification-panel nav button.active{background:var(--accent);color:#fff}.notification-item{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 2px;text-align:left}.notification-item strong,.notification-item span,.notification-item small{display:block}.notification-item span,.notification-item small{color:var(--muted);font-size:11px}.notification-item.unread strong:before{content:'•';color:#9d3e4f;margin-right:5px}.practice-summary-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto}.practice-summary-row .pixel-avatar{color:#293754}.student-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-event-card{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:12px;text-align:left}.student-event-card strong,.student-event-card span{display:block}.student-event-card span{margin-top:6px;color:var(--muted);font-size:11px}.student-event-card.practice{background:#f3f5f9}.announcement-title{width:100%;border:0;background:transparent;text-align:left}.announcement-title strong,.announcement-title span{display:block}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.avatar-grid label:has(input:checked){border-color:var(--accent);background:var(--soft)}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:fixed;z-index:45;left:0;top:0;width:220px;transform:translateX(-105%);transition:transform .2s}.admin-nav-open .admin-sidebar{transform:none}#admin-menu{display:block;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page{padding:0 14px 40px}.admin-topbar{min-height:64px}.admin-topbar .text-button{display:none}.notification-panel{top:62px;right:10px;width:calc(100% - 20px)}.week-nav strong{display:none}}
@media(max-width:430px){.admin-page{padding:0 9px 32px}.admin-page .panel{padding:14px}.dashboard-grid{gap:7px}.dashboard-grid>button{min-height:80px;padding:12px}.admin-record{gap:8px}.admin-record strong{max-width:50vw}.week-nav button{padding:5px 8px}.avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-date-nav button{min-width:44px;min-height:44px}}
.personal-day-title{margin-top:16px}.my-daily-session{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line)}.my-daily-session strong,.my-daily-session small{display:block}.my-daily-session small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}.my-daily-session>div:last-child{display:flex;gap:6px;flex:0 0 auto}.my-daily-session button{min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:6px 10px}.my-daily-session button:last-child{color:var(--danger)}
.my-daily-summary{position:relative;padding:12px 0}.my-daily-metrics{display:flex;gap:28px;padding-right:116px}.my-daily-metrics span{display:flex;align-items:baseline;gap:5px}.my-daily-metrics strong{font-size:24px}.my-daily-metrics small,.my-daily-summary p{color:var(--muted);font-size:12px}.my-daily-summary p{line-height:1.6;margin:9px 0 0;padding-right:116px}.my-daily-summary>button{min-height:40px;border:1px solid var(--line);border-radius:9px;background:var(--soft);padding:7px 13px}
.daily .summary-grid article{min-width:0}.daily .summary-grid strong{overflow-wrap:anywhere;line-height:1.18}.group-switcher{scrollbar-width:none}.group-switcher::-webkit-scrollbar{display:none}.avatar-grid label{position:relative;cursor:pointer}.avatar-grid label input{position:absolute;opacity:0;pointer-events:none}.avatar-grid label .pixel-avatar{width:38px;height:38px;margin:0 auto}.avatar-grid label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}@media(max-width:430px){.group-switcher{padding:0 2px 10px}.group-switcher button{padding:7px 11px;font-size:13px}.daily .summary-grid{align-items:stretch}.daily .summary-grid article{padding:12px 11px}.daily .summary-grid strong{font-size:21px}.daily .summary-grid em{line-height:1.35}.personal-day-title h2{font-size:19px}}
.student-picker{position:relative;display:block}.student-picker-options{position:absolute;z-index:20;top:100%;left:0;right:0;max-height:240px;overflow:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(34,43,67,.14)}.student-picker-options button{width:100%;display:grid;grid-template-columns:1fr auto;gap:4px 12px;text-align:left;padding:9px 10px;border:0;background:transparent;border-radius:8px}.student-picker-options button:hover,.student-picker-options button[aria-pressed="true"]{background:#f0f2f8}.student-picker-options button small{grid-column:1;color:var(--muted)}.form-error{color:#9b3d47;margin:8px 0;font-size:.88rem}
.student-week-nav{display:flex;align-items:center;gap:6px;margin:4px 0 10px}.student-week-nav button{min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:6px 10px}.student-week-nav strong{margin-left:auto;color:var(--muted);font-size:12px}.student-lesson-row{display:grid!important;grid-template-columns:minmax(125px,auto) minmax(0,1fr);justify-content:start!important}.lesson-date-block{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding-right:14px;border-right:1px solid var(--line)}.student-lesson-row>span:last-child{min-width:0}.student-lesson-row em{font-style:normal;color:var(--accent);font-weight:700}.student-lesson-row small{display:block;margin-top:4px}.student-event-card span{font-variant-numeric:tabular-nums}@media(max-width:430px){.student-week-nav{display:grid;grid-template-columns:auto 1fr auto}.student-week-nav strong{grid-column:1/-1;grid-row:2;margin:0;text-align:center}.student-week-nav button:nth-child(2){justify-self:center}.student-lesson-row{grid-template-columns:1fr!important}.lesson-date-block{border-right:0;border-bottom:1px solid var(--line);padding:0 0 7px}.student-event-grid{grid-template-columns:1fr 1fr}.student-event-card{min-width:0}.student-event-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.back-dashboard{margin:0 0 10px;border:0;background:transparent;color:var(--muted);padding:5px 0}.admin-top-actions{flex:0 0 auto}.admin-top-actions .text-button{white-space:nowrap}@media(max-width:430px){.admin-topbar{gap:8px}.admin-topbar h1{font-size:19px}.admin-top-actions{gap:4px}}
.password-field{position:relative;display:block}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:18px}.password-toggle.visible{color:var(--accent);background:var(--soft)}
.compact-confirm,.compact-date-dialog{width:min(92vw,420px);z-index:45;padding:22px}.compact-confirm h2{margin:0 0 10px}.compact-confirm p{margin:0;color:var(--muted);line-height:1.6}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.confirm-actions button{min-height:46px}.compact-date-dialog label{display:grid;gap:8px;color:var(--muted)}.compact-date-dialog input[type="date"]{width:100%;min-height:50px;font-size:16px}#confirm-bg,#date-dialog-bg{z-index:44}
.main-header .avatar-button{width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:inherit;padding:3px}.main-header .avatar-button .pixel-avatar{width:38px;height:38px}
.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid strong small{font-size:.5em;margin-left:4px}.course-entry-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}.course-entry{min-height:112px;border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:15px;text-align:left}.course-entry-primary{background:var(--soft)}.course-entry strong,.course-entry b,.course-entry span{display:block}.course-entry b{margin:7px 0;font-size:18px}.course-entry span{color:var(--muted);font-size:12px;line-height:1.45}.course-entry-all{display:grid;align-content:center}.course-entry-all strong{font-size:16px}.course-entry:disabled{opacity:.75}@media(max-width:430px){.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article:last-child{grid-column:1/-1}.course-entry-grid{grid-template-columns:1fr 1fr}.course-entry{min-height:126px;padding:13px}.course-entry b{font-size:15px}.course-entry-all strong{font-size:14px}}
.help-content h3{margin:18px 0 5px;font-size:15px}.help-content h3:first-child{margin-top:4px}.help-content p{color:var(--muted);line-height:1.65}.help-content a{color:var(--accent)}
.daily-summary-actions{position:absolute;right:0;top:10px;display:flex;gap:6px}.daily-summary-actions button,.daily-summary-actions .danger-text{width:auto;min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:6px 10px}.today-duration{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7f8fb}.today-duration>strong{font-size:16px;color:var(--ink)}.today-duration>div{display:flex;align-items:center;gap:7px;margin-top:9px}.today-duration input{width:120px}.today-duration span{font-weight:700;color:var(--ink)}
.course-entry-primary>small{display:block;margin-bottom:8px;color:var(--muted);font-weight:700}.course-entry-primary span em{display:inline-block;margin-right:7px;padding:2px 6px;border-radius:5px;background:#dfe4f0;color:#3a496d;font-style:normal;font-weight:700}.upcoming-lessons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.upcoming-lessons button{min-width:0;border:1px solid var(--line);border-radius:9px;background:#f2f4f8;padding:8px 5px;color:var(--ink)}.upcoming-lessons strong,.upcoming-lessons span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-lessons strong{font-size:11px}.upcoming-lessons span{margin-top:3px;color:var(--accent);font-size:11px;font-weight:700}
.text-link{border:0;background:transparent;padding:0;color:var(--accent);text-decoration:underline;font:inherit}.bug-report-form textarea{resize:vertical}.report-success{text-align:center;padding:16px 0}.report-success strong{display:block;margin:10px 0;font-size:20px;letter-spacing:.05em}.bug-report-item p{margin:7px 0;line-height:1.55}.bug-report-item small{display:block}.urgent-mark{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:10px;background:#9d3e4f;color:white;font-size:10px;font-style:normal}
@media(max-width:430px){.upcoming-lessons{gap:4px}.upcoming-lessons button{padding:7px 3px}.upcoming-lessons strong,.upcoming-lessons span{font-size:10px}.course-entry-primary span{font-size:11px}.today-duration{padding:12px}.date-button{position:relative;z-index:2;touch-action:manipulation}}
@media(max-width:430px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.metric-grid article,.metric-grid article:last-child{grid-column:auto;padding:10px 7px}.metric-grid span{font-size:10px;line-height:1.25;white-space:nowrap}.metric-grid strong{font-size:19px}.metric-grid strong small{font-size:9px;margin-left:2px}.my-daily-metrics,.my-daily-summary p{padding-right:104px}.daily-summary-actions button,.daily-summary-actions .danger-text{padding:6px 8px}}
.admin-week-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow-x:auto}.calendar-day{min-width:88px;border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden}.calendar-day header{display:grid;grid-template-columns:1fr auto;gap:2px;padding:8px;background:var(--soft)}.calendar-day header small{grid-column:1/-1;color:var(--muted)}.calendar-day header strong{font-size:12px}.calendar-day header b{font-size:18px}.calendar-day>div{min-height:92px;padding:5px}.calendar-item{display:block;width:100%;border:0;border-left:3px solid var(--accent);border-radius:6px;background:#f5f6fa;padding:5px;margin:3px 0;text-align:left}.calendar-item.event{border-left-color:#8c5b67}.calendar-item time,.calendar-item span{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-empty{display:block;text-align:center;color:var(--muted);padding-top:22px}.member-row{grid-template-columns:96px minmax(0,1fr)}.member-row>strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heat-cell[data-level="6"],.member-days i[data-level="6"]{background:#a43d50}@media(max-width:700px){.admin-week-calendar{grid-template-columns:repeat(7,96px);padding-bottom:8px}.member-row{grid-template-columns:78px minmax(0,1fr)}.member-row>strong{font-size:10px}.member-days{gap:2px}}
.month-weekdays,.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(74px,1fr));gap:5px;min-width:620px}.month-weekdays{margin-bottom:5px;text-align:center;color:var(--muted);font-size:12px}.month-calendar{grid-auto-rows:minmax(88px,auto)}.month-day{border:1px solid var(--line);border-radius:9px;padding:5px;min-width:0}.month-day>b{font-size:12px}.month-pad{min-height:88px}.content-dialog:has(.month-calendar){width:min(980px,calc(100% - 28px));overflow:auto}.avatar-grid label:has(input[value="knot"]){display:none}
.calendar-toolbar{position:sticky;z-index:2;top:-22px;display:flex;align-items:center;gap:7px;margin:0 0 12px;padding:10px 0;background:var(--paper)}.calendar-toolbar>button,.calendar-view-switch button{min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:7px 11px}.calendar-toolbar input{width:auto;min-height:38px}.calendar-view-switch{display:flex;gap:4px;margin-left:auto}.calendar-view-switch button.active{background:var(--accent);color:#fff}.calendar-list{display:grid;gap:5px}.calendar-list>section{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:7px 0}.calendar-list>section>time{color:var(--muted);font-size:12px}.calendar-list .calendar-item{margin:0}@media(max-width:700px){.calendar-toolbar{top:-18px;flex-wrap:wrap}.calendar-toolbar input{flex:1;min-width:145px}.calendar-view-switch{width:100%;margin:0}.calendar-view-switch button{flex:1}.calendar-list>section{grid-template-columns:1fr;gap:4px}}
.bug-report-form textarea{resize:vertical;min-height:170px}.file-picker{display:flex;align-items:center;gap:10px;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;cursor:pointer}.file-picker input{position:absolute;opacity:0;pointer-events:none}.file-picker b{padding:7px 10px;border-radius:7px;background:var(--soft);font-size:12px;color:var(--ink)}.file-picker em{font-style:normal;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-success{padding:25px;border-radius:12px;background:#171b25;color:#e7ebf4;text-align:left}.terminal-success code{color:#92b99c}.terminal-success p{color:#c7cedc}
.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.calendar-head h3{margin:0}.subtle-action{min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:6px 11px}.duration-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:10px}.duration-fields legend{padding:0 6px;color:var(--muted);font-size:12px}.duration-fields label{margin:0}@media(max-width:430px){.duration-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.duration-fields input{padding-left:7px;padding-right:7px}}
.datetime-control{grid-column:1/-1;margin:0 0 10px;padding:9px 10px 10px;border:1px solid var(--line);border-radius:10px}.datetime-control legend{padding:0 6px;color:var(--muted);font-size:12px}.datetime-control>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.55fr);gap:10px}.datetime-control label{margin:0}.datetime-control input{width:100%}@media(max-width:430px){.datetime-control>div{grid-template-columns:minmax(0,1.2fr) minmax(105px,.8fr);gap:6px}}
.time-selects{display:grid;grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr);align-items:center;gap:6px}.time-selects select{width:100%;min-width:0}
.group-track-tools{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(160px,.6fr);gap:10px}.selection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px}.selection-actions button{min-height:36px;padding:7px 10px}.selection-actions small{margin-left:auto;color:var(--muted)}.group-track-results{max-height:min(50vh,480px);overflow:auto;padding-right:4px}
@media(max-width:900px){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-page,.admin-page main,.admin-page .panel{min-width:0;max-width:100%}}
@media(max-width:600px){.datetime-control>div{grid-template-columns:1fr;gap:8px}.datetime-control label,.datetime-control input,.datetime-control select{min-width:0;max-width:100%}.time-selects{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.group-track-tools{grid-template-columns:1fr}.selection-actions small{width:100%;margin-left:0}.group-track-results{max-height:42vh}}
.student-event-card small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-settings-section{display:grid;gap:10px;margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid var(--line)}.account-settings-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.account-settings-section h3{margin:0 0 2px;font-size:15px}.account-settings-section label small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.account-settings-section .error:empty{display:none}
.inline-forgot{display:inline-block;margin:6px 0 0;font-size:11px}.version-menu-item{font-size:11px;color:var(--muted)}.member-track-summary{margin-bottom:14px;padding:12px;border-radius:10px;background:var(--soft)}.member-track-summary p{margin:0 0 4px}.member-track-summary small{color:var(--muted)}.member-track-options{display:grid;gap:7px;max-height:48vh;overflow:auto;margin:12px 0}.member-track-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;margin:0;padding:9px;border:1px solid var(--line);border-radius:9px}.member-track-row input{width:auto}.member-track-row strong,.member-track-row small{display:block}.member-track-row small{margin-top:3px;color:var(--muted);font-size:10px}
.verification-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}.verification-code-row .outline{white-space:nowrap;padding-inline:14px}
/* Obsidian Gold is scoped to the earned 90-day personal theme only. */
.personal-panel.theme-black{--ink:#f4efe7;--muted:#a79c8b;--accent:#c9aa72;--accent2:#d8bd89;--soft:#2c2924;--line:#40382f;background:linear-gradient(145deg,#1a1a18,#201f1c);border-color:#40382f;box-shadow:0 18px 42px rgba(20,17,13,.18)}.personal-panel.theme-black .ranking,.personal-panel.theme-black .metric-grid article{background:#23221f;border-color:#40382f}.personal-panel.theme-black .bar{background:#2c2924}.personal-panel.theme-black .bar i{background:linear-gradient(90deg,#a98b58,#d8bd89)}.personal-panel.theme-black .range-tabs{background:#2c2924}.personal-panel.theme-black .range-tabs button.active{background:#40382f}.personal-panel.theme-black .heatmap-detail{color:#a79c8b}
