.classes-workspace{--card:var(--paper-card);--muted:var(--ink-soft);--bg:var(--paper-soft);--cw-green:#176552;--cw-line:var(--line,#dfe7e1);padding-bottom:40px}.cw-hero{gap:24px}.cw-hero h1{letter-spacing:-.045em}.cw-stats{margin:24px 0}.cw-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--cw-line);margin:24px 0;padding-bottom:8px}.cw-tab{background:transparent;border:0;border-radius:10px;padding:11px 17px;white-space:nowrap;font:inherit;font-weight:600;color:var(--muted,#6d7771);cursor:pointer}.cw-tab[aria-selected=true]{background:var(--cw-green);color:#fff}.cw-filters{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:12px;margin-bottom:24px}.cw-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13px;font-weight:600}.cw-field input,.cw-field select{width:100%;min-width:0;border:1px solid var(--cw-line);border-radius:10px;padding:12px 13px;background:var(--card,#fff);color:var(--ink,#20362e);font:inherit;box-sizing:border-box}.cw-field input:focus,.cw-field select:focus{outline:2px solid var(--cw-green);outline-offset:2px}.cw-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cw-class-card{background:var(--card,#fff);border:1px solid var(--cw-line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:0 8px 30px #143e2605}.cw-class-card h2{font-size:25px;letter-spacing:-.035em;margin:6px 0 0;overflow-wrap:anywhere}.cw-class-card p{margin:0}.cw-card-top,.cw-row-head,.cw-detail-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cw-face{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#e6f1e9;color:var(--cw-green);font-weight:750}.cw-pin{margin-left:auto;background:none;border:0;font:inherit;font-size:12px;color:var(--muted,#67786e);cursor:pointer;padding:8px 0}.cw-pin[aria-pressed=true]{color:var(--cw-green);font-weight:700}.cw-badge{display:inline-flex;align-items:center;background:var(--bg,#f0f4ef);color:var(--ink,#315043);border:1px solid var(--cw-line);border-radius:8px;padding:5px 9px;font-size:12px;font-weight:600;white-space:normal}.cw-badge--amber{background:#fff1d7;color:#805512}.cw-badge--green{background:#e0f2e8;color:#176552}.cw-muted{color:var(--muted,#6d7771);font-size:13px;line-height:1.6}.cw-card-next{border-top:1px solid var(--cw-line);padding-top:16px;margin-top:auto;display:flex;flex-direction:column;gap:7px}.cw-card-next small{font-size:10px;letter-spacing:.12em;color:var(--muted,#6d7771)}.cw-card-next strong{font-size:15px}.cw-subject-tags,.cw-actions{display:flex;gap:8px;flex-wrap:wrap}.cw-actions{margin-top:16px}.cw-empty{grid-column:1/-1;min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px;text-align:center;border:1px dashed var(--cw-line);border-radius:20px}.cw-empty h2{margin:12px 0 0}.cw-empty p{color:var(--muted,#6d7771);max-width:460px;line-height:1.6}.cw-empty__icon{font-size:38px;color:var(--cw-green)}.cw-panel{margin-bottom:20px}.cw-panel h2{margin:0 0 14px}.cw-request-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cw-form{display:grid;gap:18px}.cw-form fieldset{min-width:0;border:1px solid var(--cw-line);padding:16px;border-radius:12px}.cw-form legend{font-weight:650;font-size:14px;padding:0 6px}.cw-schedule-form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.cw-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;max-height:230px;overflow:auto}.cw-student-pick{padding:12px;background:var(--card,#fff);border:1px solid var(--cw-line);border-radius:10px;font:inherit;font-size:13px;color:var(--ink,#20362e);cursor:pointer;text-align:left}.cw-student-pick[aria-pressed=true]{border-color:var(--cw-green);background:#e6f1e9;color:#176552}.cw-detail-toolbar{margin-bottom:20px}.cw-detail-toolbar>button:first-child{margin-right:auto}.cw-roster{display:flex;gap:12px;flex-wrap:wrap}.cw-person{display:flex;align-items:center;gap:10px;border:1px solid var(--cw-line);border-radius:12px;padding:10px;font-size:13px}.cw-person-avatar{border:0;border-radius:50%;width:36px;height:36px;background:#e6f1e9;color:#176552;font:inherit;font-weight:650;cursor:pointer}.cw-person-avatar:disabled{cursor:default;opacity:.75}.cw-person-action{background:none;border:0;color:var(--muted,#6d7771);font:inherit;font-size:11px;cursor:pointer}.cw-private-note,.cw-decision-note{background:var(--bg,#f5f6ef);border-left:3px solid #c8a74b;padding:12px;border-radius:0 8px 8px 0;font-size:14px}.cw-lesson-list{margin-bottom:24px}.cw-lesson-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border:0;border-bottom:1px solid var(--cw-line);padding:16px 0;background:none;color:var(--ink,#20362e);font:inherit;text-align:left;width:100%;cursor:pointer}.cw-lesson-row>strong{min-width:145px;font-size:14px}.cw-lesson-row>small,.cw-lesson-row>.cw-badge{margin-left:auto}.cw-lesson-row:disabled{cursor:default;opacity:.7}.cw-lesson-wrap{display:flex;align-items:center;gap:12px}.cw-board-link{font-size:12px;white-space:nowrap;color:var(--cw-green)}.cw-work-row{padding:18px 0;border-bottom:1px solid var(--cw-line);display:flex;flex-direction:column;align-items:flex-start;gap:10px}.cw-work-row p{margin:0;line-height:1.6}.cw-table-wrap{max-width:100%;overflow:auto}.cw-table{width:100%;border-collapse:collapse;font-size:13px}.cw-table th,.cw-table td{padding:14px 12px;border-bottom:1px solid var(--cw-line);text-align:left}.cw-table th{font-size:11px;color:var(--muted,#6d7771)}.cw-task{display:block;width:100%;border:1px solid var(--cw-line);background:var(--bg,#f5f6ef);color:var(--ink,#20362e);border-radius:10px;padding:16px;text-align:left;font:inherit;margin:10px 0;cursor:pointer}.cw-finance-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--cw-line);padding:16px 0}.cw-debt{color:#a53e37}.cw-timeline{list-style:none;padding:0;margin:0;max-height:270px;overflow:auto}.cw-timeline li{border-left:2px solid var(--cw-line);padding:10px 0 10px 16px}.cw-timeline p{font-size:13px;margin:5px 0;line-height:1.6}.cw-legacy-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--cw-line);border-radius:12px;padding:20px;background:var(--card,#fff);color:var(--ink,#20362e);font:inherit;cursor:pointer;text-align:left}.cw-legacy-card small{font-size:12px;color:var(--muted,#6d7771)}.cw-catalog-times{font-size:13px;line-height:1.6}.cw-check{display:flex;gap:10px;align-items:center;padding:10px 0;font-size:13px}.cw-check input{width:18px;height:18px}.classes-workspace button:focus-visible,.classes-workspace a:focus-visible{outline:2px solid var(--cw-green);outline-offset:3px}
@media(max-width:1100px){.cw-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.cw-card-grid,.cw-request-list{grid-template-columns:1fr}.cw-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-filters>.cw-field:first-child{grid-column:1/-1}.cw-class-card{padding:20px}.cw-hero{align-items:flex-start;flex-direction:column}.cw-hero h1{font-size:34px}.cw-schedule-form{grid-template-columns:1fr}.cw-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-lesson-row{gap:8px}.cw-lesson-row>strong{min-width:0;width:100%}.cw-lesson-wrap{align-items:flex-start}.cw-person{max-width:100%;flex-wrap:wrap}.cw-actions>.btn{max-width:100%;white-space:normal}.cw-panel{padding:20px}.cw-detail-toolbar{gap:6px}.cw-tabs{margin:18px 0}}

.rail-extra [data-action=classes]{display:none}
.class-show-dialog{max-width:520px;border:1px solid var(--line);border-radius:20px;background:var(--paper-card);color:var(--ink);padding:24px}.class-show-dialog button{display:block;margin:10px 0}

.classes-workspace .cw-detail-toolbar>.btn,.classes-workspace .cw-actions>.btn{width:auto;flex:0 1 auto}.classes-workspace .cw-hero>.cw-actions{max-width:410px;min-width:0}.classes-workspace .cw-detail-toolbar>.btn:not(:first-child){min-width:44px}.classes-workspace .cw-hero{align-items:center}
.cw-form{--card:var(--paper-card);--muted:var(--ink-soft);--bg:var(--paper-soft);--cw-line:var(--line);color:var(--ink)}.cw-form .cw-field input,.cw-form .cw-field select,.cw-form .cw-field select option{background-color:var(--paper-card);color:var(--ink)}.cw-form .cw-field select{color-scheme:light}[data-theme=dark] .cw-form .cw-field select{color-scheme:dark}
