/* MeetLet Adobe Connect Bridge — scoped to .meetlet-* only */ .meetlet-app { --ml-green: #52cca3; --ml-green-deep: #00261a; --ml-green-soft: #e6faf3; --ml-ink: #00261a; --ml-muted: #4a6b5f; --ml-line: #cfe8de; --ml-bg: #f3fbf8; --ml-card: #ffffff; --ml-radius: 16px; color: var(--ml-ink); } .meetlet-hero { display: grid; gap: 1rem; grid-template-columns: 1.5fr 1fr auto; align-items: center; background: radial-gradient(900px 240px at 100% 0%, rgba(82, 204, 163, 0.28), transparent 50%), linear-gradient(135deg, #00261a 0%, #0a3d2e 55%, #145c45 100%); color: #fff; border-radius: var(--ml-radius); padding: 1.35rem 1.5rem; margin-bottom: 1.1rem; } .meetlet-hero__brand { display: flex; gap: 0.95rem; align-items: center; } .meetlet-hero__logo { width: 52px; height: 52px; object-fit: contain; border-radius: 12px; background: rgba(255, 255, 255, 0.95); padding: 6px; box-shadow: 0 8px 20px rgba(0, 38, 26, 0.25); } .meetlet-title { margin: 0.2rem 0; font-size: 1.4rem; font-weight: 700; } .meetlet-subtitle { opacity: 0.78; font-size: 0.9rem; } .meetlet-status { display: inline-flex; padding: 0.25rem 0.7rem; border-radius: 999px; font-size: 0.8rem; font-weight: 650; background: rgba(255, 255, 255, 0.14); } .meetlet-status--open { background: var(--ml-green); color: var(--ml-green-deep); } .meetlet-status--live { background: #0d9f6e; color: #fff; } .meetlet-status--scheduled { background: #c2a15a; color: #2a2418; } .meetlet-status--ended { background: #7a8480; color: #fff; } .meetlet-status--waitinghost { background: #d9a441; color: #2a2418; } .meetlet-status--checking { background: #d7e3de; color: #35564a; } .meetlet-statuswrap { display: inline-flex; align-items: center; gap: .55rem; min-height: 2.6rem; } .meetlet-statusring-wrap { position: relative; display: inline-flex; flex: 0 0 auto; width: 2.5rem; height: 2.5rem; border-radius: 50%; outline: none; } .meetlet-statusring-wrap:focus-visible { box-shadow: 0 0 0 2px rgba(82, 204, 163, 0.85); } .meetlet-status[data-tip] { cursor: help; outline: none; } .meetlet-status[data-tip]:focus-visible { box-shadow: 0 0 0 2px rgba(82, 204, 163, 0.85); border-radius: 999px; } .meetlet-statusring { width: 2.5rem; height: 2.5rem; transform: rotate(-90deg); flex: 0 0 auto; } .meetlet-statusring__track, .meetlet-statusring__prog { fill: none; stroke-width: 3.5; } .meetlet-statusring__track { stroke: rgba(0, 38, 26, .12); } .meetlet-statusring__prog { stroke: #0f8f63; stroke-linecap: round; stroke-dasharray: 100.53; stroke-dashoffset: 0; transition: stroke-dashoffset .2s linear, stroke .2s ease; } .meetlet-statuswrap[data-status="live"] .meetlet-statusring__prog { stroke: #0d9f6e; } .meetlet-statuswrap[data-status="ended"] .meetlet-statusring__prog { stroke: #6b7470; } .meetlet-statuswrap[data-status="scheduled"] .meetlet-statusring__prog { stroke: #b8892f; } .meetlet-statuswrap[data-status="waitinghost"] .meetlet-statusring__prog { stroke: #c48a1a; } .meetlet-statuscountdown { position: absolute; inset-inline-start: 0; width: 2.5rem; text-align: center; font-size: .72rem; font-weight: 700; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .55); pointer-events: none; line-height: 2.5rem; } .meetlet-alert--error, .meetlet-alert.meetlet-alert--error { border-style: solid; border-color: #f1b4b4; background: #fdecec; color: #b71c1c; } .meetlet-tip { position: relative; } .meetlet-tip[data-tip]::after { content: attr(data-tip); position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(4px); padding: .45rem .65rem; border-radius: 8px; background: #1f2d28; color: #fff; font-size: .75rem; font-weight: 650; line-height: 1.35; white-space: normal; width: max-content; max-width: 16rem; text-align: center; opacity: 0; pointer-events: none; transition: opacity .15s ease, transform .15s ease; z-index: 20; } .meetlet-tip[data-tip]::before { content: ""; position: absolute; bottom: calc(100% + 4px); left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: #1f2d28; opacity: 0; pointer-events: none; transition: opacity .15s ease; z-index: 20; } .meetlet-tip[data-tip]:hover::after, .meetlet-tip[data-tip]:focus-within::after { opacity: 1; transform: translateX(-50%) translateY(0); } .meetlet-tip[data-tip]:hover::before, .meetlet-tip[data-tip]:focus-within::before { opacity: 1; } .meetlet-joinwrap { display: inline-flex; } .meetlet-btn--join.is-disabled, .meetlet-btn--join[aria-disabled="true"] { opacity: .55; cursor: not-allowed; pointer-events: none; } .meetlet-btn--join.is-busy { cursor: wait; } .meetlet-meta-line { margin-top: 0.35rem; font-size: 0.86rem; opacity: 0.9; } .meetlet-btn { border: 0; border-radius: 999px; padding: 0.75rem 1.35rem; font-weight: 700; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; } .meetlet-btn--join { background: linear-gradient(180deg, #6fd9b5 0%, var(--ml-green) 45%, #3db890 100%); color: var(--ml-green-deep); box-shadow: 0 10px 22px rgba(82, 204, 163, 0.35); } .meetlet-btn--join:hover { transform: translateY(-1px); background: linear-gradient(180deg, #7fe0bf 0%, #5fd4ab 100%); } .meetlet-btn--ghost { background: transparent; color: var(--ml-green-deep); border: 1px solid rgba(0, 38, 26, 0.25); padding: 0.35rem 0.75rem; border-radius: 10px; } .meetlet-intro, .meetlet-card { background: var(--ml-card); border: 1px solid var(--ml-line); border-radius: var(--ml-radius); padding: 1rem 1.15rem; margin-bottom: 1rem; } .meetlet-intro--plain { background: transparent; border: 0; border-radius: 0; padding: .35rem 0 0; margin: 0; line-height: 1.75; color: var(--ml-ink); } .meetlet-panel { min-height: 4rem; } .meetlet-tablewrap--full { width: 100%; max-width: 100%; overflow: visible; border: 1px solid var(--ml-line); border-radius: 14px; background: #fff; } .meetlet-table--sessions { width: 100% !important; table-layout: auto; } .meetlet-table--sessions th, .meetlet-table--sessions td { padding: .85rem .95rem !important; } .meetlet-table--sessions th:nth-child(1), .meetlet-table--sessions td:nth-child(1), .meetlet-table--sessions th:nth-child(2), .meetlet-table--sessions td:nth-child(2) { white-space: normal; overflow-wrap: break-word; word-break: normal; } .meetlet-table--sessions .meetlet-table__num { width: 1%; text-align: center; font-weight: 700; white-space: nowrap; } .meetlet-table--sessions .meetlet-table__actions { width: 1%; text-align: end; white-space: nowrap; vertical-align: middle; } .meetlet-table--sessions .meetlet-table__actions .meetlet-iconactions { justify-content: flex-end; } .meetlet-attendance__title { margin: 0 0 .45rem; } .meetlet-recname { display: inline-flex; align-items: center; gap: .35rem; max-width: 100%; } .meetlet-recname__text { word-break: break-word; } .meetlet-recname__input { min-width: 12rem; max-width: 100%; padding: .25rem .45rem; border: 1px solid #7bb9a4; border-radius: 8px; font: inherit; } .meetlet-iconbtn--inline { width: 1.7rem; height: 1.7rem; border-radius: 8px; flex: 0 0 auto; } .meetlet-iconbtn--adobeedit { color: #0b5cab; } .meetlet-access-matrix { overflow: auto; max-height: min(70vh, 36rem); margin: .75rem 0 1.25rem; border: 1px solid #cfe8de; border-radius: 8px; } .meetlet-access-table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; } .meetlet-access-table th, .meetlet-access-table td { padding: .4rem .35rem; border: 1px solid #cfe8de; text-align: center; vertical-align: middle; font-size: .82rem; } .meetlet-access-table thead th { background: #f3fbf8; color: #00261a; font-weight: 700; max-width: 8.5rem; position: sticky; top: 0; z-index: 2; } .meetlet-access-table thead th:first-child, .meetlet-access-table tbody th { position: sticky; inset-inline-start: 0; z-index: 1; text-align: start; background: #f7fcfa; white-space: nowrap; min-width: 11rem; } .meetlet-access-table thead th:first-child { z-index: 3; } .meetlet-access-col__label { line-height: 1.25; margin-bottom: .35rem; } .meetlet-access-rowhead { display: table-cell; } .meetlet-access-role { display: inline-block; margin-inline-end: .4rem; vertical-align: middle; } .meetlet-access-toggle { display: inline-block; margin: .15rem 0 0; padding: .12rem .45rem; border: 1px solid #9bb8ad; border-radius: 999px; background: #fff; color: #0f3d2e; font-size: .68rem; font-weight: 700; line-height: 1.2; cursor: pointer; vertical-align: middle; } .meetlet-access-toggle:hover { background: #e8f7f1; } .meetlet-access-matrix.is-disabled .meetlet-access-toggle { opacity: .55; cursor: not-allowed; } .meetlet-access-matrix.is-disabled { opacity: .55; pointer-events: none; } .path-admin .meetlet-access-matrix { max-width: 100%; } .meetlet-attendance__export { display: flex; flex-wrap: wrap; gap: .65rem; margin: 0 0 1.45rem; padding: .85rem 0 1rem; border-bottom: 1px solid var(--ml-line); } .meetlet-attendance__export .meetlet-btn { text-decoration: none !important; } .meetlet-attendance__export.meetlet-iconactions { gap: .45rem; } .meetlet-tabtoolbar { display: flex; justify-content: flex-end; align-items: center; gap: .75rem; margin: 0 0 1rem; padding: 0 0 .75rem; border-bottom: 1px solid var(--ml-line); } .meetlet-tabtoolbar .meetlet-btn { text-decoration: none !important; flex: 0 0 auto; } .meetlet-tabtoolbar__refresh svg { width: 1.05rem; height: 1.05rem; flex: 0 0 auto; display: block; } .meetlet-jobpoll { flex: 1 1 auto; min-width: 8rem; display: flex; flex-direction: column; gap: .3rem; } .meetlet-jobpoll__label { font-size: .75rem; font-weight: 650; color: #3d5c52; line-height: 1.3; } .meetlet-jobpoll__track { height: 8px; border-radius: 99px; background: #e4f4ee; overflow: hidden; box-shadow: inset 0 0 0 1px #c6e5d8; } .meetlet-jobpoll__bar { height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, #52cca3, #0f766e); animation: meetlet-jobpoll-fill 60s linear forwards; } @keyframes meetlet-jobpoll-fill { from { width: 0; } to { width: 100%; } } .meetlet-license-badge { font-weight: 700; border-radius: 999px; padding: .35rem .65rem; } .meetlet-license-badge--active { background: var(--ml-green); color: var(--ml-green-deep); } .meetlet-license-badge--inactive { background: #fff4d6; color: #5a4700; } .meetlet-iconactions { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: .35rem; } .meetlet-iconbtn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 2.15rem; height: 2.15rem; flex: 0 0 auto; border-radius: 10px; border: 1px solid #9fdcc4; background: #fff; color: var(--ml-green-deep); text-decoration: none !important; cursor: pointer; padding: 0; transition: background .15s ease, border-color .15s ease; } .meetlet-iconbtn svg { width: 1.1rem; height: 1.1rem; display: block; } .meetlet-iconbtn:hover, .meetlet-iconbtn:focus-visible { background: var(--ml-green-soft); border-color: #52cca3; outline: none; } .meetlet-iconbtn.is-busy { opacity: .7; cursor: wait; pointer-events: none; } .meetlet-iconbtn--disabled, .meetlet-iconbtn:disabled { opacity: .48; cursor: not-allowed; filter: grayscale(0.35); } .meetlet-iconbtn--disabled:hover, .meetlet-iconbtn--disabled:focus-visible, .meetlet-iconbtn:disabled:hover, .meetlet-iconbtn:disabled:focus-visible { transform: none; box-shadow: none; } .meetlet-iconbtn--request { color: #b45309; border-color: #f0c48a; background: #fffaf3; } .meetlet-iconbtn--request:hover, .meetlet-iconbtn--request:focus-visible { background: #fff3e0; border-color: #e0a04a; } .meetlet-iconbtn--mp4 { color: #0f766e; border-color: #7dd3c7; background: #f2fffb; } .meetlet-iconbtn--mp4:hover, .meetlet-iconbtn--mp4:focus-visible { background: #dffaf3; border-color: #2bb89a; } .meetlet-iconbtn--mp4-agent { color: #1d4ed8; border-color: #93c5fd; background: #eff6ff; } .meetlet-iconbtn--mp4-agent:hover, .meetlet-iconbtn--mp4-agent:focus-visible { background: #dbeafe; border-color: #3b82f6; } .meetlet-iconbtn--import { color: #0b5cab; border-color: #bfd7f5; background: #f5faff; } .meetlet-iconbtn--import:hover, .meetlet-iconbtn--import:focus-visible { background: #e8f2ff; border-color: #7daee8; } .meetlet-iconbtn--update { color: #9a6700; border-color: #e8c97a; background: #fffbeb; } .meetlet-iconbtn--update:hover, .meetlet-iconbtn--update:focus-visible { background: #fff3cd; border-color: #d4a017; } .meetlet-iconbtn--deletemoodle { color: #9f1239; border-color: #f0b4c4; background: #fff5f7; } .meetlet-iconbtn--deletemoodle:hover, .meetlet-iconbtn--deletemoodle:focus-visible { background: #ffe4ea; border-color: #e07a93; } .meetlet-iconbtn--danger { color: #b42318; border-color: #f2b8b3; background: #fff8f7; } .meetlet-iconbtn--danger:hover, .meetlet-iconbtn--danger:focus-visible { background: #ffeceb; border-color: #df7c74; } .meetlet-iconbtn--play { color: var(--ml-green-deep); } .meetlet-iconbtn--users { color: #0f766e; border-color: #7dd3c7; background: #f2fffb; } .meetlet-iconbtn--users:hover, .meetlet-iconbtn--users:focus-visible { background: #dffaf3; border-color: #2bb89a; } .meetlet-iconbtn--csv { color: #0b5cab; border-color: #bfd7f5; background: #f5faff; } .meetlet-iconbtn--csv:hover, .meetlet-iconbtn--csv:focus-visible { background: #e8f2ff; border-color: #7daee8; } .meetlet-iconbtn--zip { color: #7c3aed; border-color: #c4b5fd; background: #f5f3ff; } .meetlet-iconbtn--zip:hover, .meetlet-iconbtn--zip:focus-visible { background: #ede9fe; border-color: #a78bfa; } .meetlet-iconbtn--download { color: #0b5cab; border-color: #bfd7f5; background: #f5faff; } .meetlet-iconbtn--download:hover, .meetlet-iconbtn--download:focus-visible { background: #e8f2ff; border-color: #7daee8; } .meetlet-iconbtn__spinner { position: absolute; inset: 0; margin: auto; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(82, 204, 163, 0.25); border-top-color: var(--ml-green-deep); animation: meetlet-spin .8s linear infinite; background: #fff; } /* Activity view + icon buttons: JS .meetlet-floattip (viewport coords, RTL-safe). */ .meetlet-app [data-tip]::after, .meetlet-app [data-tip]::before { content: none !important; display: none !important; } .meetlet-floattip { position: fixed; z-index: 2147483000; padding: .4rem .65rem; border-radius: 8px; background: #1f2d28; color: #fff; font-size: .75rem; font-weight: 650; line-height: 1.35; max-width: min(16rem, calc(100vw - 16px)); text-align: center; box-shadow: 0 10px 24px rgba(0, 0, 0, .28); pointer-events: none; opacity: 0; transform: translateY(4px); transition: opacity .12s ease, transform .12s ease; } .meetlet-floattip--wide { max-width: min(22rem, calc(100vw - 16px)); text-align: start; } .meetlet-floattip.is-visible { opacity: 1; transform: translateY(0); } .meetlet-floattip.is-below { transform: translateY(-4px); } .meetlet-floattip.is-below.is-visible { transform: translateY(0); } .meetlet-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .meetlet-btn-with-icon { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; } .meetlet-btn-with-icon svg { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; display: block; } .meetlet-btn-with-icon__label { line-height: 1.2; } .meetlet-jobstatus { display: inline-flex; align-items: center; padding: .25rem .55rem; border-radius: 999px; font-size: .82rem; font-weight: 650; background: #eef3f1; color: #456257; } .meetlet-jobstatus--warn { background: #fff3cd; color: #7a5b00; border: 1px solid #f0d78c; } .meetlet-jobstatus--ok { background: #e6faf3; color: #0a3d2e; border: 1px solid #9fdcc4; } .meetlet-jobstatus--info { background: #eef6ff; color: #2a4a6b; border: 1px solid #c5daf5; } .meetlet-alert--warning, .meetlet-alert.meetlet-alert--warning { border-style: solid; border-color: #e6b422; background: #fff8e6; color: #5c4700; } .meetlet-tabs { display: flex; gap: .45rem; flex-wrap: wrap; margin-bottom: .85rem; } .meetlet-tab { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid var(--ml-line); background: #fff; color: var(--ml-muted); border-radius: 999px; padding: .45rem .95rem; cursor: pointer; font-weight: 650; } .meetlet-tab__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; } .meetlet-tab__icon svg { width: 1rem; height: 1rem; display: block; } .meetlet-tab__label { line-height: 1.2; } .meetlet-tab.is-active { background: var(--ml-green-deep); border-color: var(--ml-green-deep); color: #fff; } .meetlet-loading { display: flex; align-items: center; gap: .75rem; padding: 1.25rem; border-radius: var(--ml-radius); background: var(--ml-bg); border: 1px dashed var(--ml-line); color: var(--ml-muted); } .meetlet-loading__spinner, .meetlet-joinoverlay__spinner { width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgba(82, 204, 163, 0.25); border-top-color: var(--ml-green-deep); animation: meetlet-spin .8s linear infinite; } @keyframes meetlet-spin { to { transform: rotate(360deg); } } .meetlet-empty, .meetlet-alert { padding: 1.1rem; border-radius: var(--ml-radius); background: var(--ml-bg); border: 1px dashed var(--ml-line); color: var(--ml-muted); } .meetlet-alert { border-style: solid; border-color: #e7cfc0; background: #fff8f2; color: #7a4e32; } .meetlet-joinoverlay { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; background: rgba(24, 32, 30, 0.45); backdrop-filter: blur(3px); } .meetlet-joinoverlay[hidden] { display: none !important; } .meetlet-joinoverlay__card { width: min(420px, calc(100vw - 2rem)); background: #fff; border-radius: 18px; padding: 1.6rem 1.4rem; text-align: center; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25); } .meetlet-joinoverlay__logo { width: 56px; height: 56px; object-fit: contain; margin-bottom: .85rem; } .meetlet-joinoverlay__spinner { margin: 0 auto .85rem; width: 28px; height: 28px; } .meetlet-joinoverlay__title { font-weight: 750; font-size: 1.05rem; margin-bottom: .35rem; } .meetlet-joinoverlay__text { color: var(--ml-muted); font-size: .92rem; } .meetlet-conntest { max-width: 880px; margin: 0 auto 2rem; } .meetlet-conntest__hero { text-align: center; padding: 1.5rem 1rem 1rem; border-radius: 18px; background: linear-gradient(180deg, #e6faf3, #ffffff); border: 1px solid #b8e8d6; margin-bottom: 1rem; } .meetlet-conntest__logo { width: 72px; height: 72px; object-fit: contain; margin-bottom: .6rem; } .meetlet-conntest__title { margin: 0 0 .4rem; } .meetlet-conntest__intro { margin: 0 auto; max-width: 38rem; color: #4a6b5f; } .meetlet-conntest__grid { display: grid; gap: .7rem; } .meetlet-conntest__card { background: #fff; border: 1px solid #cfe8de; border-radius: 14px; padding: .95rem 1rem; } .meetlet-conntest__card--ok { border-color: #9fdcc4; background: #f3fbf8; } .meetlet-conntest__card--fail { border-color: #ead3d0; background: #fff8f7; } .meetlet-conntest__rowtop { display: flex; align-items: center; gap: .65rem; } .meetlet-conntest__label { flex: 1; font-weight: 650; } .meetlet-conntest__detail { margin-top: .45rem; margin-inline-start: 1.55rem; color: #4a6b5f; font-size: .88rem; } .meetlet-conntest__subs { display: grid; gap: .55rem; margin-top: .75rem; margin-inline-start: 1.55rem; } .meetlet-conntest__sub { border: 1px solid #dbece4; border-radius: 10px; padding: .65rem .75rem; background: #fff; } .meetlet-conntest__sub--ok { border-color: #bfe8d4; background: #f8fcfa; } .meetlet-conntest__sub--fail { border-color: #ead3d0; background: #fffaf9; } .meetlet-conntest__sub--skipped { opacity: .72; } .meetlet-conntest__sublabel { flex: 1; font-weight: 600; font-size: .92rem; } .meetlet-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; } .meetlet-dot--ok { background: #52cca3; box-shadow: 0 0 0 4px rgba(82, 204, 163, 0.2); } .meetlet-dot--fail { background: #b42318; box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.12); } .meetlet-pill { font-size: .72rem; font-weight: 750; letter-spacing: .02em; border-radius: 999px; padding: .2rem .55rem; } .meetlet-pill--ok { background: #d4f5e8; color: #00261a; } .meetlet-pill--fail { background: #f8e2df; color: #8f2d24; } .meetlet-conntest__footer { margin-top: 1.2rem; text-align: center; } .meetlet-participant-form .singleselect, .meetlet-participant-form .form-select, .meetlet-participant-form .btn { margin-inline-end: .4rem; margin-bottom: .4rem; } .meetlet-card__title { margin: 0 0 .75rem; font-size: 1.05rem; font-weight: 750; color: var(--ml-green-deep); } .meetlet-intro { line-height: 1.75; color: var(--ml-ink); } .meetlet-attendance__title { margin: 0 0 .35rem; font-size: 1.08rem; font-weight: 750; } .meetlet-attendance__help { margin: 0 0 .9rem; color: var(--ml-muted); font-size: .92rem; } .meetlet-tablewrap { max-width: 100%; overflow: visible; } .meetlet-table { width: 100%; max-width: 100%; table-layout: auto; border-collapse: separate; border-spacing: 0; background: #fff; } .meetlet-table th, .meetlet-table td { padding: .85rem 1rem; border-bottom: 1px solid var(--ml-line); text-align: start; vertical-align: middle; } .meetlet-table thead th { background: #f3fbf8; color: var(--ml-green-deep); font-weight: 700; font-size: .86rem; } .meetlet-table tbody tr:hover { background: #f7fcfa; } .meetlet-table .meetlet-table__actions, .meetlet-table--recordings td:last-child, .meetlet-table--recordings th:last-child, .meetlet-table--content td:last-child, .meetlet-table--content th:last-child { width: 1%; white-space: nowrap; text-align: end; vertical-align: middle; } .meetlet-table--recordings td:last-child .meetlet-iconactions { justify-content: flex-end; } .meetlet-table--content td:last-child .meetlet-iconactions { justify-content: flex-end; } .meetlet-table--recordings td:first-child { overflow-wrap: break-word; word-break: normal; } .meetlet-card:has(.meetlet-table) { overflow: visible; } .meetlet-btn--sm { padding: .4rem .85rem; border-radius: 10px; font-size: .86rem; } .meetlet-btn--ghost { background: #fff; color: var(--ml-green-deep); border: 1px solid #9fdcc4; } .meetlet-btn--ghost:hover { background: var(--ml-green-soft); } .meetlet-modal[hidden] { display: none !important; } .meetlet-modal { position: fixed !important; inset: 0 !important; z-index: 10060 !important; display: none; align-items: center; justify-content: center; padding: 1rem; background: rgba(24, 32, 30, 0.58); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } .meetlet-modal__backdrop { position: absolute; inset: 0; background: transparent; } .meetlet-modal__dialog { position: relative; z-index: 1; width: min(860px, 100%); max-height: min(82vh, 760px); overflow: auto; background: #fff; border-radius: 18px; border: 1px solid #cfe8de; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25); } .meetlet-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; border-bottom: 1px solid var(--ml-line); background: linear-gradient(180deg, #f3fbf8, #fff); position: sticky; top: 0; } .meetlet-modal__title { margin: 0; font-size: 1.05rem; font-weight: 750; color: var(--ml-green-deep); } .meetlet-modal__close { border: 0; background: #e8efec; width: 34px; height: 34px; border-radius: 10px; font-size: 1.3rem; line-height: 1; cursor: pointer; color: var(--ml-green-deep); } .meetlet-modal__body { padding: 1rem 1.15rem 1.25rem; } .meetlet-modal--confirm .meetlet-modal__dialog { width: min(480px, 100%); max-height: min(86vh, 640px); overflow: hidden; display: flex; flex-direction: column; } .meetlet-modal--confirm .meetlet-modal__head { padding: 1.2rem 1.15rem 1rem; border-radius: 18px 18px 0 0; } .meetlet-modal--confirm .meetlet-modal__body { overflow: auto; } .meetlet-modal__lead { margin: 0 0 .85rem; font-size: 1rem; font-weight: 650; line-height: 1.65; color: #00261a; } .meetlet-modal.is-busy .meetlet-modal__close, .meetlet-modal.is-busy .meetlet-modal__foot { display: none !important; } .meetlet-modal.is-busy .meetlet-modal__backdrop { pointer-events: none; } .meetlet-modal__busy { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .85rem; padding: .35rem 0 .15rem; text-align: center; } .meetlet-modal__busy .meetlet-modal__lead { margin: 0; } .meetlet-modal__spinner { width: 28px; height: 28px; border-radius: 50%; border: 2px solid rgba(82, 204, 163, 0.25); border-top-color: var(--ml-green-deep); animation: meetlet-spin .8s linear infinite; } .meetlet-modal__callout { margin: 0 0 .9rem; padding: .85rem 1rem .7rem; border-radius: 12px; border: 1px solid #e6c56a; background: #fff8e6; color: #5a4700; } .meetlet-modal__callout-title { margin: 0 0 .4rem; font-weight: 700; color: #5a4700; } .meetlet-modal__limits { margin: 0 0 .55rem; padding-inline-start: 1.2rem; } .meetlet-modal__limits li { margin: 0 0 .28rem; line-height: 1.5; } .meetlet-modal__upgrade { margin: 0; line-height: 1.6; } .meetlet-modal__keep { margin: 0; color: #334942; line-height: 1.65; } .meetlet-modal__foot { display: flex; justify-content: flex-end; align-items: center; gap: .6rem; padding: .9rem 1.15rem 1.05rem; border-top: 1px solid #cfe8de; background: linear-gradient(180deg, #f7fcfa 0%, #ffffff 70%); } .meetlet-modal__foot .btn { border-radius: 10px; font-weight: 700; padding: .5rem 1.15rem; } .meetlet-modal__foot .btn-success { background: #52cca3; border-color: #3db892; color: #00261a; } .meetlet-modal__foot .btn-success:hover, .meetlet-modal__foot .btn-success:focus { background: #6fd9b5; border-color: #52cca3; color: #00261a; } .meetlet-modal__foot .btn-outline-danger { color: #a33b3b; border-color: #d9a0a0; background: #fff; } .meetlet-modal__foot .btn-outline-danger:hover, .meetlet-modal__foot .btn-outline-danger:focus { color: #fff; background: #c0392b; border-color: #c0392b; } /* rtl:begin:ignore */ html[dir="rtl"] .meetlet-modal--confirm .meetlet-modal__title, html[dir="rtl"] .meetlet-modal--confirm .meetlet-modal__body, html[dir="rtl"] .meetlet-modal--confirm .meetlet-modal__lead { text-align: right; } /* rtl:end:ignore */ /* Marker class on html; lock scroll on body only — overflow+height on html resets scroll position. */ html.meetlet-modal-open body { overflow: hidden; touch-action: none; overscroll-behavior: none; } @media (max-width: 900px) { .meetlet-hero { grid-template-columns: 1fr; } } .meetlet-meetingpicker-wrap { margin: 0 0 1rem; } .meetlet-meetingpicker { max-width: 28rem; } .meetlet-meetingpicker__search { width: 100%; margin-bottom: .35rem; } .meetlet-meetingpicker__hint { min-height: 1.1rem; font-size: .82rem; color: #4a6b5f; } .meetlet-combobox { position: relative; max-width: 32rem; z-index: 1; } .meetlet-combobox.is-open { z-index: 40; } #fitem_id_existingscoid_ui, .fitem:has([data-meeting-picker]) { overflow: visible; } .fitem:has([data-meeting-picker].is-open) { z-index: 20; position: relative; } .meetlet-combobox__toggle { display: flex; align-items: center; justify-content: space-between; gap: .5rem; width: 100%; min-height: 2.4rem; padding: .45rem .7rem; border: 1px solid #9bb8ad; border-radius: 8px; background: #fff; color: #12352a; text-align: start; cursor: pointer; } .meetlet-combobox.is-readonly .meetlet-combobox__toggle, .meetlet-combobox__toggle:disabled { opacity: .75; cursor: default; background: #f3f7f5; } .meetlet-combobox__value { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .meetlet-combobox__caret { opacity: .65; } .meetlet-combobox__panel { position: absolute; inset-inline: 0; top: calc(100% + 4px); z-index: 30; background: #fff; border: 1px solid #9bb8ad; border-radius: 10px; box-shadow: 0 10px 28px rgba(16, 40, 32, .16); padding: .55rem; } .meetlet-combobox__search { width: 100%; margin: 0 0 .45rem; padding: .4rem .55rem; border: 1px solid #c5d8cf; border-radius: 8px; } .meetlet-combobox__list { list-style: none; margin: 0; padding: 0; max-height: 14rem; overflow: auto; } .meetlet-combobox__option { display: block; width: 100%; border: 0; background: transparent; text-align: start; padding: .45rem .5rem; border-radius: 6px; color: #12352a; cursor: pointer; } .meetlet-combobox__option:hover, .meetlet-combobox__option:focus-visible { background: #e8f7f1; outline: none; } .meetlet-combobox__option.is-selected { background: #d4f0e5; font-weight: 700; } .meetlet-combobox__hint { min-height: 1rem; margin-top: .35rem; font-size: .8rem; color: #4a6b5f; } /* Switch toggle (admin settings + activity form + access matrix). */ .meetlet-switch { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; margin: 0; padding: 0; vertical-align: middle; position: relative; line-height: 0; } .meetlet-switch__input { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; pointer-events: none; } .meetlet-switch__track { --meetlet-switch-pad: 3px; --meetlet-switch-thumb: 16px; position: relative; width: 40px; height: 22px; flex: 0 0 40px; border-radius: 999px; background: #c5d5ce; box-shadow: inset 0 0 0 1px rgba(0, 38, 26, .08); transition: background .18s ease; overflow: hidden; box-sizing: border-box; /* rtl:ignore */ direction: ltr; /* Keep thumb travel physical LTR; icons stay readable. */ } .meetlet-switch__thumb { position: absolute; top: var(--meetlet-switch-pad); left: var(--meetlet-switch-pad); width: var(--meetlet-switch-thumb); height: var(--meetlet-switch-thumb); border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 38, 26, .2); transition: left .18s ease; box-sizing: border-box; } .meetlet-switch__thumb::before { content: ""; position: absolute; inset: 3px; background: #4a6b5f; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='black' d='M2.1 2.1a.9.9 0 0 1 1.27 0L6 4.73 8.63 2.1A.9.9 0 1 1 9.9 3.37L7.27 6 9.9 8.63A.9.9 0 1 1 8.63 9.9L6 7.27 3.37 9.9A.9.9 0 1 1 2.1 8.63L4.73 6 2.1 3.37a.9.9 0 0 1 0-1.27z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='black' d='M2.1 2.1a.9.9 0 0 1 1.27 0L6 4.73 8.63 2.1A.9.9 0 1 1 9.9 3.37L7.27 6 9.9 8.63A.9.9 0 1 1 8.63 9.9L6 7.27 3.37 9.9A.9.9 0 1 1 2.1 8.63L4.73 6 2.1 3.37a.9.9 0 0 1 0-1.27z'/%3E%3C/svg%3E") center / contain no-repeat; } .meetlet-switch__input:checked + .meetlet-switch__track { background: #52cca3; } .meetlet-switch__input:checked + .meetlet-switch__track .meetlet-switch__thumb { /* Stay inside the track: pad + thumb + pad = full width. */ left: calc(100% - var(--meetlet-switch-thumb) - var(--meetlet-switch-pad)); transform: none; } .meetlet-switch__input:checked + .meetlet-switch__track .meetlet-switch__thumb::before { background: #00261a; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='black' d='M10.2 3.1a.85.85 0 0 1 0 1.2L5.35 9.15a.85.85 0 0 1-1.2 0L1.8 6.8A.85.85 0 0 1 3 5.6l1.75 1.75 4.25-4.25a.85.85 0 0 1 1.2 0z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='black' d='M10.2 3.1a.85.85 0 0 1 0 1.2L5.35 9.15a.85.85 0 0 1-1.2 0L1.8 6.8A.85.85 0 0 1 3 5.6l1.75 1.75 4.25-4.25a.85.85 0 0 1 1.2 0z'/%3E%3C/svg%3E") center / contain no-repeat; } .meetlet-switch__input:focus-visible + .meetlet-switch__track { outline: 2px solid #52cca3; outline-offset: 2px; } .meetlet-switch--compact .meetlet-switch__track { --meetlet-switch-pad: 2px; --meetlet-switch-thumb: 12px; width: 30px; height: 16px; flex-basis: 30px; } .meetlet-switch--compact .meetlet-switch__thumb::before { inset: 2px; } .meetlet-switch--compact .meetlet-switch__input:checked + .meetlet-switch__track .meetlet-switch__thumb { left: calc(100% - var(--meetlet-switch-thumb) - var(--meetlet-switch-pad)); transform: none; } .meetlet-access-cell .meetlet-switch { justify-content: center; } .meetlet-admin-settings .form-item:has(.meetlet-switch) { align-items: flex-start; } .meetlet-admin-settings .form-item:has(.meetlet-switch) > .form-setting { display: flex; flex-direction: column; /* Toward the label column: left in LTR, right in RTL. */ align-items: start; } .meetlet-admin-settings .form-item:has(.meetlet-switch) > .form-label, .meetlet-admin-settings .form-item:has(.meetlet-switch) > .form-setting { padding-top: .4rem; } .meetlet-admin-settings .form-item:has(.meetlet-switch) .form-label > label { margin: 0; padding: 0; line-height: 22px; display: flex; align-items: center; min-height: 22px; } .meetlet-admin-settings .form-item:has(.meetlet-switch) .form-check, .meetlet-admin-settings .form-item:has(.meetlet-switch) .checkbox, .meetlet-admin-settings .form-item:has(.meetlet-switch) .form-checkbox { display: inline-flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: .45rem; margin: 0; padding: 0; min-height: 22px; line-height: 22px; width: auto; max-width: 100%; } /* rtl:begin:ignore */ html[dir="rtl"] .meetlet-admin-settings .form-item:has(.meetlet-switch) .form-check, html[dir="rtl"] .meetlet-admin-settings .form-item:has(.meetlet-switch) .checkbox, html[dir="rtl"] .meetlet-admin-settings .form-item:has(.meetlet-switch) .form-checkbox { /* Keep switch on the label side (visual right), same as pre-compact layout. */ flex-direction: row-reverse; justify-content: flex-end; text-align: right; } /* rtl:end:ignore */ /* Site admin: Moodle role → Adobe Connect role mapping (chip radios). */ .meetlet-rolemapping-table .meetlet-rolemapping-cell { white-space: normal; vertical-align: middle; } .meetlet-rolechip-group { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem; padding: .2rem; border-radius: 999px; background: #eef5f1; box-shadow: inset 0 0 0 1px rgba(0, 38, 26, .08); } .meetlet-rolechip { position: relative; display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: .4rem .9rem; border-radius: 999px; cursor: pointer; user-select: none; color: #3d5c50; background: transparent; font-weight: 600; font-size: .875rem; line-height: 1.2; transition: background .15s ease, color .15s ease, box-shadow .15s ease, transform .12s ease; } .meetlet-rolechip__input { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; pointer-events: none; } .meetlet-rolechip__text { position: relative; z-index: 1; } .meetlet-rolechip:hover { color: #00261a; background: rgba(255, 255, 255, .65); } .meetlet-rolechip:has(.meetlet-rolechip__input:checked) { color: #00261a; background: #fff; box-shadow: 0 1px 2px rgba(0, 38, 26, .12), 0 0 0 1px rgba(82, 204, 163, .45); } .meetlet-rolechip:has(.meetlet-rolechip__input:checked)[data-role-value="host"] { background: linear-gradient(180deg, #e8fff6 0%, #d4f7e9 100%); box-shadow: 0 1px 2px rgba(0, 38, 26, .14), 0 0 0 1px #52cca3; } .meetlet-rolechip:has(.meetlet-rolechip__input:checked)[data-role-value="presenter"] { background: linear-gradient(180deg, #fff8e8 0%, #ffefc8 100%); box-shadow: 0 1px 2px rgba(0, 38, 26, .12), 0 0 0 1px #e0b44a; } .meetlet-rolechip:has(.meetlet-rolechip__input:focus-visible) { outline: 2px solid #52cca3; outline-offset: 2px; } .meetlet-rolechip:active { transform: scale(.98); } .meetlet-settingchip-group { width: auto; max-width: 100%; gap: .28rem; padding: .22rem; border-radius: 999px; background: #eef5f1; box-shadow: inset 0 0 0 1px rgba(0, 38, 26, .08); } /* Activity form: compact two-option source chips (e.g. role mapping mode). */ .meetlet-settingchip-group--binary { display: inline-flex; flex-wrap: nowrap; width: auto; } .meetlet-settingchip-group--binary .meetlet-settingchip { flex: 0 0 auto; min-width: 5.5rem; padding-inline: .85rem; } .mform .fitem:has(.meetlet-settingchip-group--binary) .felement { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; } .mform .fitem:has(.meetlet-settingchip-group--binary) .meetlet-settinghint { flex: 1 1 12rem; margin-top: 0; } .meetlet-settingchip { min-width: 0; flex: 0 1 auto; align-items: center; text-align: center; border-radius: 999px; padding: .42rem .78rem; white-space: nowrap; } .meetlet-settingchip__content { display: inline-flex; align-items: center; justify-content: center; gap: .38rem; min-width: 0; } .meetlet-settingchip__meta { display: inline-flex; align-items: center; max-width: 100%; padding: .08rem .42rem; border-radius: 999px; background: rgba(0, 38, 26, .08); color: #4a6b5f; font-size: .73rem; font-weight: 650; line-height: 1.35; white-space: nowrap; } .meetlet-settingchip:has(.meetlet-settingchip__input:checked) .meetlet-settingchip__meta { background: rgba(0, 38, 26, .06); color: #334942; } .meetlet-settinghint { margin-top: .45rem; font-size: .84rem; line-height: 1.55; color: #4a6b5f; } .mform .fitem:has(.meetlet-settingchip-group) .felement { max-width: 100%; } .mform .fitem.is-disabled, .mform .fitem .is-disabled { opacity: .58; } @media (max-width: 720px) { .meetlet-rolechip-group { border-radius: 14px; width: 100%; } .meetlet-rolechip { flex: 1 1 auto; text-align: center; } .meetlet-settingchip-group { border-radius: 14px; padding: .28rem; gap: .3rem; } .meetlet-settingchip-group--binary { flex-wrap: wrap; width: 100%; } .meetlet-settingchip-group--binary .meetlet-settingchip { flex: 1 1 calc(50% - .3rem); } .mform .fitem:has(.meetlet-settingchip-group--binary) .meetlet-settinghint { flex-basis: 100%; margin-top: .25rem; } .meetlet-settingchip { flex: 1 1 calc(50% - .3rem); padding-inline: .65rem; } .meetlet-settingchip__content { flex-wrap: wrap; gap: .22rem; } } /* Cron & video-delivery dashboard (plugin settings) */ .meetlet-admin-settings .form-item:has(#meetlet-cronmon) { display: block; padding: 0; border: 0; background: transparent; } .meetlet-admin-settings .form-item:has(#meetlet-cronmon) > .form-label, .meetlet-admin-settings .form-item:has(#meetlet-cronmon) .form-description, .meetlet-admin-settings .form-item:has(#meetlet-cronmon) .form-defaultinfo, .meetlet-admin-settings .form-item:has(#meetlet-cronmon) .form-setting > .form-shortname { display: none !important; } .meetlet-admin-settings .form-item:has(#meetlet-cronmon) > .form-setting { max-width: none; width: 100%; float: none; } .meetlet-cronmon { --ml-green: #52cca3; --ml-green-deep: #00261a; --ml-muted: #4a6b5f; --ml-line: #cfe8de; color: var(--ml-green-deep); margin: 0 0 1.5rem; } .meetlet-cronmon.is-refreshing { opacity: .82; transition: opacity .25s ease; } .meetlet-cronmon__hero { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; justify-content: space-between; padding: 1.15rem 1.25rem; margin: 0 0 1rem; border-radius: 12px; background: #fafbfc; color: var(--ml-green-deep); border: 1px solid #e2e8f0; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); } .meetlet-cronmon__copy { min-width: 12rem; flex: 1 1 16rem; } .meetlet-cronmon__copy h3 { margin: .15rem 0 .35rem; font-size: 1.25rem; font-weight: 700; color: var(--ml-green-deep); } .meetlet-cronmon__intro { margin: 0; color: var(--ml-muted); max-width: none; line-height: 1.55; white-space: nowrap; } .meetlet-cronmon__live { display: inline-flex; align-items: center; gap: .4rem; margin: 0 0 .2rem; padding: .12rem .65rem; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; background: #e6faf3; color: #0d9f6e; border: 1px solid #b8e8d6; } .meetlet-cronmon__live::before { content: ''; width: .55rem; height: .55rem; border-radius: 50%; background: #0d9f6e; box-shadow: 0 0 0 0 rgba(13, 159, 110, .55); animation: meetlet-cronmon-pulse 1.6s ease-out infinite; } @keyframes meetlet-cronmon-pulse { 0% { box-shadow: 0 0 0 0 rgba(13, 159, 110, .45); } 70% { box-shadow: 0 0 0 10px rgba(13, 159, 110, 0); } 100% { box-shadow: 0 0 0 0 rgba(13, 159, 110, 0); } } .meetlet-cronmon__timers { display: flex; gap: 1rem; flex: 0 0 auto; } .meetlet-cronmon__timer { position: relative; width: 6.4rem; text-align: center; } .meetlet-cronmon__ring { width: 6.4rem; height: 6.4rem; transform: rotate(-90deg); display: block; } .meetlet-cronmon__ring-track, .meetlet-cronmon__ring-prog { fill: none; stroke-width: 6; } .meetlet-cronmon__ring-track { stroke: #e2e8f0; } .meetlet-cronmon__ring-prog { stroke: #52cca3; stroke-linecap: round; stroke-dasharray: 263.89; transition: stroke .2s ease; } .meetlet-cronmon__timer.is-low .meetlet-cronmon__ring-prog { stroke: #d97706; } .meetlet-cronmon__timer.is-due .meetlet-cronmon__ring-prog { stroke: #0d9f6e; animation: meetlet-cronmon-glow 1.1s ease-in-out infinite; } @keyframes meetlet-cronmon-glow { 0%, 100% { opacity: 1; } 50% { opacity: .35; } } .meetlet-cronmon__tick { position: absolute; inset: 1.15rem 0 1.7rem; display: flex; align-items: center; justify-content: center; font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--ml-green-deep); pointer-events: none; } .meetlet-cronmon__timerlabel { display: block; margin-top: .15rem; font-size: .72rem; font-weight: 650; color: var(--ml-muted); line-height: 1.3; } .meetlet-cronmon__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0 0 1rem; } .meetlet-cronmon__card { background: #fff; border: 1px solid var(--ml-line); border-radius: 14px; padding: .9rem 1rem .75rem; min-height: 7.5rem; } .meetlet-cronmon__card h4 { margin: 0 0 .45rem; font-size: .95rem; font-weight: 800; } .meetlet-cronmon__card p { margin: 0 0 .3rem; font-size: .85rem; line-height: 1.45; color: #334942; word-break: break-word; } .meetlet-cronmon__muted { color: var(--ml-muted) !important; font-size: .8rem !important; } .meetlet-cronmon__card--ok { border-color: #9fdcc4; background: linear-gradient(180deg, #f3fbf8 0%, #fff 70%); } .meetlet-cronmon__card--warn { border-color: #e6c56a; background: linear-gradient(180deg, #fff8e6 0%, #fff 70%); } .meetlet-cronmon__card--bad { border-color: #ead3d0; background: linear-gradient(180deg, #fff8f7 0%, #fff 70%); } .meetlet-cronmon__counts { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 .9rem; } .meetlet-cronmon__chip { display: inline-flex; align-items: center; gap: .3rem; padding: .28rem .7rem; border-radius: 999px; font-size: .78rem; font-weight: 650; background: #e6faf3; color: #00261a; border: 1px solid #cfe8de; } .meetlet-cronmon__chip b { font-weight: 800; } .meetlet-cronmon__chip--queued { background: #e8f4ff; border-color: #c5ddf5; } .meetlet-cronmon__chip--running { background: #e6faf3; border-color: #9fdcc4; } .meetlet-cronmon__chip--waiting { background: #fff4d6; border-color: #e6c56a; } .meetlet-cronmon__pill--waiting { background: #ffe7a3; } .meetlet-cronmon__chip--failed { background: #fff1f0; border-color: #ead3d0; } .meetlet-cronmon__chip--import { background: #eef2ff; border-color: #c5ccef; } .meetlet-cronmon__pill--import { background: #4c5fd7; color: #fff; } .meetlet-cronmon__chip--ready { background: #d9f7ea; border-color: #52cca3; } .meetlet-cronmon__videos-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem .85rem; margin: 0 0 .6rem; } .meetlet-cronmon__videos-head h4 { margin: 0; font-size: 1.02rem; font-weight: 800; } .meetlet-cronmon__refreshbtn { margin-inline-start: auto; position: relative; } .meetlet-cronmon__refreshbtn.is-busy { pointer-events: none; } .meetlet-cronmon__refreshbtn.is-busy svg, .meetlet-cronmon__refreshbtn.is-busy .meetlet-btn-with-icon__label { opacity: 0.35; } .meetlet-cronmon__refreshbtn.is-busy::after { content: ''; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(82, 204, 163, 0.25); border-top-color: var(--ml-green-deep); animation: meetlet-spin .8s linear infinite; } .meetlet-cronmon__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .7rem; margin: 0 0 .75rem; padding: .7rem .85rem; border: 1px solid #e7f3ee; border-radius: 12px; background: linear-gradient(180deg, #f9fdfb 0%, #fff 100%); } .meetlet-cronmon__columns-label { color: #3d5c52; font-size: .8rem; font-weight: 750; white-space: nowrap; } .meetlet-cronmon__columnchips { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem; } .meetlet-cronmon__columnchip { border: 1px solid #cfe8de; border-radius: 999px; background: #fff; color: #3d5c52; padding: .26rem .7rem; font-size: .76rem; font-weight: 700; line-height: 1.25; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; } .meetlet-cronmon__columnchip:hover, .meetlet-cronmon__columnchip:focus-visible { background: #edf8f4; border-color: #9fdcc4; color: #00261a; outline: none; } .meetlet-cronmon__columnchip.is-active { background: #e6faf3; border-color: #52cca3; color: #00261a; } .meetlet-cronmon__columnchip[disabled] { opacity: .72; cursor: default; } .meetlet-cronmon__tablewrap { overflow: auto; border: 1px solid var(--ml-line); border-radius: 14px; background: #fff; } .meetlet-cronmon__table { width: 100%; margin: 0; border-collapse: collapse; } .meetlet-cronmon__table th, .meetlet-cronmon__table td { padding: .65rem .8rem; text-align: start; border-bottom: 1px solid #e7f3ee; vertical-align: top; font-size: .85rem; } .meetlet-cronmon__table th { background: #f3fbf8; font-weight: 750; color: #00261a; white-space: nowrap; } .meetlet-cronmon__table tr:last-child td { border-bottom: 0; } .meetlet-cronmon.is-awaiting .meetlet-cronmon__cards { min-height: 7rem; } .meetlet-cronmon__loading { grid-column: 1 / -1; padding: 1.4rem 1rem; text-align: center; color: var(--ml-muted); font-weight: 600; } .meetlet-cronmon__name { font-weight: 650; } .meetlet-cronmon__link { color: inherit; font-weight: 650; text-decoration: none; } .meetlet-cronmon__link:hover, .meetlet-cronmon__link:focus-visible { color: #0a5c45; text-decoration: underline; } .meetlet-cronmon__sco { color: var(--ml-muted); font-weight: 500; } .meetlet-cronmon__sco-id, .meetlet-cronmon__sco-head { direction: ltr; unicode-bidi: isolate; } .meetlet-cronmon__sco-id { font-variant-numeric: tabular-nums; color: #3d5c52; white-space: nowrap; } .meetlet-cronmon__sco-head[data-tip] { cursor: help; } /* Ops cell: no box chrome — only icon buttons keep their own borders. */ .meetlet-cronmon__table td.meetlet-cronmon__dl, .meetlet-cronmon__dl { text-align: end; white-space: nowrap; vertical-align: middle; border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; } .meetlet-cronmon__dl .meetlet-iconactions { display: inline-flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: .35rem; border: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; padding: 0; margin: 0; } .meetlet-cronmon__dl .meetlet-iconbtn { vertical-align: middle; } .meetlet-cronmon__detail { color: var(--ml-muted); max-width: 18rem; } .meetlet-cronmon__when { white-space: nowrap; color: #3d5c52; } .meetlet-cronmon__empty { text-align: center; color: var(--ml-muted); padding: 1.4rem !important; } .meetlet-cronmon__pill { display: inline-flex; padding: .15rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 750; background: #e6faf3; color: #00261a; white-space: nowrap; } .meetlet-cronmon__pill--queued { background: #dceeff; } .meetlet-cronmon__pill--running { background: #52cca3; color: #00261a; } .meetlet-cronmon__pill--retry { background: #ffe7a3; } .meetlet-cronmon__pill--failed { background: #f8d0cc; color: #7a1f1a; } .meetlet-cronmon__pill--ready { background: #0d9f6e; color: #fff; } .meetlet-cronmon__pill--pending { background: #e7eeeb; } @media (max-width: 900px) { .meetlet-cronmon__cards { grid-template-columns: 1fr; } .meetlet-cronmon__hero { align-items: flex-start; } .meetlet-cronmon__intro { white-space: normal; } .meetlet-cronmon__toolbar { align-items: flex-start; } } /* rtl:begin:ignore */ html[dir="rtl"] .meetlet-admin-settings #id_s_meetletacbfree_agent_dispatch, html[dir="rtl"] .meetlet-admin-settings select[name="s_meetletacbfree_agent_dispatch"] { direction: rtl; text-align: right; } /* rtl:end:ignore */ /* rtl:begin:ignore */ html[dir="rtl"] .meetlet-admin-settings #id_s_meetletacbfree_agent_dispatch option, html[dir="rtl"] .meetlet-admin-settings select[name="s_meetletacbfree_agent_dispatch"] option { direction: rtl; text-align: right; } /* rtl:end:ignore */ /* rtl:begin:ignore */ html[dir="rtl"] .path-admin .meetlet-hourpicker, html[dir="rtl"] .path-admin .meetlet-hourpresets { direction: rtl; } /* rtl:end:ignore */ .meetlet-gate-msg { white-space: pre-wrap; line-height: 1.65; } .meetlet-err { display: grid; gap: .75rem; color: #00261a; } .meetlet-err__lead { margin: 0; font-size: 1rem; font-weight: 650; line-height: 1.65; } .meetlet-err__codebox { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; padding: .65rem .85rem; border-radius: 12px; border: 1px dashed #9fdcc4; background: #f3fbf8; } .meetlet-err__codelabel { font-size: .8rem; font-weight: 700; color: #4a6b5f; } .meetlet-err__codebox code { font-size: 1.02rem; font-weight: 800; letter-spacing: .04em; padding: .2rem .55rem; border-radius: 8px; background: #00261a; color: #52cca3; direction: ltr; unicode-bidi: isolate; cursor: pointer; } .meetlet-err__codebox code.is-copied { background: #0d9f6e; color: #fff; } .meetlet-err__facts { display: grid; gap: .45rem; margin: 0; } .meetlet-err__fact { display: grid; grid-template-columns: minmax(7rem, 11rem) 1fr; gap: .4rem 1rem; padding: .45rem .6rem; border-radius: 10px; background: #f7fcfa; border: 1px solid #e7f3ee; } .meetlet-err__fact dt { margin: 0; font-size: .78rem; font-weight: 750; color: #4a6b5f; } .meetlet-err__fact dd { margin: 0; } .meetlet-err__fact code { font-size: .86rem; padding: .05rem .35rem; border-radius: 5px; background: #e6faf3; direction: ltr; unicode-bidi: isolate; word-break: break-all; } .meetlet-err__fix { padding: .75rem .9rem .55rem; border-radius: 12px; border: 1px solid #cfe8de; background: #fff; line-height: 1.65; } .meetlet-err__fix ol, .meetlet-err__fix ul { margin: 0; padding-inline-start: 1.2rem; } .meetlet-err__fix li { margin: 0 0 .4rem; } .meetlet-err__fix code { font-size: .86em; padding: .05rem .3rem; border-radius: 4px; background: #e6faf3; } .meetlet-err__prelabel { margin: 0; font-size: .8rem; font-weight: 750; color: #4a6b5f; } .meetlet-err__xml { margin: 0; padding: .75rem .9rem; overflow-x: auto; border-radius: 10px; border: 1px solid #cfe8de; background: #0a3d2e; color: #e6faf3; font-size: .8rem; line-height: 1.45; direction: ltr; text-align: left; white-space: pre; max-height: 14rem; } .meetlet-err__guide { margin: 0; font-size: .85rem; color: #4a6b5f; line-height: 1.55; } @media (max-width: 640px) { .meetlet-err__fact { grid-template-columns: 1fr; } } /* Course page: keep branded monologo colours (Moove / filtericon fallback). */ .activityiconcontainer.communication.isbranded .activityicon, .activityiconcontainer.communication .activityicon.nofilter, .activityiconcontainer .activityicon[src*="mod/meetletacbfree"] { filter: none !important; } /* ===== MeetLet admin settings (scoped under .meetlet-admin-settings) ===== */ .meetlet-admin-settings .settingsform > h2 { display: none; } .meetlet-admin-settings .meetlet-settings-hero { display:flex; gap:1rem; align-items:center; padding:1.15rem 1.25rem; margin:0 0 1rem; border-radius:16px; background: radial-gradient(700px 180px at 100% 0%, rgba(82,204,163,.22), transparent 55%), linear-gradient(135deg, #00261a 0%, #0a3d2e 60%, #145c45 100%); color:#fff; border:1px solid rgba(82,204,163,.25); } .meetlet-admin-settings .meetlet-settings-hero img { width:56px; height:56px; object-fit:contain; background:rgba(255,255,255,.95); border-radius:12px; padding:6px; } .meetlet-admin-settings .meetlet-settings-hero h3 { margin:0 0 .2rem; font-size:1.2rem; font-weight:700; color:#fff; display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .55rem; } /* rtl:begin:ignore */ .meetlet-admin-settings .meetlet-settings-hero .meetlet-settings-version { display:inline-block; flex:0 0 auto; align-self:center; margin-inline-start:auto; padding:.12rem .55rem; font-size:.72rem; font-weight:650; line-height:1.35; letter-spacing:.02em; border-radius:999px; background:rgba(82,204,163,.18); border:1px solid rgba(82,204,163,.35); color:#b8f5df; white-space:nowrap; direction:ltr; unicode-bidi:isolate; } /* rtl:end:ignore */ .meetlet-admin-settings .meetlet-settings-hero p { margin:0; opacity:.85; color:#e6faf3; white-space:nowrap; max-width:none; } .meetlet-admin-settings .meetlet-settings-copy { min-width:0; flex:1 1 auto; } @media (max-width: 900px) { .meetlet-admin-settings .meetlet-settings-hero p { white-space:normal; } } .meetlet-admin-settings .nav-tabs { border-bottom:2px solid #cfe8de; gap:.2rem; } .meetlet-admin-settings .nav-tabs .nav-link { border:0 !important; border-radius:6px !important; padding:.45rem .9rem; color:#00261a; font-weight:650; box-shadow:none !important; outline:none !important; } .meetlet-admin-settings .nav-tabs .nav-link:hover { background:#e6faf3; color:#00261a; } .meetlet-admin-settings .nav-tabs .nav-link.active { background:#52cca3; color:#00261a; } .meetlet-admin-settings .nav-tabs .nav-link:focus, .meetlet-admin-settings .nav-tabs .nav-link:focus-visible, .meetlet-admin-settings .nav-tabs .nav-link:active { outline:none !important; box-shadow:none !important; border:0 !important; } .meetlet-admin-settings .meetlet-feature-group { margin:1rem 0 .35rem; padding:1rem 1.1rem .35rem; border:1px solid #cfe8de; border-radius:12px; background:linear-gradient(180deg, #f3fbf8 0%, #ffffff 55%); } .meetlet-admin-settings .meetlet-feature-group h4 { margin:0 0 .25rem; color:#00261a; font-size:1.02rem; font-weight:700; } .meetlet-admin-settings .meetlet-feature-group p { margin:0 0 .5rem; color:#4a6b5f; font-size:.9rem; } .meetlet-admin-settings .meetlet-settings-card { background:#fff; border:1px solid #cfe8de; border-radius:14px; padding:1rem 1.15rem; margin:.35rem 0 1rem; } .meetlet-admin-settings .meetlet-license-badge { font-weight: 700; border-radius: 999px; padding: .35rem .65rem; } .meetlet-admin-settings .meetlet-license-badge--active { background: var(--ml-green, #52cca3); color: var(--ml-green-deep, #00261a); } .meetlet-admin-settings .meetlet-license-badge--inactive { background: #fff4d6; color: #5a4700; } .meetlet-admin-settings #meetlet-license-modal.meetlet-modal, .meetlet-admin-settings #meetlet-registration-modal.meetlet-modal, .meetlet-admin-settings #meetlet-cronmon-modal.meetlet-modal, .meetlet-admin-settings #meetlet-access-reset-modal.meetlet-modal { z-index: 20000 !important; } .meetlet-admin-settings .meetlet-access-reset-toolbar { display: flex; justify-content: flex-end; margin: 0 0 .65rem; } /* Cron videos ops cell: no extra cell/wrapper border (icon buttons keep theirs). */ .meetlet-admin-settings .meetlet-cronmon__table td.meetlet-cronmon__dl { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; background: transparent !important; box-shadow: none !important; } .meetlet-admin-settings .meetlet-cronmon__dl .meetlet-iconactions { border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; } .meetlet-admin-settings .meetlet-modal--confirm .meetlet-modal__dialog { width: min(480px, 100%); max-height: min(86vh, 640px); overflow: hidden; display: flex; flex-direction: column; } .meetlet-admin-settings .meetlet-modal--confirm .meetlet-modal__head { padding: 1.2rem 1.15rem 1rem; border-radius: 18px 18px 0 0; } .meetlet-admin-settings .meetlet-modal__lead { margin: 0 0 .85rem; font-size: 1rem; font-weight: 650; line-height: 1.65; color: #00261a; } .meetlet-admin-settings .meetlet-modal__callout { margin: 0 0 .9rem; padding: .85rem 1rem .7rem; border-radius: 12px; border: 1px solid #e6c56a; background: #fff8e6; color: #5a4700; } .meetlet-admin-settings .meetlet-modal__callout-title { margin: 0 0 .4rem; font-weight: 700; } .meetlet-admin-settings .meetlet-modal__limits { margin: 0 0 .55rem; padding-inline-start: 1.2rem; } .meetlet-admin-settings .meetlet-modal__keep { margin: 0; color: #334942; line-height: 1.65; } .meetlet-admin-settings .meetlet-modal__foot { display: flex; justify-content: flex-end; align-items: center; gap: .6rem; flex-wrap: wrap; padding: .9rem 1.15rem 1.05rem; border-top: 1px solid #cfe8de; background: linear-gradient(180deg, #f7fcfa 0%, #ffffff 70%); } .meetlet-admin-settings .meetlet-modal__foot .btn { border-radius: 10px; font-weight: 700; padding: .5rem 1.15rem; } .meetlet-admin-settings .meetlet-modal__foot .btn-success { background: #52cca3 !important; border-color: #3db892 !important; color: #00261a !important; } .meetlet-admin-settings .meetlet-modal__foot .btn-outline-danger { color: #a33b3b !important; border-color: #d9a0a0 !important; background: #fff !important; } .meetlet-admin-settings .meetlet-modal__foot .btn-outline-danger:hover, .meetlet-admin-settings .meetlet-modal__foot .btn-outline-danger:focus { color: #fff !important; background: #c0392b !important; border-color: #c0392b !important; } .meetlet-admin-settings .meetlet-about { display:grid; gap:1.1rem; } .meetlet-admin-settings .meetlet-about__brand { display:flex; justify-content:center; align-items:center; padding:1.35rem 1.2rem; border-radius:14px; background:#f0f2f4; border:1px solid #e2e6ea; } .meetlet-admin-settings .meetlet-about__brand img { max-width:240px; width:100%; height:auto; display:block; margin:0 auto; } .meetlet-admin-settings .meetlet-about h4 { margin:0 0 .55rem; color:#00261a; } .meetlet-admin-settings .meetlet-about p { margin:0 0 .85rem; color:#334942; line-height:1.75; text-align:start; } .meetlet-admin-settings .meetlet-guide { display:grid; gap:1rem; } .meetlet-admin-settings .meetlet-guide__heading { margin:0; color:#00261a; font-size:1.15rem; } .meetlet-admin-settings .meetlet-guide__intro { margin:0; color:#334942; line-height:1.7; } .meetlet-admin-settings .meetlet-guide__callout { padding:.85rem 1rem; border-radius:10px; line-height:1.65; border:1px solid #e6c56a; background:#fff8e6; color:#5a4700; } .meetlet-admin-settings .meetlet-guide__section { padding:1rem 1.05rem; border-radius:12px; border:1px solid #cfe8de; background:#f7fcfa; } .meetlet-admin-settings .meetlet-guide__section--current { background:#fff; } .meetlet-admin-settings .meetlet-guide__section h4 { margin:0 0 .55rem; color:#00261a; font-size:1.02rem; font-weight:700; } .meetlet-admin-settings .meetlet-guide__section h5 { margin:.85rem 0 .35rem; color:#0a3d2e; font-size:.95rem; font-weight:700; } .meetlet-admin-settings .meetlet-guide__body, .meetlet-admin-settings .meetlet-guide__body p, .meetlet-admin-settings .meetlet-guide__body li { color:#334942; line-height:1.7; } .meetlet-admin-settings .meetlet-guide__body p { margin:0 0 .55rem; } .meetlet-admin-settings .meetlet-guide__body ol, .meetlet-admin-settings .meetlet-guide__body ul { margin:0 0 .35rem; padding-inline-start:1.25rem; } .meetlet-admin-settings .meetlet-guide__body li { margin:0 0 .35rem; } .meetlet-admin-settings .meetlet-guide__body code, .meetlet-admin-settings .meetlet-guide__table code { font-size:.88em; padding:.05rem .3rem; border-radius:4px; background:#e6faf3; color:#00261a; } .meetlet-admin-settings .meetlet-guide__table { width:100%; margin:.35rem 0 0; border-collapse:collapse; } .meetlet-admin-settings .meetlet-guide__table th, .meetlet-admin-settings .meetlet-guide__table td { padding:.45rem .55rem; border:1px solid #cfe8de; vertical-align:top; text-align:start; } .meetlet-admin-settings .meetlet-guide__table thead th, .meetlet-admin-settings .meetlet-guide__table tbody th { background:#e6faf3; color:#00261a; font-weight:650; } /* rtl:begin:ignore */ .meetlet-admin-settings .meetlet-guide__code { margin:.35rem 0 0; padding:.75rem .9rem; overflow-x:auto; border-radius:10px; border:1px solid #cfe8de; background:#0a3d2e; color:#e6faf3; font-size:.82rem; line-height:1.45; direction:ltr; text-align:left; white-space:pre; } /* rtl:end:ignore */ .meetlet-admin-settings .meetlet-guide__code-cell code { font-weight:800; letter-spacing:.02em; direction:ltr; unicode-bidi:isolate; } .meetlet-admin-settings .meetlet-guide__table td ol, .meetlet-admin-settings .meetlet-guide__table td ul { margin:.15rem 0 0; padding-inline-start:1.15rem; } .meetlet-admin-settings .meetlet-guide__table td li { margin:0 0 .25rem; } .meetlet-admin-settings .meetlet-hourpicker { max-width: 42rem; } .meetlet-admin-settings .meetlet-hourpicker.is-dimmed, .meetlet-admin-settings .form-item.is-dimmed { opacity: .45; pointer-events: none; } .meetlet-admin-settings .meetlet-hourpicker__tz { margin: 0 0 .55rem; color:#4a6b5f; font-size:.88rem; } .meetlet-admin-settings .meetlet-hourpresets { display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 .65rem; } .meetlet-admin-settings .meetlet-hourpreset { border:1px solid #9fdcc4; background:#fff; color:#00261a; border-radius:999px; padding:.28rem .7rem; font-size:.8rem; font-weight:650; cursor:pointer; } .meetlet-admin-settings .meetlet-hourpreset:hover { background:#e6faf3; } .meetlet-admin-settings .meetlet-hourpreset--ghost { border-color:#cfe8de; color:#4a6b5f; } .meetlet-admin-settings .meetlet-hourgrid { display:grid; grid-template-columns:repeat(8, minmax(0,1fr)); gap:.35rem; } .meetlet-admin-settings .meetlet-hourchip { border:1px solid #cfe8de; background:#f7fcfa; color:#00261a; border-radius:10px; padding:.45rem 0; font-size:.82rem; font-weight:750; cursor:pointer; } .meetlet-admin-settings .meetlet-hourchip.is-on { background:#52cca3; border-color:#0d9f6e; color:#00261a; } .meetlet-admin-settings .meetlet-hourchip.is-now { box-shadow:0 0 0 2px rgba(13,159,110,.35); } @media (max-width: 720px) { .meetlet-admin-settings .meetlet-hourgrid { grid-template-columns:repeat(6, minmax(0,1fr)); } } .meetlet-admin-settings .meetlet-about__cta-wrap { display:flex; justify-content:center; margin-top:.35rem; padding-top:.35rem; } .meetlet-admin-settings .meetlet-about__cta { display:inline-flex; align-items:center; justify-content:center; min-width:220px; padding:.7rem 1.35rem; border-radius:10px; background:#52cca3; color:#00261a !important; text-decoration:none !important; font-weight:700; border:1px solid #3db892; box-shadow:0 6px 16px rgba(0,38,26,.08); } .meetlet-admin-settings .meetlet-about__cta:hover { background:#6fd9b5; color:#00261a !important; } .meetlet-admin-settings .meetlet-settings-btn { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; padding:.6rem 1.15rem; border-radius:10px; border:0; cursor:pointer; background:#52cca3; color:#00261a !important; text-decoration:none !important; font-weight:700; } .meetlet-admin-settings .meetlet-settings-btn:hover { background:#6fd9b5; color:#00261a !important; } .meetlet-admin-settings .meetlet-settings-btn:disabled { opacity:.65; cursor:wait; } .meetlet-admin-settings .meetlet-settings-btn svg { width:1.1rem; height:1.1rem; flex:0 0 auto; display:block; } .meetlet-admin-settings .meetlet-license-actions { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; } .meetlet-admin-settings .meetlet-license-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; } .meetlet-admin-settings .meetlet-license-actions .btn svg { width:1.05rem; height:1.05rem; flex:0 0 auto; display:block; } .meetlet-admin-settings .meetlet-license-btn--free { background: linear-gradient(180deg, #e6faf3 0%, #d4f5ea 100%) !important; border: 2px solid #52cca3 !important; color: #00261a !important; border-radius: 10px !important; font-weight: 700 !important; padding: .6rem 1.15rem !important; box-shadow: 0 4px 12px rgba(82, 204, 163, 0.18) !important; } .meetlet-admin-settings .meetlet-license-btn--free:hover, .meetlet-admin-settings .meetlet-license-btn--free:focus { background: linear-gradient(180deg, #6fd9b5 0%, #52cca3 100%) !important; border-color: #3db892 !important; color: #00261a !important; box-shadow: 0 6px 16px rgba(82, 204, 163, 0.28) !important; } .meetlet-admin-settings .meetlet-conntest { max-width:none; margin:0; } .meetlet-admin-settings .meetlet-conntest__actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin:.85rem 0 1rem; } .meetlet-admin-settings .meetlet-conntest__status { color:#4a6b5f; font-size:.9rem; } .meetlet-admin-settings .meetlet-conntest__progress { margin:0 0 1rem; padding:.85rem 1rem; border:1px solid #cfe8de; border-radius:12px; background:#f7fcfa; } .meetlet-admin-settings .meetlet-conntest__progress-label { display:flex; justify-content:space-between; gap:.75rem; margin:0 0 .45rem; color:#00261a; font-weight:650; font-size:.92rem; } .meetlet-admin-settings .meetlet-conntest__progress-track { height:10px; border-radius:999px; background:#d9eee5; overflow:hidden; } .meetlet-admin-settings .meetlet-conntest__progress-fill { height:100%; width:0; border-radius:999px; background:linear-gradient(90deg, #2f9f7a, #52cca3); transition:width .28s ease; } .meetlet-admin-settings .meetlet-conntest__num { min-width:1.7rem; height:1.7rem; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; background:#e6faf3; color:#00261a; font-weight:750; font-size:.85rem; } .meetlet-admin-settings .meetlet-conntest__card--pending { opacity:.78; background:#fbfefe; } .meetlet-admin-settings .meetlet-conntest__card--running { border-color:#e6b422; box-shadow:0 0 0 2px rgba(230,180,34,.22); background:#fff8e6; } .meetlet-admin-settings .meetlet-conntest__card--running .meetlet-conntest__num { background:#ffe08a; color:#5c4700; } .meetlet-admin-settings .meetlet-conntest__card--ok { border-color:#9fdcc4; background:#f3fbf8; } .meetlet-admin-settings .meetlet-conntest__card--fail { border-color:#ead3d0; background:#fff8f7; } .meetlet-admin-settings .meetlet-conntest__card--skipped { opacity:.55; } .meetlet-admin-settings .meetlet-dot--pending { background:#9bb7ac; box-shadow:0 0 0 4px rgba(155,183,172,.18); } .meetlet-admin-settings .meetlet-dot--running { background:#e6b422; box-shadow:0 0 0 4px rgba(230,180,34,.28); animation:meetletPulse 1s ease-in-out infinite; } .meetlet-admin-settings .meetlet-dot--skipped { background:#b7c4be; box-shadow:none; } .meetlet-admin-settings .meetlet-pill--pending { background:#e8efec; color:#456257; } .meetlet-admin-settings .meetlet-pill--running { background:#ffe08a; color:#5c4700; } .meetlet-admin-settings .meetlet-pill--skipped { background:#eef1f0; color:#667a72; } @keyframes meetletPulse { 0%, 100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.15); opacity:.75; } } .meetlet-admin-settings form.settingsform { padding-bottom:1rem; } /* Single save row: spacing only — no stacked border/gradient bands. */ .meetlet-admin-settings .settingsform > .row:has(.btn-primary), .meetlet-admin-settings .form-buttons, .meetlet-admin-settings .btns-group { margin-top:1.25rem !important; padding:0; border:0; background:transparent; border-radius:0; } .meetlet-admin-settings .meetlet-savebar { margin-top: 1.25rem !important; margin-right: 0 !important; margin-left: 0 !important; margin-inline: 0 !important; flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; padding: .35rem 0 !important; border: 0 !important; background: transparent !important; border-radius: 0 !important; } @media (min-width: 576px) { .meetlet-admin-settings .meetlet-savebar.offset-sm-3, .meetlet-admin-settings .meetlet-savebar { margin-right: 0 !important; margin-left: 0 !important; } } .meetlet-admin-settings .btn-primary, .meetlet-admin-settings input[type="submit"].btn-primary, .meetlet-admin-settings button[type="submit"].btn-primary, .meetlet-admin-settings .meetlet-btn-with-icon.btn-primary { background:#52cca3 !important; border-color:#3db892 !important; color:#00261a !important; font-weight:700 !important; border-radius:10px !important; padding:.55rem 1.35rem !important; box-shadow:none !important; } .meetlet-admin-settings .btn-primary:hover, .meetlet-admin-settings input[type="submit"].btn-primary:hover, .meetlet-admin-settings button[type="submit"].btn-primary:hover { background:#6fd9b5 !important; border-color:#52cca3 !important; color:#00261a !important; } .meetlet-admin-settings .meetlet-btn-with-icon { display:inline-flex !important; align-items:center; justify-content:center; gap:.45rem; } .meetlet-admin-settings .meetlet-btn-with-icon svg { width:1.1rem; height:1.1rem; flex:0 0 auto; display:block; } .meetlet-admin-settings .meetlet-btn-with-icon__label { line-height:1.2; } .meetlet-admin-settings .meetlet-server-group { margin:1.1rem 0 .4rem; padding:1rem 1.1rem .2rem; border:1px solid #cfe8de; border-radius:12px; background:linear-gradient(180deg, #f3fbf8 0%, #ffffff 60%); } .meetlet-admin-settings .meetlet-server-group h4 { margin:0 0 .25rem; color:#00261a; font-size:1.02rem; font-weight:700; } .meetlet-admin-settings .meetlet-server-group p { margin:0 0 .55rem; color:#4a6b5f; font-size:.9rem; line-height:1.55; }