@font-face{font-family:OTTCairo;src:url(fonts/Cairo-Regular.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:OTTCairo;src:url(fonts/Cairo-Bold.ttf) format('truetype');font-style:normal;font-weight:700 900;font-display:swap}
.ott-app{--ott-ink:var(--os-ink,#172b46);--ott-muted:var(--os-muted,#5b6c80);--ott-line:var(--os-line,#dbe5ef);--ott-bg:var(--os-card,#fff);font-family:OTTCairo,Cairo,Tahoma,sans-serif;color:var(--ott-ink);max-width:1440px;margin:auto;font-size:14px;line-height:1.8}.ott-app *{box-sizing:border-box;min-width:0}.ott-app [hidden]{display:none!important}.ott-intro{margin:12px 0 24px}.ott-kicker{color:var(--os-green-dark,#087b73);font-size:12px;font-weight:700}.ott-intro h1{font-size:clamp(24px,3vw,33px);margin:4px 0 8px;line-height:1.6}.ott-intro p{max-width:760px;color:var(--ott-muted);margin:0}.ott-layout{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}.ott-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ott-panel{border:1px solid var(--ott-line);border-radius:10px;padding:18px;background:var(--ott-bg)}.ott-panel h2{display:flex;align-items:center;gap:9px;font-size:17px;margin:0 0 12px}.ott-panel h2>span{font-size:12px;color:#087b73;background:#e9f5f1;border-radius:6px;padding:3px 8px}.ott-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ott-app label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;margin-bottom:10px}.ott-app input:not([type=checkbox]):not([type=color]),.ott-app select{width:100%;min-height:44px;border:1px solid var(--ott-line);background:var(--ott-bg);color:var(--ott-ink);border-radius:6px;padding:7px 9px;font:inherit;font-weight:400;font-size:13px}.ott-app input[type=time],.ott-app input[type=number]{direction:ltr;text-align:center}.ott-app input[type=color]{height:44px;width:100%;background:none;border:1px solid var(--ott-line);padding:4px}.ott-app input[type=checkbox]{width:18px;height:18px;accent-color:#087b73;flex:none}.ott-app button,.ott-app a.ott-primary{font:inherit;cursor:pointer}.ott-primary,.ott-secondary,.ott-danger{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:44px;border-radius:6px;padding:8px 13px;font-size:12px!important;font-weight:700!important;text-decoration:none;border:1px solid transparent;line-height:1.6}.ott-app .ott-primary{background:#087b73;color:#fff}.ott-app .ott-secondary{background:var(--ott-bg);color:var(--ott-ink);border-color:var(--ott-line)}.ott-app .ott-danger{background:var(--ott-bg);border-color:#edd4d4;color:#a32b33}.ott-app button:disabled{opacity:.45;cursor:not-allowed}.ott-app :focus-visible{outline:3px solid #8fcbbf;outline-offset:2px}.ott-app button:hover:not(:disabled){filter:brightness(.97)}.ott-help{font-size:12px;font-weight:400;color:var(--ott-muted);line-height:1.8;margin:5px 0 12px}.ott-inline{display:flex;flex-wrap:wrap;gap:8px}.ott-days{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.ott-app .ott-day-check{display:inline-flex;flex-direction:row;align-items:center;gap:5px;border:1px solid var(--ott-line);border-radius:6px;padding:5px 8px;min-height:40px;margin:0;font-size:11px}.ott-period-form{padding:12px 0;border-block-start:1px solid var(--ott-line);margin-top:12px}.ott-session-list{margin:8px 0 14px}.ott-session-row{display:flex;align-items:center;gap:3px;border-bottom:1px solid var(--ott-line);padding:5px 0}.ott-session-row>button:first-child{flex:1;border:0;background:none;text-align:start;color:var(--ott-ink);padding:5px}.ott-session-row strong{display:block;font-size:12px}.ott-session-row bdi{font-size:11px;color:var(--ott-muted)}.ott-reorder{width:34px;height:44px;border:0;border-radius:5px;background:var(--os-green-soft,#edf5f4);color:var(--ott-ink)}.ott-saved-row{display:flex;gap:6px;margin-top:8px}.ott-saved-row>button:first-child{flex:1;justify-content:start}.ott-notice{position:relative;margin:12px 0;padding:10px 14px;border:1px solid #b9dbd0;background:#edf8f3;color:#175d48;border-radius:6px;font-size:13px}.ott-notice.is-error{border-color:#e7bebf;background:#fff1f1;color:#902c31}.ott-preview-area{padding:18px;border:1px solid var(--ott-line);background:var(--ott-bg);border-radius:10px}.ott-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ott-preview-head h2{font-size:20px;margin:2px 0 14px}.ott-format{font-size:11px;color:var(--ott-muted);border:1px solid var(--ott-line);padding:3px 8px;border-radius:4px;white-space:nowrap}.ott-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--ott-line);padding-bottom:12px;margin-bottom:10px}.ott-toolbar label{margin:0}.ott-toolbar label:not(.ott-check){min-width:145px;max-width:180px}.ott-app .ott-check{display:inline-flex;flex-direction:row;align-items:center;gap:6px;margin:0}.ott-sheet-viewport{width:100%;overflow:hidden;border:1px solid var(--ott-line);background:#edf2f6;border-radius:5px}.ott-sheet-viewport [data-ott-preview]{position:relative;width:100%}.ott-paper{width:794px;min-height:1123px;background:#fff;color:#17212e;font-family:OTTCairo,Cairo,Arial,sans-serif;padding:28px 24px;box-sizing:border-box;transform-origin:top right;text-align:start}.ott-paper[dir=ltr]{transform-origin:top left}.ott-paper *{box-sizing:border-box}.ott-official-head{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:12px;align-items:center;border-bottom:1px solid #273342;padding-bottom:12px;min-height:112px}.ott-official-head p{font-size:10px;line-height:1.65;margin:2px 0;overflow-wrap:anywhere}.ott-official-center{text-align:center;display:grid;gap:6px;font-size:10px;line-height:1.7}.ott-official-center strong{font-size:12px}.ott-dots{color:#68717a}.ott-official-title{text-align:center;margin:14px 0 18px}.ott-official-title h2{display:inline-block;border:1.5px solid #1f2937;border-radius:5px;padding:3px 18px;margin:0;font-size:21px;line-height:1.5;color:#17212e}.ott-official-title p{font-size:9px;margin:5px 0 0}.ott-timeline{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #25303a;font-size:12px}.ott-timeline .ott-time-col{width:70px}.ott-timeline .ott-period-col{width:24px}.ott-timeline th,.ott-timeline td{border:1px solid #8d969e;padding:0;text-align:center;vertical-align:middle}.ott-timeline th{font-size:11px;font-weight:700;line-height:1.4;background:#eef1f3;padding:8px 2px;overflow-wrap:anywhere}.ott-timeline th:last-child{writing-mode:vertical-rl;white-space:nowrap;font-size:9px;padding:4px}.ott-app input[data-meta=year]{direction:ltr;text-align:center}.ott-timeline .ott-clock{position:relative;font-family:Arial,sans-serif;font-size:9px;background:#fafafa}.ott-clock bdi{display:block;position:absolute;left:0;right:0;line-height:1.2}.ott-clock bdi.is-start{top:3px}.ott-clock bdi.is-end{bottom:3px}.ott-timeline .ott-period-label{background:#f5f5f5;font-size:10px}.ott-period-label span{writing-mode:vertical-rl;transform:rotate(180deg);display:inline-block;max-height:100%;padding:6px 0}.ott-timeline .ott-interclasse{font-size:10px;letter-spacing:.1px;background:#e5e7e9}.ott-timeline .ott-common-break{background:#dde0e3}.ott-lesson-cell{position:relative}.ott-lesson-cell>.ott-slot.is-gap{position:absolute;inset:0;height:100%;min-height:0!important}.ott-slot{background:var(--slot-bg,#fff);color:#17212e;border:0;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:38px;padding:4px;width:100%;line-height:1.2;font-family:inherit;cursor:default;text-align:center;overflow-wrap:anywhere;font-size:12px}.ott-slot strong{font-size:inherit;font-weight:700}.ott-slot bdi{font-size:10px;margin-top:3px;white-space:normal;overflow-wrap:anywhere;font-family:inherit}.ott-slot.is-gap{font-size:10px;font-weight:400;color:#64748b}.ott-slot.is-gap strong{font-weight:400}.ott-common-break .ott-slot{background:transparent;flex-direction:row;gap:12px;padding:3px;min-height:28px!important;font-size:10px!important}.ott-common-break .ott-slot bdi{margin:0;font-size:9px}.ott-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:18px 12px 0;text-align:center;font-size:9px}.ott-signatures span{display:block}.ott-signatures i{display:block;margin:35px 12px 0;border-bottom:1px solid #aeb4b9}.ott-empty-sheet{text-align:center;padding:80px 12px;font-size:14px}.ott-paper.theme-modern .ott-timeline th{background:#e8f1ee}.ott-paper.theme-colorful .ott-timeline th{background:#e8eff7}.ott-paper.is-mono .ott-timeline th{background:#eee}.ott-paper.is-mono .ott-slot{background:#fff}
.ott-export-bar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:18px 0 10px}.ott-export-bar [role=status]{font-size:12px;color:var(--ott-muted)}.ott-mobile-day{display:none}.ott-dialog{width:min(520px,calc(100vw - 24px));max-height:90dvh;overflow:auto;background:var(--ott-bg,#fff);color:var(--ott-ink,#172b46);border:1px solid var(--ott-line,#dce5ef);border-radius:10px;padding:22px;font-family:OTTCairo,Cairo,sans-serif;line-height:1.8}.ott-dialog::backdrop{background:#0b192466}.ott-dialog header{display:flex;justify-content:space-between;align-items:center;gap:10px}.ott-dialog h2{font-size:20px;margin:0 0 16px}.ott-error{color:#a32b33;font-size:12px;min-height:18px}.ott-dialog .ott-fields{margin-top:12px}
.ott-slot,.ott-app .ott-slot{font-family:inherit;font-size:12px;line-height:1.2;min-height:38px}.ott-slot bdi,.ott-app .ott-slot bdi{line-height:1.1}.ott-slot.is-break,.ott-slot.is-gap,.ott-app .ott-slot.is-break,.ott-app .ott-slot.is-gap{font-size:10px;min-height:32px}
.ott-jumps{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.ott-jumps a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:5px 12px;border:1px solid var(--ott-line);border-radius:5px;color:var(--ott-ink);font-size:12px;text-decoration:none}.ott-app [id]{scroll-margin-top:110px}
@media(max-width:1100px){.ott-layout{grid-template-columns:1fr}.ott-preview-area{padding:14px}.ott-panel{padding:14px}}
@media(max-width:900px){.ott-layout{grid-template-columns:1fr}.ott-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.ott-preview-area{padding:12px}}
@media(max-width:550px){.ott-settings{grid-template-columns:1fr}.ott-intro h1{font-size:24px}.ott-app .ott-fields{gap:8px}.ott-panel{padding:12px}.ott-toolbar{align-items:end}.ott-toolbar label{font-size:11px}.ott-preview-head h2{font-size:17px}.ott-export-bar>.ott-primary,.ott-export-bar>.ott-secondary{flex:1 1 140px}.ott-dialog{padding:16px}.ott-inline{gap:6px}}
@media(prefers-reduced-motion:reduce){.ott-app *{transition:none!important;scroll-behavior:auto!important}}
@page{size:A4 portrait;margin:10mm}
@media print{.ott-print-body{margin:0;background:#fff}.ott-print-body .ott-paper{width:190mm;min-height:0;padding:0;transform:none!important}.ott-print-body .ott-slot{cursor:default;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ott-print-body .ott-slot:hover{box-shadow:none}.ott-print-body .ott-timeline th,.ott-print-body .ott-common-break,.ott-print-body .ott-interclasse{print-color-adjust:exact;-webkit-print-color-adjust:exact}.ott-print-body .ott-timeline thead{display:table-header-group}.ott-print-body .ott-timeline tr{break-inside:avoid;page-break-inside:avoid}.ott-print-body .ott-official-head,.ott-print-body .ott-official-title{break-after:avoid}.ott-print-body .ott-signatures{break-inside:avoid}.ott-print-body button{appearance:none}}
.ott-quick-add{border:1px solid var(--ott-line);border-radius:6px;padding:12px;margin:12px 0}.ott-quick-add>.ott-primary{width:100%}.ott-extra{margin:12px 0;border-top:1px solid var(--ott-line);padding-top:10px}.ott-extra summary{cursor:pointer;font-size:12px;font-weight:700;min-height:40px}.ott-extra[open] summary{margin-bottom:10px}.ott-official-center img{display:block;width:100%;max-width:230px;height:auto;object-fit:contain;margin:auto}
/* External editing layout, isolated from other tools and the printable paper. */
.ott-app .ott-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}
.ott-app .ott-edit-sidebar{order:1;padding:14px;position:sticky;top:100px;max-height:calc(100dvh - 116px);overflow:auto;scrollbar-width:thin}
.ott-app .ott-workspace>.ott-preview-area{order:2;min-width:0}.ott-app .ott-workspace>.ott-saved-panel{order:3;grid-column:1/-1}
.ott-app #ott-timing{grid-column:1/-1}.ott-app [data-ott-period-settings]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ott-app .ott-edit-sidebar [data-ott-cohorts]{grid-template-columns:1fr;gap:8px}.ott-app .ott-edit-sidebar .ott-cohort-form{margin-top:0}
.ott-app .ott-session-manager>summary{font-size:12px;font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px}
.ott-app .ott-session-list{max-height:260px;overflow:auto;scrollbar-width:thin;margin-top:0}.ott-app .ott-session-row{padding:3px 0}.ott-app .ott-reorder{width:30px;min-height:36px;height:36px}
.ott-app .ott-edit-sidebar .ott-quick-add{padding:10px;margin-block:10px}.ott-app .ott-edit-sidebar .ott-help{font-size:11px;margin-bottom:8px}.ott-app .ott-edit-sidebar .ott-cohort-actions button{width:100%}
@media(max-width:1000px){.ott-app .ott-workspace{grid-template-columns:1fr}.ott-app .ott-edit-sidebar{position:static;max-height:none;overflow:visible}.ott-app .ott-edit-sidebar [data-ott-cohorts]{grid-template-columns:repeat(2,minmax(0,1fr))}.ott-app .ott-session-list{max-height:220px}}
@media(max-width:550px){.ott-app [data-ott-period-settings]{grid-template-columns:1fr}.ott-app .ott-edit-sidebar [data-ott-cohorts]{grid-template-columns:1fr}.ott-app .ott-edit-sidebar{padding:12px}}
.ott-app .ott-wide{grid-column:1/-1}.ott-app .ott-meta-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.ott-app .ott-settings{align-items:start}
.ott-app .ott-period-form{padding:16px;border:1px solid #dbe5ef;border-radius:10px;margin:12px 0}
.ott-app .ott-period-form.is-morning{background:#f0f6ff;border-color:#dce7fa}.ott-app .ott-period-form.is-afternoon{background:#fff7ed;border-color:#f1e1cc}
.ott-app .ott-period-form.is-morning>label{color:#244c97}.ott-app .ott-period-form.is-afternoon>label{color:#995316}
.ott-app .ott-inline-editor{border:1px solid #bdd9d2;background:#f5faf8;border-radius:8px;padding:16px;margin-top:16px}
.ott-app .ott-inline-editor header{display:flex;align-items:center;justify-content:space-between;gap:10px}.ott-app .ott-inline-editor h3{font-size:16px;margin:0}
.ott-app .ott-saved-panel>summary{cursor:pointer;font-weight:700;min-height:40px}.ott-app .ott-saved-panel[open]>summary{margin-bottom:10px}
.ott-app .ott-sheet-viewport{max-width:794px;margin:auto}.ott-app .ott-official-center img,.ott-print-body .ott-official-center img{max-width:205px;width:100%;height:auto}
.ott-app .ott-official-head,.ott-print-body .ott-official-head{min-height:140px}
.ott-app .ott-slot bdi,.ott-print-body .ott-slot bdi{white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px){.ott-app .ott-settings{grid-template-columns:1fr}.ott-app .ott-meta-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.ott-app .ott-meta-fields{grid-template-columns:1fr}.ott-app .ott-period-form{padding:12px}.ott-app .ott-inline-editor{padding:12px}.ott-app .ott-period-form .ott-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Equal lesson cells: no duration-weighted flex or time-proportional row sizing. */
.ott-band-time{position:absolute;inset-inline:2px;top:2px;font-size:9px!important;margin:0!important;line-height:1.1!important}
.ott-slot:has(.ott-band-time):not(.has-cohort){padding-top:17px}
.ott-timeline .ott-off-cell{background:#fff}
/* Compact external controls; printed A4 dimensions remain unchanged. */
.ott-app #ott-information,.ott-app #ott-timing{padding:14px}.ott-app .ott-meta-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px}
.ott-app #ott-information label,.ott-app .ott-period-form label{margin-bottom:2px;gap:3px;font-size:11px}.ott-app #ott-information input,.ott-app #ott-information select,.ott-app .ott-period-form input{min-height:44px;padding:5px 8px}
.ott-app .ott-period-form{padding:12px;margin:9px 0}.ott-app .ott-period-form .ott-fields{gap:8px 10px;margin:6px 0 10px}.ott-app .ott-period-title{font-size:13px;margin:0;line-height:1.7}
.ott-app .is-morning .ott-period-title{color:#244c97}.ott-app .is-afternoon .ott-period-title{color:#995316}.ott-app .ott-period-advanced{font-size:11px}.ott-app .ott-period-advanced summary{cursor:pointer;min-height:32px;display:flex;align-items:center;color:var(--ott-muted)}
.ott-app .ott-period-advanced[open]{margin:4px 0}.ott-app .ott-period-form .ott-inline{align-items:center}.ott-app .ott-period-form .ott-inline>.ott-secondary{padding:5px 10px}
.ott-app .ott-timing-scope{margin:0 0 6px}.ott-app .ott-timing-scope>summary{font-size:11px;color:var(--ott-muted);cursor:pointer;min-height:36px;line-height:1.7}.ott-app .ott-timing-scope[open]>summary{margin-bottom:8px}
.ott-app .ott-cohort-form{border:1px solid var(--ott-line);border-radius:7px;padding:10px;margin:10px 0}.ott-app .ott-cohort-form h3{font-size:13px;margin:0 0 6px}
.ott-app .ott-cohort-fields{display:grid;grid-template-columns:minmax(80px,.8fr) minmax(0,1.4fr) 58px;gap:8px;padding:8px;margin:6px 0 10px;border:1px solid var(--ott-line);border-radius:5px}.ott-app .ott-cohort-fields legend{font-size:11px;padding:0 5px;font-weight:700}.ott-app .ott-cohort-fields label{font-size:10px;margin:0}.ott-app .ott-cohort-color input{height:44px}
.ott-slot{position:relative}.ott-slot.has-cohort{padding-top:calc(var(--cohort-height) + 6px)}.ott-cohort-tag{position:absolute;inset-inline:3px;top:3px;display:block;font-size:10px;font-weight:700;line-height:1.2;overflow-wrap:anywhere;border-bottom:1px solid #a4b4bd;padding:2px 0 4px}
@media(max-width:900px){.ott-app .ott-meta-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.ott-app #ott-information,.ott-app #ott-timing{padding:10px}.ott-app .ott-meta-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ott-app .ott-period-form{padding:10px}.ott-app .ott-cohort-fields{grid-template-columns:minmax(72px,.8fr) minmax(0,1.3fr) 48px;gap:5px}.ott-app .ott-cohort-fields select{padding-inline:4px;font-size:12px}}

/* Optional cohorts: two explicit teaching blocks, not a crowded three-field row. */
.ott-app .ott-cohort-form{padding:12px}
.ott-app .ott-cohort-form h3{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}
.ott-app .ott-cohort-form h3 small{font-size:10px;font-weight:400;color:var(--ott-muted)}
.ott-app [data-ott-cohort-context]{margin:0 0 10px;font-size:11px}
.ott-app [data-ott-cohorts]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.ott-app .ott-cohort-fields{min-width:0;grid-template-columns:minmax(0,1fr) 60px;align-content:start;gap:9px;padding:11px;margin:0;border-radius:6px;border-inline-start:3px solid #4671bd}
.ott-app .ott-cohort-fields.is-after{border-inline-start-color:#a87925}
.ott-app .ott-cohort-fields legend{font-size:12px;padding-inline:5px}
.ott-app .ott-cohort-fields label{min-width:0;gap:4px;font-size:11px;line-height:1.6}
.ott-app .ott-cohort-fields [data-cohort-name],.ott-app .ott-cohort-fields [data-cohort-help]{grid-column:1/-1}
.ott-app .ott-cohort-fields .ott-cohort-color{grid-column:2;grid-row:1}
.ott-app .ott-cohort-fields:has(.ott-cohort-color[hidden]) .ott-cohort-kind{grid-column:1/-1}
.ott-app .ott-cohort-fields select,.ott-app .ott-cohort-fields input:not([type=color]){min-height:44px;padding:6px 7px;font-size:12px}
.ott-app .ott-cohort-fields [hidden]{display:none!important}
.ott-app .ott-cohort-fields [data-cohort-help]{font-size:10px;line-height:1.8;margin:0;color:var(--ott-muted)}
.ott-app .ott-cohort-color input{width:100%;max-width:70px;height:44px;padding:3px}
.ott-app .ott-no-color{font-size:9px;min-height:28px;padding:2px;border:0;background:none;color:var(--ott-muted);text-decoration:underline;display:block;width:100%}
.ott-app .ott-edit-sidebar .ott-cohort-fields{padding:8px;gap:6px;grid-template-columns:minmax(0,1fr) 52px}
.ott-app .ott-edit-sidebar .ott-cohort-kind{grid-column:1/-1}.ott-app .ott-edit-sidebar .ott-cohort-fields [data-cohort-name]{grid-column:1;grid-row:2}.ott-app .ott-edit-sidebar .ott-cohort-fields .ott-cohort-color{grid-column:2;grid-row:2}
.ott-app .ott-edit-sidebar .ott-cohort-fields [data-cohort-help]{font-size:9px;line-height:1.5;margin-top:0}
.ott-app .ott-cohort-fields:disabled{opacity:.65}
.ott-app .ott-cohort-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;margin-top:11px}
.ott-app .ott-cohort-actions .ott-check{font-size:11px;margin:0;min-height:44px}
@media(max-width:550px){.ott-app [data-ott-cohorts]{grid-template-columns:1fr;gap:10px}.ott-app .ott-cohort-form{padding:10px}.ott-app .ott-cohort-fields{padding:10px;gap:8px}.ott-app .ott-cohort-actions>.ott-secondary{width:100%}}

/* Static table cells keep rowspan borders in browser print and Word print views.
   Positioned timing text lives in an inner box, never on the table cell itself. */
.ott-paper .ott-timeline{border-collapse:separate;border-spacing:0;border:1px solid #727b84}
.ott-paper .ott-timeline th,.ott-paper .ott-timeline td{border:0;border-inline-end:1px solid #727b84;border-bottom:1px solid #727b84}
.ott-paper .ott-timeline .ott-clock,.ott-paper .ott-timeline .ott-lesson-cell{position:static}
.ott-clock-content{position:relative;width:100%;min-height:1px}
.ott-paper .ott-lesson-cell>.ott-slot.is-gap{position:relative;inset:auto}
.ott-paper .ott-timeline .ott-slot{min-height:0!important;font-size:calc(12px * var(--ott-grid-scale,1));padding:calc(4px * var(--ott-grid-scale,1))}
.ott-paper .ott-timeline .ott-slot bdi{font-size:calc(10px * var(--ott-grid-scale,1));margin-top:calc(3px * var(--ott-grid-scale,1))}
.ott-paper .ott-timeline .ott-slot.has-cohort{padding-top:calc(var(--cohort-height) + 4px * var(--ott-grid-scale,1))}
.ott-paper .ott-timeline .ott-cohort-tag{font-size:calc(10px * var(--ott-grid-scale,1));padding-bottom:calc(4px * var(--ott-grid-scale,1))}
.ott-paper .ott-timeline .ott-common-break .ott-slot{font-size:calc(10px * var(--ott-grid-scale,1))!important}
.ott-paper .ott-timeline .ott-common-break .ott-slot bdi{font-size:calc(9px * var(--ott-grid-scale,1))}
.ott-print-body{margin:0;background:#fff}
.ott-print-body .ott-paper{width:794px;min-height:1123px;padding:28px 24px;transform:none!important;zoom:var(--ott-print-zoom,.9)}
@media print{.ott-print-body{margin:0!important}.ott-print-body .ott-paper{width:794px;min-height:1123px;padding:28px 24px;transform:none!important;zoom:var(--ott-print-zoom,.9);break-inside:avoid;page-break-inside:avoid}.ott-print-body .ott-timeline,.ott-print-body .ott-timeline td,.ott-print-body .ott-timeline th{border-color:#56616b!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Compact screen workspace only: the paper/export geometry is deliberately unchanged. */
.ott-app .ott-intro{margin-block:10px 14px}.ott-app .ott-intro p{font-size:13px}.ott-app .ott-jumps{margin-top:8px;gap:6px}
.ott-app .ott-layout{gap:12px}.ott-app .ott-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ott-app .ott-settings>.ott-compact-settings{grid-column:auto;padding:8px 12px!important}
.ott-app .ott-settings>#ott-information,.ott-app .ott-settings>#ott-timing{grid-column:auto}
.ott-app .ott-compact-settings>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:13px;font-weight:700;list-style:none}
.ott-app .ott-compact-settings>summary::-webkit-details-marker{display:none}
.ott-app .ott-compact-settings>summary>span{font-size:11px;color:#087b73;background:#e9f5f1;border-radius:5px;padding:1px 6px}
.ott-app .ott-compact-settings>summary>small{font-size:10px;font-weight:400;color:var(--ott-muted);margin-inline-start:auto}
.ott-app .ott-compact-settings>summary::after{content:"+";font-size:18px;line-height:1;color:var(--ott-muted)}
.ott-app .ott-compact-settings[open]>summary::after{content:"−"}.ott-app .ott-compact-settings[open]>summary{margin-bottom:8px;border-bottom:1px solid var(--ott-line);padding-bottom:7px}
.ott-app .ott-meta-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px}
.ott-app [data-ott-period-settings]{gap:8px}.ott-app .ott-period-form{padding:9px;margin-block:4px}.ott-app .ott-period-form .ott-fields{gap:5px 8px}
.ott-app .ott-workspace{grid-template-columns:minmax(0,1.35fr) minmax(310px,.8fr);gap:14px}
.ott-app .ott-edit-sidebar{position:static;max-height:none;overflow:visible;padding:14px}
.ott-app .ott-workspace>.ott-preview-area{position:sticky;top:100px;padding:12px}
.ott-app .ott-edit-sidebar [data-ott-cohorts]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ott-app .ott-edit-sidebar .ott-cohort-form{padding:9px;margin-block:8px}.ott-app .ott-edit-sidebar [data-ott-cohort-context]{margin-bottom:5px;font-size:10px}
.ott-app .ott-edit-sidebar .ott-cohort-actions{margin-top:7px}.ott-app .ott-edit-sidebar .ott-cohort-actions button{width:auto;min-width:190px}
.ott-app .ott-edit-sidebar .ott-quick-add{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin-block:10px;padding:10px}
.ott-app .ott-quick-add label{margin:0}.ott-app .ott-quick-add .ott-add-placement{grid-column:1}
.ott-app .ott-quick-add>[data-ott-placement-help]{align-self:end;margin-bottom:3px;font-size:10px}
.ott-app .ott-quick-add>.ott-add-note,.ott-app .ott-quick-add>.ott-error,.ott-app .ott-quick-add>.ott-primary{grid-column:1/-1;margin:0}
.ott-app .ott-session-list{max-height:190px}.ott-app .ott-preview-head h2{font-size:17px;margin-bottom:8px}
.ott-app .ott-preview-area .ott-toolbar{gap:5px;padding-bottom:7px;margin-bottom:7px}.ott-app .ott-preview-area>.ott-help{font-size:10px;margin-bottom:7px}
.ott-app .ott-preview-area .ott-sheet-viewport{max-width:340px}
.ott-app .ott-preview-area .ott-export-bar{gap:5px;margin-block:10px 5px}.ott-app .ott-preview-area .ott-export-bar>button{padding:6px 8px;flex:1 1 auto}
@media(max-width:1000px){.ott-app .ott-workspace{grid-template-columns:1fr}.ott-app .ott-workspace>.ott-preview-area{position:static}.ott-app .ott-preview-area .ott-sheet-viewport{max-width:280px}}
@media(max-width:650px){.ott-app .ott-settings{grid-template-columns:1fr;gap:7px}.ott-app .ott-meta-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ott-app [data-ott-period-settings]{grid-template-columns:1fr}.ott-app .ott-preview-area .ott-sheet-viewport{max-width:240px}.ott-app .ott-edit-sidebar{padding:10px}.ott-app .ott-panel h2{font-size:16px;margin-bottom:6px}.ott-app .ott-edit-sidebar>.ott-help{font-size:11px;margin-bottom:6px}.ott-app .ott-compact-settings>summary{font-size:12px}.ott-app .ott-cohort-fields legend{font-size:11px}.ott-app .ott-cohort-fields label{font-size:10px}}
@media(max-width:350px){.ott-app .ott-edit-sidebar [data-ott-cohorts]{grid-template-columns:1fr}.ott-app .ott-edit-sidebar .ott-quick-add{grid-template-columns:1fr}.ott-app .ott-quick-add>*{grid-column:1!important}}


