.slms{box-sizing:border-box}.slms *{box-sizing:inherit}.slms label{display:block;margin:.75rem 0}.slms input:not([type=checkbox]){display:block;width:100%;max-width:32rem}.slms nav{margin:1rem 0;display:flex;flex-wrap:wrap;gap:.75rem}.slms-note{overflow-wrap:anywhere}.slms-pdf-overlay{position:fixed;inset:0;z-index:2147483646;background:#fff;color:#171717;display:flex;flex-direction:column;padding:1rem}.slms-pdf-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.slms-pdf-stage{flex:1;min-height:0;overflow:auto;text-align:center;margin-top:1rem;user-select:none;-webkit-user-select:none;overscroll-behavior:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}.slms-pdf-pages{position:relative;width:max-content;min-width:100%;padding:4px 0}.slms-pdf-page{position:relative;box-sizing:border-box;margin:0 auto 16px;background:#fff;box-shadow:0 0 4px #888;overflow:hidden}.slms-pdf-page canvas{display:block;width:100%;height:100%;position:relative}.slms-pdf-page canvas[hidden]{display:none}.slms-pdf-page-label{position:absolute;inset:16px;color:#555;font-size:14px}.slms-pdf-stage:focus-visible{outline:2px solid #5068ff;outline-offset:-2px}.slms-pdf-tools button{padding:.5rem;color:#111;background:#eee;border:1px solid #aaa;border-radius:4px}.slms-pdf-status{margin:.5rem 0}.slms-pdf-overlay:focus{outline:none}@media print{.slms-pdf-overlay{display:none!important}}

/* Course cards: Elementor controls the surrounding layout; these variables control the grid. */
.slms-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--slms-course-gap,24px)}
.slms-course-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:var(--slms-course-padding,24px);border-radius:var(--slms-course-radius,28px);background:var(--slms-course-background,#c8d2d8);color:var(--slms-course-text,#171717);overflow-wrap:anywhere}
.slms-course-logo{width:64px;height:64px;object-fit:contain;margin:0 0 16px;border-radius:50%;flex-shrink:0}
.slms-course-placeholder{display:grid;place-items:center;background:#edf0f2;font-size:28px}
.slms-course-card .slms-course-title{font-family:inherit;font-weight:500;font-size:var(--slms-course-title-size,22px);line-height:1.4;color:inherit;margin:0 0 20px}
.slms-course-actions{display:flex;flex-wrap:wrap;gap:12px;width:100%;margin-top:auto}
.slms-course-card .slms-course-button{display:flex;justify-content:center;align-items:center;flex:1 1 110px;min-height:44px;padding:12px 16px;border-radius:var(--slms-course-button-radius,999px);font-family:inherit;font-size:var(--slms-course-button-size,14px);line-height:1.4;text-decoration:none;text-align:center;box-shadow:none;border:0}
.slms-course-material{background:var(--slms-course-material-background,#fff);color:var(--slms-course-material-text,#171717)}
.slms-course-live{background:var(--slms-course-accent,#5068ff);color:var(--slms-course-accent-text,#fff)}
.slms-course-unavailable{background:#e8edef;color:#414a50}
.slms-course-button:focus-visible{outline:3px solid currentColor;outline-offset:3px}.slms-course-button:hover{filter:brightness(.96)}
.slms-course-empty{grid-column:1/-1}.slms-course-notice{margin:0}
@media(max-width:540px){.slms-course-grid{gap:12px}.slms-course-card{padding:12px;border-radius:22px}.slms-course-logo{width:44px;height:44px;margin-bottom:10px}.slms-course-card .slms-course-title{font-size:var(--slms-course-title-size,16px);margin-bottom:12px}.slms-course-actions{flex-wrap:nowrap;gap:6px}.slms-course-card .slms-course-button{flex:1 1 0;min-width:0;padding:8px 4px;font-size:var(--slms-course-button-size,10px)}}

/* Reference layout: title + arrow tiles and compact certificate rows. */
.slms-materials{color:var(--slms-material-text,#171717)}
.slms-material-section+.slms-material-section{margin-top:56px}
.slms-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.slms-materials .slms-material-tile{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:100%;margin:0;padding:16px 22px;background:var(--slms-material-background,#c8d2d8);color:inherit;border:0;border-radius:var(--slms-material-radius,22px);box-shadow:none;font:inherit;font-size:16px;font-weight:400;line-height:1.4;text-align:left;text-decoration:none;cursor:pointer}
.slms-folder-tile{min-height:56px}.slms-materials .slms-file-tile{min-height:88px}
.slms-material-name{overflow-wrap:anywhere}.slms-file-tile .slms-material-name{align-self:flex-start}.slms-icon{display:block;flex-shrink:0}
.slms-material-tile:hover{filter:brightness(.97)}.slms-material-tile:focus-visible,.slms-certificate-download:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.slms-materials .slms-breadcrumbs{font-size:14px;margin:0 0 20px}.slms-note-tile{min-width:0}.slms-note-tile summary{list-style:none}.slms-note-tile summary::-webkit-details-marker{display:none}.slms-note-tile[open] .slms-icon{transform:rotate(90deg)}.slms-note{padding:16px;overflow-wrap:anywhere}.slms-material-unavailable{cursor:default}.slms-material-unavailable small{display:block;font-size:12px;margin-top:6px}
.slms-certificates{padding:0 16px;border-radius:var(--slms-certificate-radius,22px);background:var(--slms-certificate-background,#c8d2d8);color:var(--slms-certificate-text,#171717)}
.slms-certificate-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:12px 4px}.slms-certificate-row+.slms-certificate-row{border-top:1px solid var(--slms-certificate-divider,#454545)}.slms-certificate-title{font-size:16px;overflow-wrap:anywhere}
.slms-certificates .slms-certificate-download{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--slms-accent,#5068ff);color:#fff;text-decoration:none}.slms-certificate-download .slms-icon{width:20px;height:20px}
.slms-logout{display:flex;justify-content:flex-end}.slms-logout button{background:var(--slms-accent,#5068ff);color:#fff;border:0;border-radius:999px;padding:12px 30px;font:inherit;font-size:14px;min-height:44px;cursor:pointer}
@media(max-width:540px){.slms-material-grid{gap:16px 12px}.slms-materials .slms-material-tile{padding:14px 16px;font-size:14px}.slms-material-section+.slms-material-section{margin-top:48px}}

.slms-student-name,.slms-student-email,.slms-course-name{font:inherit;color:inherit;overflow-wrap:anywhere}
