.draft27-page { display: grid; gap: 18px; }
.draft27-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.draft27-official-warning { padding: 13px 15px; border: 1px solid #ead49f; border-radius: 11px; background: #fff8e8; color: #72591f; }
.draft27-editor-card, .draft27-diagnostic-card, .draft27-panel { padding: 18px; border: 1px solid #dfe6ec; border-radius: 16px; background: #fff; box-shadow: 0 3px 12px rgba(17, 46, 70, .04); }
.draft27-editor-heading, .draft27-panel-heading { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.draft27-editor-heading h2, .draft27-panel-heading h2 { margin: 3px 0 0; font-size: 20px; }
.draft27-kicker { color: #758590; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.draft27-instructions { margin-top: 13px; padding: 11px 13px; border: 1px solid #d8e4ec; border-radius: 11px; background: #f5f9fc; color: #516874; line-height: 1.45; }
.draft27-selection { margin-top: 10px; padding: 9px 11px; border: 1px solid #dfe6eb; border-radius: 9px; background: #fafcfd; color: #546873; font-size: 12px; }
.draft27-cancel { margin-top: 8px; }
.draft27-table-scroll { margin-top: 14px; overflow: auto; }
.draft27-table { min-width: 900px; width: max-content; border-collapse: separate; border-spacing: 0; }
.draft27-table th, .draft27-table td { border-right: 1px solid #dfe5ea; border-bottom: 1px solid #dfe5ea; text-align: center; vertical-align: middle; }
.draft27-table thead th { position: sticky; top: 0; z-index: 4; min-width: 132px; padding: 8px; background: #edf3f7; }
.draft27-table .draft27-sticky { position: sticky; z-index: 5; min-width: 92px; padding: 8px; background: #f7fafc; }
.draft27-table .draft27-day { left: 0; }
.draft27-table .draft27-lesson { left: 92px; min-width: 78px; }
.draft27-table thead .draft27-sticky { z-index: 7; background: #e7f0f5; }
.draft27-lesson small { display: block; margin-top: 2px; color: #76858f; font-size: 9px; }
.draft27-cell-wrap { width: 132px; min-width: 132px; padding: 0; }
.draft27-cell { width: 100%; min-height: 65px; display: grid; place-items: center; gap: 2px; padding: 7px 5px; border: 0; background: #fbfcfd; color: #425966; cursor: pointer; transition: box-shadow .12s ease, transform .12s ease, background .12s ease; }
.draft27-cell:hover { box-shadow: inset 0 0 0 2px #7daac7; }
.draft27-cell.is-selected { position: relative; z-index: 2; box-shadow: inset 0 0 0 3px #225f88; transform: scale(.98); }
.draft27-cell strong { display: block; color: #28536f; font-size: 13px; }
.draft27-cell span { display: block; font-size: 10px; }
.draft27-cell small { display: block; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.draft27-cell.is-empty { background: #fff; color: #a0acb3; }
.draft27-empty-mark { opacity: .65; font-size: 9px !important; text-transform: uppercase; }
.draft27-nao-pode { background: #f8dddd !important; color: #8d2f2f !important; }
.draft27-evitar { background: #fff0d8 !important; color: #91621d !important; }
.draft27-quer { background: #e2f4e7 !important; color: #2f7544 !important; }
.draft27-precisa { background: #dbeaf8 !important; color: #285f8c !important; }
.draft27-legend { display: flex; flex-wrap: wrap; gap: 6px; }
.draft27-legend span { padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.draft27-undo { background: #5c6f7d; border-color: #5c6f7d; color: #fff; }
.draft27-undo:hover { background: #4b5e6b; border-color: #4b5e6b; }
.draft27-undo:disabled { opacity: .5; cursor: not-allowed; }
.draft27-status { padding: 6px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.draft27-status.is-ok { background: #e4f5e9; color: #2b7542; }
.draft27-status.is-error { background: #fbe5e5; color: #983939; }
.draft27-diagnostic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 13px; }
.draft27-diagnostic-grid > section { padding: 13px; border: 1px solid #e1e7eb; border-radius: 11px; background: #fafcfd; }
.draft27-diagnostic-grid h3 { margin: 0 0 8px; font-size: 15px; }
.draft27-errors, .draft27-warnings { margin: 0; padding-left: 20px; line-height: 1.45; }
.draft27-errors { color: #8c3636; }
.draft27-warnings { color: #7b6022; }
.draft27-ok-text { margin: 0; color: #4f765e; }
.draft27-secondary-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 14px; }
.draft27-small-table-scroll { margin-top: 12px; overflow: auto; }
.draft27-small-table { width: 100%; border-collapse: collapse; }
.draft27-small-table th, .draft27-small-table td { padding: 8px 7px; border-bottom: 1px solid #e2e7ea; text-align: left; font-size: 11px; vertical-align: middle; }
.draft27-small-table th { background: #f1f5f7; color: #526873; }
.draft27-small-table form { margin: 0; }
.draft27-restored { display: inline-block; margin-left: 5px; padding: 3px 5px; border-radius: 999px; background: #e9eef2; color: #687985; font-size: 9px; font-weight: 700; text-transform: uppercase; }
@media (max-width: 980px) { .draft27-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); } .draft27-secondary-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .draft27-summary, .draft27-diagnostic-grid { grid-template-columns: 1fr; } .draft27-editor-heading { flex-direction: column; } }
