@font-face{font-family:OSLCairo;src:url(fonts/Cairo-Regular.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:OSLCairo;src:url(fonts/Cairo-Bold.ttf) format('truetype');font-weight:700;font-display:swap}@font-face{font-family:OSLDejavu;src:url(fonts/DejaVuSans.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:OSLDejavu;src:url(fonts/DejaVuSans-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
.osl-app{--osl-blue:#285ab2;--osl-teal:#256b5d;color:#203249;font-family:OSLCairo,Arial,sans-serif;line-height:1.7;max-width:1100px;margin:auto}.osl-app *{box-sizing:border-box}.osl-app [hidden]{display:none!important}.osl-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.osl-app .osl-icon{flex:none;vertical-align:middle;width:20px;height:20px}.osl-app h1{font-size:clamp(1.4rem,2.4vw,2.1rem);line-height:1.6;margin:0 0 9px}.osl-app h2{font-size:1.1rem;line-height:1.65;display:flex;align-items:center;gap:9px;margin:0;color:#203249}.osl-app h3{font-size:.98rem;margin:22px 0 13px;display:flex;align-items:center;gap:8px}.osl-app h4{font-size:.88rem;margin:0 0 9px;display:flex;align-items:center;gap:7px}.osl-intro{padding:10px 0 20px}.osl-intro p{color:#62758a;font-size:.88rem;margin:5px 0}.osl-intro .osl-eyebrow{font-size:.78rem;color:var(--osl-teal);font-weight:700}.osl-steps{display:flex;gap:10px 20px;flex-wrap:wrap;padding:12px 0 20px;margin-bottom:5px;border-top:1px solid #e2e7ed}.osl-steps a{font-size:.8rem;color:#466185;text-decoration:none}.osl-steps a:hover{text-decoration:underline}.osl-section{padding:24px;background:#fff;border:1px solid #dce4ec;border-radius:11px;margin:0 0 20px;scroll-margin-top:110px}.osl-section-heading{display:flex;align-items:flex-start;gap:12px;margin:0 0 21px}.osl-section-heading p{margin:5px 0 0;color:#6a7b8d;font-size:.8rem}.osl-step{display:grid;place-items:center;width:34px;height:34px;flex:none;font-size:.78rem;font-weight:700;background:#ecf2fb;border-radius:7px;color:var(--osl-blue)}.osl-app :is(button,input,select,textarea){font-family:inherit;font-size:.88rem;max-width:100%}.osl-app button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:white;border:1px solid #cbd6e3;border-radius:7px;min-height:43px;padding:9px 14px;line-height:1.5;font-weight:700;color:#254b7c;cursor:pointer;transition:background .15s,border-color .15s}.osl-app button:hover{background:#f1f5fa;border-color:#718eaf}.osl-app button:disabled{opacity:.55;cursor:default}.osl-app :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #d9a336;outline-offset:3px}.osl-app .osl-primary{color:white;background:var(--osl-blue);border-color:var(--osl-blue)}.osl-app .osl-primary:hover{background:#234e97}.osl-app label{display:block;font-size:.8rem;font-weight:700}.osl-app :is(input:not([type=checkbox],[type=color],[type=range]),select,textarea){display:block;margin-top:6px;width:100%;min-height:45px;padding:10px 12px;line-height:1.7;border:1px solid #cbd6e3;background:#fff;color:#203249;border-radius:6px}.osl-app textarea{resize:vertical;min-height:130px}.osl-app input[type=color]{display:block;width:100%;height:45px;border:1px solid #cbd6e3;border-radius:6px;padding:5px;background:white;margin-top:6px}.osl-app input[type=checkbox]{width:17px;height:17px;vertical-align:middle;accent-color:var(--osl-blue)}.osl-app small{font-size:.72rem;color:#6b7d8f;font-weight:400}.osl-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.osl-type-grid button{padding:15px;text-align:start;justify-content:flex-start;gap:12px;color:#203249}.osl-type-grid button>.osl-icon{width:28px;height:28px;color:#36619c}.osl-type-grid strong,.osl-type-grid small{display:block}.osl-type-grid small{margin-top:4px}.osl-app .osl-selection-mark{margin-inline-start:auto;opacity:0}.osl-type-grid button[aria-pressed=true]{background:#f1f6fe;border-color:#3c6eb4;box-shadow:inset 0 0 0 1px #3c6eb4}.osl-type-grid button[aria-pressed=true] .osl-selection-mark{opacity:1}.osl-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px}.osl-general-fields{max-width:900px;margin-bottom:27px}.osl-names-section{border-top:1px solid #e4e9ef;padding-top:1px}.osl-entry-methods{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.osl-entry-box{padding:18px;background:#f9fbfd;border:1px solid #e0e7ef;border-radius:8px}.osl-entry-box>button{margin-top:11px}.osl-entry-box p{font-size:.82rem;color:#6b7d8f}.osl-help{font-size:.75rem;color:#6b7d8f;font-weight:400;line-height:1.75;margin:7px 0}.osl-app .osl-import-btn{color:#21614f;background:#eff7f3;border-color:#b4d0c5}.osl-excel-box .osl-icon{color:#226f56}.osl-roster-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin:23px 0 3px}.osl-roster-heading h4{margin:0}.osl-count{font-size:.78rem;color:#21614f}.osl-roster{list-style:none;max-height:365px;overflow:auto;padding:0!important;margin:12px 0 0!important;border:1px solid #e1e7ee;border-radius:7px;counter-reset:osl-students}.osl-roster:empty{display:none}.osl-roster li{counter-increment:osl-students;display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #e8edf2;margin:0!important;background:#fff}.osl-roster li:last-child{border-bottom:0}.osl-roster li::before{content:counter(osl-students);font-size:.72rem;color:#7b8c9b;min-width:22px;text-align:center}.osl-roster li>span{font-size:.85rem;overflow-wrap:anywhere;flex:1;min-width:0}.osl-roster .osl-row-actions{display:flex;gap:7px;flex:none}.osl-app .osl-icon-button{width:42px;height:42px;padding:9px;min-height:42px}.osl-app button[data-osl-delete]{color:#a33f45;border-color:#e6cbce}.osl-roster li[aria-current=true]{background:#f0f5fc}.osl-empty{font-size:.83rem;color:#76889a;background:#f8fafc;border:1px dashed #ced9e4;padding:17px;border-radius:7px}.osl-card-editor{border:1px solid #b8cbe2;background:#f6f9fd;border-radius:8px;padding:18px;margin:17px 0}.osl-card-editor>label{max-width:560px}.osl-card-editor details{margin:12px 0}.osl-card-editor summary{cursor:pointer;font-size:.82rem;color:#335a8a;padding:8px 0}.osl-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.osl-import-panel{padding:18px;margin-top:16px;border:1px solid #b7d3c7;border-radius:8px;background:#f5faf8}.osl-import-panel label{margin:9px 0}.osl-import-panel .osl-fields{margin-bottom:15px}.osl-import-actions{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.osl-import-actions label{flex:1;min-width:210px}.osl-app .osl-text-button{border:0;text-decoration:underline;background:transparent;min-height:40px;padding:5px 0;font-size:.78rem}.osl-storage{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #e4e9ef;margin-top:23px;padding-top:16px}.osl-storage>label{font-weight:400;font-size:.75rem}.osl-app .osl-danger{border:0;background:transparent;color:#a23942;padding:6px 0;min-height:38px;font-size:.76rem}.osl-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;max-width:920px;margin:auto}.osl-template-grid button{display:block;padding:10px;color:#31465d;font-size:.76rem;text-align:center;border:1px solid #d8e1eb}.osl-template-grid img{display:block;width:100%;height:100px;object-fit:contain;margin:0 0 8px;background:#f6f8fa;border-radius:4px}.osl-template-grid button[aria-pressed=true]{border:2px solid #3769b3;padding:9px;background:#f2f6fd}.osl-template-grid span{display:block;line-height:1.6}.osl-main-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:900px;margin:23px auto 0}.osl-extra{border-top:1px solid #e4e9ef;padding-top:15px;margin-top:22px}.osl-extra summary{cursor:pointer;font-size:.85rem;color:#34577f;min-height:37px;display:flex;gap:8px;align-items:center}.osl-extra summary::after{content:'+';margin-inline-start:auto}.osl-extra[open] summary::after{content:'−'}.osl-extra[open] summary{margin-bottom:13px}.osl-toggles{border:1px solid #dce4ec;border-radius:6px;padding:12px;display:flex;flex-wrap:wrap;gap:9px 18px;margin:18px 0 0}.osl-toggles legend{font-size:.8rem}.osl-toggles label{font-weight:400;font-size:.76rem;display:flex;align-items:center;gap:5px}.osl-preview-panel{background:#f4f7fb}.osl-preview-panel .osl-section-heading{margin-bottom:10px}.osl-chip{margin-inline-start:auto;font-size:.8rem;border:1px solid #d5dfe9;background:#fff;padding:3px 9px;border-radius:4px;direction:ltr}.osl-preview-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:15px auto;max-width:850px}.osl-preview-controls [data-osl-pagination]{display:flex;gap:10px;align-items:center;font-size:.8rem}.osl-preview-controls button{min-height:38px;font-size:.75rem;padding:6px 12px}.osl-preview-controls label{display:flex;align-items:center;gap:9px;font-size:.75rem;font-weight:400;margin-inline-start:auto}.osl-preview-controls input[type=range]{width:110px;accent-color:var(--osl-blue)}.osl-preview-viewport{direction:ltr;overflow:auto;overscroll-behavior:contain;background:#e8edf3;border:1px solid #dfe6ed;border-radius:7px;padding:12px;max-height:78vh;max-width:900px;margin:auto}.osl-paper-space{position:relative;margin:0 auto}.osl-paper{position:absolute;inset:0 auto auto 0;transform-origin:top left;overflow:hidden;direction:ltr;background:#fff;box-shadow:0 3px 10px #20324a15;box-sizing:border-box}.osl-card-template{position:absolute;box-sizing:border-box;direction:ltr}.osl-card-template .osl-art{position:absolute;box-sizing:border-box;pointer-events:none}.osl-line{position:absolute;padding:0;margin:0;white-space:nowrap;text-align:center;line-height:1.6;box-sizing:border-box}.osl-card-template .osl-line{pointer-events:none}.osl-exports{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:23px 0 10px}.osl-exports button{padding-inline:22px}.osl-app .osl-word{color:#246656;border-color:#aac9bc}.osl-word small{color:inherit;font-size:.68rem}.osl-message{font-size:.85rem;color:#315572;min-height:1.7em;margin:10px 0 0}.osl-message.osl-error{color:#a32b36}.osl-privacy{font-size:.73rem;color:#718396;border-top:1px solid #dfe6ee;padding-top:13px;margin:15px 0 0}.osl-app [data-osl-upgrade]{color:#285ab2;font-size:.85rem;font-weight:700;display:inline-block;padding:6px 0}
@media(max-width:760px){.osl-section{padding:17px 14px;border-radius:9px}.osl-section-heading{gap:9px}.osl-section-heading p{font-size:.75rem}.osl-app h2{font-size:1rem}.osl-type-grid{gap:8px}.osl-type-grid button{display:flex;flex-direction:column;justify-content:center;text-align:center;padding:11px 6px;gap:8px}.osl-type-grid button>.osl-icon{width:25px;height:25px}.osl-type-grid small,.osl-selection-mark{display:none!important}.osl-type-grid strong{font-size:.74rem}.osl-fields,.osl-entry-methods{grid-template-columns:1fr}.osl-main-options{grid-template-columns:1fr;gap:12px}.osl-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.osl-template-grid img{height:78px}.osl-template-grid button{font-size:.7rem;padding:8px}.osl-template-grid button[aria-pressed=true]{padding:7px}.osl-storage{align-items:flex-start}.osl-entry-box{padding:13px}.osl-roster li{padding:7px;gap:5px}.osl-roster .osl-row-actions{gap:5px}.osl-roster li::before{min-width:16px}.osl-card-editor{padding:13px}.osl-exports button{flex:1 1 44%;font-size:.78rem;padding:10px}.osl-preview-viewport{padding:8px}.osl-preview-controls{gap:8px}.osl-section{scroll-margin-top:85px}.osl-steps{gap:8px 16px}.osl-steps a{font-size:.72rem}.osl-privacy{font-size:.7rem}.osl-preview-controls input[type=range]{width:100px}.osl-roster li>span{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.osl-app button{transition:none}}
.osl-print-body{margin:0;background:#fff}.osl-print-body .osl-print-sheet{position:relative;break-after:page;page-break-after:always;overflow:hidden;box-sizing:border-box}.osl-print-body .osl-print-sheet:last-child{break-after:auto;page-break-after:auto}.osl-print-body .osl-line{line-height:1.6}@media print{.osl-print-body{margin:0!important}.osl-print-body *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.osl-print-body .osl-print-sheet{margin:0!important}}
@media(max-width:760px){.osl-app button{min-height:44px}.osl-app .osl-icon-button{width:44px;height:44px;min-height:44px}.osl-app .osl-preview-controls button{min-height:44px}}
