@font-face{font-display:swap;font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;src:url(/static/media/source-sans-3-variable.b8bc3440ba2145e132f5.woff2) format("woff2")}:root{--font-ui:"Source Sans 3","Segoe UI",Arial,sans-serif;--text-caption:0.8125rem;--text-small:0.875rem;--text-control:0.9375rem;--text-body:1rem;--text-subheading:1.125rem;--text-section:1.25rem;--text-heading:1.5rem;--text-title:2rem;--text-display:2.75rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--color-text:#1d2c34;--color-muted:#596b65;--color-brand:#196445;--color-brand-hover:#124e35;--color-brand-soft:#edf5f0;--color-canvas:#f4f6f8;--color-surface:#fff;--color-surface-subtle:#f8faf9;--color-border:#dce5e1;--color-border-strong:#acbdb4;--radius-control:0.5rem;--radius-panel:0.75rem}html{color-scheme:light;font-size:100%;scroll-padding-top:1rem}body{font-size:1rem;font-size:var(--text-body);font-weight:400;font-weight:var(--weight-normal);line-height:1.55}h1,h2,h3,h4,h5,h6{text-wrap:balance;font-family:Source Sans\ 3,Segoe UI,Arial,sans-serif;font-family:var(--font-ui);font-weight:600;font-weight:var(--weight-semibold);line-height:1.3;overflow-wrap:anywhere}h1{font-size:2rem;font-size:var(--text-title)}h2{font-size:1.25rem;font-size:var(--text-section)}h3{font-size:1.125rem;font-size:var(--text-subheading)}h4,h5,h6{font-size:1rem;font-size:var(--text-body)}button,input,select,textarea{font-family:Source Sans\ 3,Segoe UI,Arial,sans-serif;font-family:var(--font-ui);line-height:1.4}input,select,textarea{accent-color:#196445;accent-color:var(--color-brand);caret-color:#196445;caret-color:var(--color-brand)}input::placeholder,textarea::placeholder{color:#596b65;color:var(--color-muted);opacity:1}a{text-underline-offset:.2em}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid #196445;outline:2px solid var(--color-brand);outline-offset:3px}::selection{background:#d6ebdf;color:#113e2a}.skip-link{background:#196445;background:var(--color-brand);border-radius:.5rem;border-radius:var(--radius-control);color:#fff;left:1rem;padding:.75rem 1rem;position:fixed;top:1rem;transform:translateY(-200%);z-index:1000}.skip-link:focus{transform:translateY(0)}.sidebar :where(a,button):focus-visible{outline-color:#d5eee1}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}*{box-sizing:border-box}#root,body,html{height:100%}body{background-color:var(--color-canvas);color:var(--color-text);font-family:var(--font-ui);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.65}.page{padding:1.5rem}.eyebrow{color:var(--color-brand);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:0;margin:0 0 .5rem;text-transform:uppercase}.login-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,520px);min-height:100vh;min-height:100dvh}.login-hero{grid-gap:clamp(.75rem,2vh,1.5rem);align-content:center;background:linear-gradient(#092d1cb8,#092d1cb8),url(/static/media/fufa-classroom.871ae74ef473ae91679f.jpeg);background-position:50%;background-size:cover;color:#fff;display:grid;gap:clamp(.75rem,2vh,1.5rem);overflow-y:auto;padding:clamp(1.5rem,4vh,3rem) clamp(2rem,6vw,5rem)}.brand-mark{background:#fff;border-radius:var(--radius-panel);display:block;flex-shrink:0;height:4rem;object-fit:contain;padding:.25rem;width:4rem}.dashboard-header h1,.login-card h2,.login-hero h1{letter-spacing:0;line-height:1.08;margin:0}.login-hero h1{font-size:var(--text-display);font-weight:var(--weight-semibold);letter-spacing:-.025em;line-height:1.15;max-width:760px}.login-copy{color:#eef8f1;font-size:var(--text-body);line-height:1.6;margin:0;max-width:640px}.login-highlights{display:flex;flex-wrap:wrap;gap:.75rem}.login-highlights span{border:1px solid #ffffff73;border-radius:999px;color:#fff;padding:.5rem .85rem}.login-panel{align-items:flex-start;background:var(--color-canvas);display:flex;justify-content:center;overflow-y:auto;padding:1.25rem}.login-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:0 12px 36px #122a1f14;margin:auto 0;max-width:420px;padding:2rem;width:100%}.login-card-header h2{font-size:var(--text-heading)}.dashboard-header p,.login-card-header p:not(.eyebrow),.panel-header p,.permission-summary{color:var(--color-muted);margin:.4rem 0 0}.create-user-form,.form-grid,.login-form,.stack-form{grid-gap:1rem;display:grid;gap:1rem;margin-top:1.5rem}.form-grid{gap:1rem 1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-full{grid-column:1/-1}.create-user-form label,.form-grid label:not(.checkbox-item):not(.type-option),.login-form label,.stack-form label:not(.checkbox-item){grid-gap:.45rem;display:grid;gap:.45rem}.create-user-form label span,.form-grid label span,.login-form label span,.stack-form label span{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-bold)}.form-grid label span small,.stack-form label span small{color:var(--color-muted);display:block;font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:1.35;margin-top:.15rem}.label-hint{color:var(--color-muted);font-size:var(--text-small);font-weight:var(--weight-normal)}.form-info-note{background:#f0f7f2;border:1px solid #b7ddc4;border-radius:var(--radius-control);color:#3d7a52;font-size:var(--text-small);margin-bottom:4px;padding:8px 12px}.required-star{color:#c0392b;font-weight:var(--weight-bold)}.create-user-form input,.create-user-form select,.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea,.login-form input,.stack-form input:not([type=checkbox]):not([type=radio]),.stack-form select,.stack-form textarea,.users-table select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:2.75rem;padding:.7rem .8rem;width:100%}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:3rem}.password-toggle{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-control);color:#1f5d3f;display:inline-flex;height:2rem;justify-content:center;padding:0;position:absolute;right:.45rem;top:50%;transform:translateY(-50%);width:2rem}.password-toggle:hover{background:var(--color-brand-soft);border-color:#b9d3c4}.password-toggle:focus{box-shadow:0 0 0 3px #23744a29;outline:none}.password-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;height:1.15rem;width:1.15rem}.users-table input{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:2.35rem;padding:.5rem .65rem;width:100%}.create-user-form input:focus,.create-user-form select:focus,.form-grid input:not([type=checkbox]):not([type=radio]):focus,.form-grid select:focus,.form-grid textarea:focus,.login-form input:focus,.stack-form input:not([type=checkbox]):not([type=radio]):focus,.stack-form select:focus,.stack-form textarea:focus,.users-table select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #23744a29;outline:none}.form-grid textarea,.stack-form textarea{min-height:7rem;resize:vertical}.ghost-button,.primary-button,.secondary-button{border-radius:var(--radius-control);font-size:var(--text-control);font-weight:var(--weight-semibold);line-height:1.4;min-height:2.75rem;padding:.65rem 1rem;transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out}.primary-button{background:var(--color-brand);border:1px solid var(--color-brand);color:#fff}.secondary-button{background:var(--color-brand-soft);border:1px solid #b9d3c4;color:#1f5d3f}.ghost-button{background:#fff;border:1px solid #d3dfda;color:#1f5d3f}a.ghost-button,a.primary-button,a.secondary-button{align-items:center;display:inline-flex;justify-content:center;text-decoration:none}.login-form a.ghost-button,.login-form a.primary-button,.login-form a.secondary-button{width:100%}.ghost-button.active{background:#edf8f1;border-color:var(--color-brand);color:var(--color-brand)}.ghost-button.finalized{background:#f0f7f0;border-color:#7db89a;color:#4a8c68;cursor:default;opacity:.75}.attendance-check-pair{align-items:center;display:flex;gap:.5rem}.attendance-check{align-items:center;background:#fff;border:2px solid #ccd8d2;border-radius:5px;cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-body);font-weight:var(--weight-bold);height:2rem;justify-content:center;line-height:1;transition:border-color .12s,background .12s;width:2rem}.attendance-check:hover:not(:disabled){background:#f5fbf7;border-color:#7db89a}.attendance-check:disabled{cursor:default;opacity:.5}.attendance-check.present.checked{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.attendance-check.absent.checked{background:#c0392b;border-color:#c0392b;color:#fff}.attendance-check-label{color:#6b8c7c;font-size:var(--text-caption);letter-spacing:.03em;line-height:1;text-transform:uppercase}.login-card .login-form{gap:.65rem;margin-top:.9rem}.login-footer{align-items:center;border-top:1px solid #e3ece8;color:var(--color-muted);display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin-top:.9rem;padding-top:.75rem}.login-footer a{color:#1f5d3f;font-weight:var(--weight-semibold);text-decoration:none}.login-form-meta{display:flex;justify-content:flex-end;margin-top:-8px}.forgot-link{color:#1f5d3f;font-size:var(--text-small);font-weight:var(--weight-semibold);text-decoration:none}.forgot-link:hover{text-decoration:underline}.alert,.empty-state,.form-message,.state-panel{border-radius:var(--radius-control);padding:.85rem 1rem}.alert.error,.form-message.error{background:#fff0ed;border:1px solid #f2b8ad;color:#9a341f}.alert.success,.form-message.success{background:#edf8f1;border:1px solid #a8d8b8;color:#236a3d}.lock-countdown{display:block;font-weight:var(--weight-semibold);margin-top:.25rem}.alert.info{background:#edf4ff;border:1px solid #a8c4f0;color:#1a4a8a}.alert.warning{background:#fffbe6;border:1px solid #ffe066;color:#7a5800}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:#0f2d1c;color:#eef8f1;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0}.sidebar-brand{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:.75rem;padding:1.1rem 1rem}.sidebar .brand-mark{height:2.8rem;width:2.8rem}.sidebar-brand-text strong{color:#fff;display:block;font-size:var(--text-small);line-height:1.2}.sidebar-brand-text span{color:#b3ccbf;font-size:var(--text-caption)}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:.2rem;padding:.85rem .75rem}.sidebar-nav-label{color:#b3ccbf;font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.06em;padding:.65rem .6rem .3rem;text-transform:uppercase}.sidebar-link{align-items:center;border-radius:var(--radius-control);color:#9ecfb4;display:flex;font-size:var(--text-control);font-weight:var(--weight-medium);gap:.75rem;line-height:1.4;min-height:2.8rem;padding:.35rem .45rem;text-decoration:none;transition:background-color .16s ease-out,color .16s ease-out}.sidebar-link:hover{background:#ffffff14;color:#fff}.sidebar-link.active{background:var(--color-brand);color:#fff}.sidebar-link-icon{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-control);color:#9ecfb4;display:inline-flex;flex-shrink:0;height:1.75rem;justify-content:center;transition:background .12s,border-color .12s,color .12s;width:1.75rem}.sidebar-link:hover .sidebar-link-icon{background:#ffffff1f;border-color:#ffffff38;color:#fff}.sidebar-link.active .sidebar-link-icon{background:#0000;border-color:#0000;color:#fff}.sidebar-user{border-top:1px solid #ffffff1a;padding:.85rem 1rem}.sidebar-user-name{color:#e0f0e8;font-size:var(--text-small);font-weight:var(--weight-bold);margin:0 0 .25rem}.sidebar-user-role{color:#b3ccbf;font-size:var(--text-caption)}.sidebar-role-pills{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.45rem}.sidebar-role-pill{background:#ffffff1a;border-radius:999px;color:#9ecfb4;font-size:var(--text-caption);padding:.18rem .5rem}.sidebar-backdrop{background:#0a1c1385;bottom:0;left:0;position:fixed;right:0;top:0;z-index:899}.sidebar-close,.sidebar-trigger{display:none}.dashboard-header-start{align-items:center;display:flex;gap:.75rem;min-width:0}.dashboard-page{min-width:0;padding:2rem}.checkbox-group{grid-gap:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);display:grid;gap:0;margin-top:.25rem;overflow:hidden}.checkbox-item{align-items:center;border-bottom:1px solid #e4ece8;cursor:pointer;display:flex;gap:.6rem;padding:.6rem .85rem}.checkbox-item:last-child{border-bottom:none}.checkbox-item:hover{background:#f2f8f5}.checkbox-item input[type=checkbox]{accent-color:var(--color-brand);flex-shrink:0;min-height:auto;width:auto}.checkbox-item span{color:var(--color-text);font-size:var(--text-small)}.checkbox-item small{color:var(--color-muted);font-size:var(--text-caption);margin-left:auto}.dashboard-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto 1.5rem;max-width:1440px}.dashboard-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.dashboard-header h1{font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:-.025em;line-height:1.2}.dashboard-grid,.organizer-grid,.stats-grid{margin-left:auto;margin-right:auto;max-width:1440px}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.dashboard-panel,.stat-card,.state-panel{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:none}.stat-card{grid-gap:.45rem;display:grid;gap:.45rem;padding:1.1rem}.stat-card span{color:var(--color-muted);font-size:var(--text-small);font-weight:var(--weight-medium)}.stat-card strong{color:var(--color-text);font-size:var(--text-title)}.stat-card em{color:var(--color-muted);font-size:var(--text-small);font-style:normal}.dashboard-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,2fr) minmax(300px,.9fr)}.content-stack{margin-left:auto;margin-right:auto;max-width:1440px;min-width:0}.content-stack,.organizer-grid{grid-gap:1rem;display:grid;gap:1rem}.organizer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-form-page{grid-gap:1rem;display:grid;gap:1rem;margin-left:auto;margin-right:auto;max-width:640px}.dashboard-panel{min-width:0;padding:1.25rem}.dashboard-panel.wide{grid-column:1/-1}.panel-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.dashboard-panel h2,.panel-header h2{font-size:var(--text-subheading);margin:0}.table-wrap{max-width:100%;overflow-x:auto;scrollbar-color:#acbdb4 #f4f6f8;scrollbar-width:thin}.users-table{font-feature-settings:"tnum";border-collapse:collapse;font-size:var(--text-control);font-variant-numeric:tabular-nums;line-height:1.5;min-width:820px;width:100%}.users-table td,.users-table th{border-bottom:1px solid #e4ece8;padding:.8rem;text-align:left;vertical-align:middle}.users-table th{background:var(--color-surface-subtle);color:#465b51;font-size:var(--text-small);font-weight:var(--weight-semibold);text-transform:none}.users-table tr.row-editing td{background:#f0f9f4;border-bottom-color:var(--color-brand)}.users-table td:first-child>span{display:block;margin-top:.25rem}.users-table td:first-child span{color:var(--color-muted);font-size:var(--text-small)}.cell-stack{grid-gap:.25rem;display:grid;gap:.25rem}.cell-stack span{color:var(--color-muted);font-size:var(--text-small)}.role-edit-group{grid-gap:.5rem;display:grid;gap:.5rem;min-width:220px}.create-user-form select[multiple],.role-edit-group select[multiple]{min-height:7rem}.permission-list span,.role-pill{background:var(--color-brand-soft);border-radius:999px;color:#1f5d3f;display:inline-flex;font-weight:var(--weight-semibold);max-width:100%;min-width:0;overflow:hidden;padding:.35rem .65rem;text-overflow:ellipsis;white-space:nowrap}.pill-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.muted-text{color:var(--color-muted);font-size:var(--text-small)}.role-list{grid-gap:.65rem;display:grid;gap:.65rem;margin-top:1rem}.role-list div{align-items:center;border-bottom:1px solid #e4ece8;display:flex;justify-content:space-between;padding-bottom:.65rem}.permission-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.permission-list span{font-size:var(--text-caption)}.create-user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.create-user-form .primary-button{grid-column:1/-1}.empty-state,.state-panel{color:var(--color-muted)}.organizer-alert{margin:0 auto 1rem;max-width:1440px}.compact-list{grid-gap:.75rem;display:grid;gap:.75rem;margin-top:1rem}.compact-list article{grid-gap:.25rem;background:var(--color-surface);border:1px solid #e0e9e5;border-radius:var(--radius-control);display:grid;gap:.25rem;padding:.85rem}.compact-list article span{color:var(--color-muted);font-size:var(--text-control);overflow-wrap:anywhere}.compact-list article em{color:var(--color-brand);font-size:var(--text-caption);font-style:normal;font-weight:var(--weight-semibold);text-transform:uppercase}.compact-form{gap:.75rem}.form-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.inline-tools{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto;margin:0 0 1rem}.inline-tools.spacious{grid-template-columns:minmax(0,1fr);margin-top:1rem}.compact-table input,.inline-tools input{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:2.75rem;padding:.7rem .8rem;width:100%}.interest-pool-page .dashboard-panel{padding:1.35rem}.interest-summary-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(120px,1fr));margin-bottom:1rem}.interest-summary-card{grid-gap:.3rem;background:#f8fbf9;border-left:1px solid var(--color-border);border:1px solid var(--color-border);border-left-color:var(--color-brand);border-radius:var(--radius-panel);display:grid;gap:.3rem;min-height:74px;padding:.8rem .9rem}.interest-summary-card span{color:#5c6c64;font-size:var(--text-caption);font-weight:var(--weight-semibold);text-transform:uppercase}.interest-summary-card strong{color:#102119;font-size:var(--text-heading);line-height:1}.interest-filter-bar{grid-gap:.85rem;align-items:end;background:#f6faf8;border:1px solid var(--color-border);border-radius:var(--radius-panel);display:grid;gap:.85rem;grid-template-columns:minmax(220px,1.4fr) minmax(180px,.8fr) minmax(170px,.7fr);margin-bottom:1rem;padding:.9rem}.interest-action-panel label,.interest-filter-bar label{grid-gap:.4rem;display:grid;gap:.4rem;min-width:0}.interest-action-panel label span,.interest-filter-bar label span{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-semibold)}.interest-action-panel select,.interest-action-panel textarea,.interest-filter-bar input,.interest-filter-bar select{background:#fff;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:2.6rem;padding:.65rem .75rem;width:100%}.interest-action-panel textarea{min-height:5.5rem;resize:vertical}.interest-pool-shell{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.interest-card-list{grid-gap:.9rem;display:grid;gap:.9rem;min-width:0}.interest-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-panel);display:grid;grid-template-columns:1fr;overflow:hidden}.interest-card-body{grid-gap:1rem;display:grid;gap:1rem;min-width:0;padding:1rem}.interest-card-heading{grid-gap:.8rem;align-items:center;display:grid;gap:.8rem;grid-template-columns:auto minmax(0,1fr) auto}.interest-avatar{align-items:center;background:#143d2a;border-radius:var(--radius-panel);color:#fff;display:inline-flex;font-size:var(--text-small);font-weight:var(--weight-bold);height:42px;justify-content:center;width:42px}.interest-card-heading h3{color:var(--color-text);font-size:var(--text-body);margin:0;overflow-wrap:anywhere}.interest-contact-line{display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.2rem}.interest-contact-line a{color:var(--color-brand);font-size:var(--text-small);font-weight:var(--weight-bold);overflow-wrap:anywhere;text-decoration:none}.interest-detail-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.interest-detail-grid div{grid-gap:.2rem;border-top:1px solid #edf2ef;display:grid;gap:.2rem;min-width:0;padding-top:.65rem}.interest-detail-grid span{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-transform:uppercase}.interest-detail-grid strong{color:var(--color-text);font-size:var(--text-small);font-weight:var(--weight-bold);overflow-wrap:anywhere}.interest-action-panel{grid-gap:.85rem 1rem;background:#f8fbf9;border-top:1px solid var(--color-border);display:grid;gap:.85rem 1rem;grid-template-columns:minmax(280px,1.1fr) minmax(320px,.9fr);min-width:0;padding:1rem}.interest-action-panel>label:first-child{grid-row:span 3}.interest-action-grid{grid-gap:.65rem;align-items:end;display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr) auto}.interest-button-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.55rem}.interest-button-row .primary-button,.interest-button-row .secondary-button{flex:1 1 150px}.interest-action-note{color:var(--color-muted);font-size:var(--text-small);line-height:1.35;margin:0}.interest-side-panel{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:1rem}.interest-side-panel h3{font-size:var(--text-body);margin:0 0 .75rem}.interest-schedule-list{grid-gap:.7rem;display:grid;gap:.7rem}.interest-schedule-row{grid-gap:.6rem;border-bottom:1px solid #e4ece8;display:grid;gap:.6rem;grid-template-columns:minmax(0,1fr) auto;padding-bottom:.7rem}.interest-schedule-row:last-child{border-bottom:none;padding-bottom:0}.interest-schedule-row div{grid-gap:.18rem;display:grid;gap:.18rem;min-width:0}.interest-schedule-row span,.interest-schedule-row strong{overflow-wrap:anywhere}.interest-schedule-row span{color:var(--color-muted);font-size:var(--text-small)}.compact-button{min-height:2.25rem;padding:.45rem .7rem;white-space:nowrap}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.compact-table{min-width:680px}.participants-table{min-width:1180px}.instructor-tabs{margin-bottom:1rem}.instructor-kpis{margin-left:auto;margin-right:auto;max-width:1440px}.instructor-page-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);margin:0 auto 1rem;max-width:1440px}.instructor-stack{margin-top:1rem}.instructor-feature-panel{grid-gap:1rem;display:grid;gap:1rem}.instructor-feature-panel h2{font-size:var(--text-heading);line-height:1.12;margin:0}.instructor-feature-panel p{color:var(--color-muted);margin:.35rem 0 0}.instructor-schedule-summary{grid-gap:.75rem;background:#f7faf8;border:1px solid var(--color-border);border-radius:var(--radius-panel);display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0;padding:.9rem}.instructor-meta-grid div,.instructor-schedule-summary div{align-items:flex-start;display:flex;flex-direction:column;gap:.2rem;min-width:0}.instructor-meta-grid span:not(.status-badge),.instructor-schedule-summary span:not(.status-badge){color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-transform:uppercase}.instructor-meta-grid strong,.instructor-schedule-summary strong{overflow-wrap:anywhere}.instructor-schedule-strip{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.instructor-course-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.instructor-course-filter-bar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.instructor-course-filter-bar .instructor-field{flex:1 1 220px;margin:0}.instructor-schedule-card{grid-gap:.95rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);display:grid;gap:.95rem;padding:1rem}.instructor-schedule-card.selected{border-color:var(--color-brand);box-shadow:0 0 0 3px #23744a1f}.instructor-schedule-card .schedule-card-header strong{font-size:var(--text-body);overflow-wrap:anywhere}.instructor-meta-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.instructor-control-grid{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;margin-bottom:1rem}.instructor-field{grid-gap:.4rem;display:grid;gap:.4rem;min-width:0}.instructor-field span{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-semibold)}.instructor-field input,.instructor-field select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:2.75rem;padding:.7rem .8rem;width:100%}.instructor-field input:focus,.instructor-field select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #23744a29;outline:none}.instructor-attendance-toolbar{align-items:flex-end;border-bottom:1px solid #e4ece8;display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin:0 0 1rem;padding-bottom:1rem}.instructor-attendance-toolbar .instructor-field{flex:0 0 auto}.instructor-attendance-toolbar .button-row,.instructor-attendance-toolbar .session-toggle{align-self:flex-end;flex:0 0 auto}.instructor-roster-wrap{border:1px solid #e4ece8;border-radius:var(--radius-panel)}.instructor-roster-table{min-width:720px}.instructor-roster-table th{background:#f7faf8}.instructor-roster-table td{background:#fff}.instructor-activity-list .status-badge{justify-self:start}.instructor-history-list{grid-gap:.75rem;display:grid;gap:.75rem;margin-top:1rem}.instructor-history-card{grid-gap:.75rem;align-items:center;background:var(--color-surface);border:1px solid #e0e9e5;border-radius:var(--radius-panel);display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto minmax(180px,.45fr);padding:.9rem 1rem}.instructor-history-card div{grid-gap:.25rem;display:grid;gap:.25rem;min-width:0}.instructor-history-card span,.instructor-history-meta span{color:var(--color-muted);overflow-wrap:anywhere}.instructor-history-meta{justify-items:end}.instructor-report-form{grid-gap:1rem;display:grid;gap:1rem;margin-top:1rem}.instructor-report-form textarea{background:var(--color-surface);border:1px solid #d3dfda;border-radius:var(--radius-control);font-family:inherit;font-size:var(--text-small);padding:.6rem .75rem;resize:vertical;width:100%}.instructor-report-form textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #23744a29;outline:none}.instructor-reports-list{grid-gap:.75rem;display:grid;gap:.75rem;margin-top:.5rem}.instructor-report-card{background:var(--color-surface);border:1px solid #e0e9e5;border-radius:var(--radius-panel);padding:1rem 1.1rem}.instructor-report-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.6rem}.instructor-report-card-header>div:first-child{grid-gap:.2rem;display:grid;gap:.2rem;min-width:0}.instructor-report-card-header strong{font-size:var(--text-control);overflow-wrap:anywhere}.instructor-report-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#3a4a40;display:-webkit-box;font-size:var(--text-small);line-height:1.5;margin:0;overflow:hidden}.instructor-report-details{grid-gap:.85rem;border-top:1px solid #e4ece8;display:grid;gap:.85rem;margin-top:.85rem;padding-top:.85rem}.instructor-report-details>div{grid-gap:.25rem;display:grid;gap:.25rem}.instructor-report-details span{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);text-transform:uppercase}.instructor-report-details p{color:#3a4a40;font-size:var(--text-small);line-height:1.55;margin:0}@media (max-width:1180px){.dashboard-grid,.instructor-page-grid,.organizer-grid{grid-template-columns:1fr}.instructor-schedule-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{bottom:0;height:100%;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .22s cubic-bezier(.16,1,.3,1);width:min(288px,calc(100vw - 2rem));z-index:900}.sidebar--open{box-shadow:4px 0 32px #0a1c1338;transform:translateX(0)}.sidebar-trigger{align-items:center;background:var(--color-brand);border:1px solid var(--color-brand);border-radius:var(--radius-control);color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;padding:0;width:2.5rem}.sidebar-trigger:hover{background:#2d7a45;border-color:#2d7a45}.sidebar-close{align-items:center;background:none;border:none;color:#9ecfb4;cursor:pointer;display:flex;margin-left:auto;padding:.25rem}.sidebar-close:hover{color:#fff}.dashboard-page{padding:1rem}.panel-header{align-items:flex-start;flex-direction:column}.panel-header .primary-button,.panel-header .secondary-button,.panel-header>button{width:100%}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instructor-control-grid,.instructor-history-card{grid-template-columns:1fr}.instructor-history-meta{justify-items:start}.instructor-meta-grid,.instructor-schedule-summary{grid-template-columns:1fr}}@media (max-width:520px){.instructor-course-grid,.instructor-schedule-strip,.kpi-grid{grid-template-columns:1fr}.tab-btn{padding-left:.85rem;padding-right:.85rem}}.public-registration-page{margin:0 auto;max-width:1180px;min-height:100vh;padding:2rem}.public-registration-hero{margin-bottom:1.5rem}.public-registration-hero h1{font-size:var(--text-title);letter-spacing:-.025em;line-height:1.05;margin:0}.public-registration-hero p:not(.eyebrow){color:var(--color-muted);font-size:var(--text-body);max-width:760px}.registration-layout{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)}.detail-list{grid-gap:.75rem;display:grid;gap:.75rem}.detail-list div{grid-gap:.25rem;border-bottom:1px solid #e4ece8;display:grid;gap:.25rem;padding-bottom:.75rem}.detail-list span{color:var(--color-muted);font-size:var(--text-small);font-weight:var(--weight-bold)}.checkbox-label{align-items:center;display:flex!important;gap:.65rem}.checkbox-label input{min-height:auto;width:auto}.terms-consent{align-items:flex-start!important;background:#f7fbf8;border:1px solid #d8e7df;border-radius:var(--radius-control);color:#31473c;display:flex!important;gap:.65rem;line-height:1.45;padding:.75rem}.terms-consent input{flex:0 0 auto;margin-top:.2rem;min-height:auto;width:auto}.terms-consent span{color:#31473c!important;font-size:var(--text-small)!important;font-weight:var(--weight-bold)!important}.inline-link-button{background:none;border:0;color:#1f5d3f;cursor:pointer;font:inherit;font-weight:var(--weight-bold);margin-left:.35rem;padding:0;text-decoration:underline}.terms-modal-backdrop{align-items:flex-start;background:#0b1c13a3;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:2rem 1rem;position:fixed;z-index:1200}.terms-modal{grid-gap:1rem;background:#fbfdfb;border:1px solid #d8e7df;border-radius:var(--radius-panel);box-shadow:0 22px 70px #0a1e1447;color:#25352d;display:grid;gap:1rem;max-width:640px;padding:1.25rem;width:min(100%,640px)}.terms-modal-header{align-items:flex-start;border-bottom:1px solid #e1ece6;display:flex;gap:1rem;justify-content:space-between;padding-bottom:.85rem}.terms-modal-header h2{color:#173424;font-size:var(--text-section);margin:.15rem 0 0}.terms-modal-body{grid-gap:.8rem;display:grid;gap:.8rem}.terms-modal-body p{line-height:1.55;margin:0}.public-form{margin-top:0}.registration-status-notice{grid-gap:1rem;display:grid;gap:1rem;max-width:720px}.registration-status-notice .eyebrow{color:#a33a23}.registration-status-list{border-top:1px solid var(--color-border);display:grid}.registration-status-list div{grid-gap:.3rem;border-bottom:1px solid var(--color-border);display:grid;gap:.3rem;padding:.85rem 0}.registration-status-list span{color:var(--color-muted);font-size:var(--text-small);font-weight:var(--weight-bold)}.registration-status-list strong{color:var(--color-text);font-size:var(--text-body)}.requirements-editor{border:1px solid var(--color-border-strong);border-radius:var(--radius-panel);overflow:hidden}.req-header{grid-gap:.25rem;background:#f4f8f6;border-bottom:1px solid #e0ece6;display:grid;gap:.25rem;padding:.75rem 1rem}.req-title{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-bold)}.req-empty,.req-hint{color:var(--color-muted);font-size:var(--text-small)}.req-empty{margin:0;padding:.75rem 1rem}.req-list{list-style:none;margin:0;padding:0}.req-item{align-items:center;border-bottom:1px solid #e8f0ec;display:flex;gap:.75rem;justify-content:space-between;padding:.65rem 1rem}.req-item:last-child{border-bottom:none}.req-item-body{grid-gap:.15rem;display:grid;gap:.15rem;min-width:0}.req-label{font-size:var(--text-control)}.req-type-badge{border-radius:999px;display:inline-block;font-size:var(--text-caption);font-weight:var(--weight-semibold);padding:.1rem .5rem;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.req-type-course{background:#e8eeff;color:#1a3a8c}.req-type-certification{background:#fff4d6;color:#8a6200}.req-type-document{background:#f4f8f6;color:#34463c}.req-type-other{background:#f1f3f2;color:#505a54}.req-item-actions{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.req-toggle{border:none;border-radius:999px;cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-semibold);padding:.2rem .6rem}.req-mandatory{background:#edf8f1;color:#1c6637}.req-optional{background:#f1f3f2;color:#505a54}.req-ext-on{background:#edf4ff;border-color:#a8c4f0!important;color:#1a4a8a}.req-ext-off{background:#f5f5f5;color:#777}.req-ext-proof-badge{background:#edf4ff;border:1px solid #a8c4f0;border-radius:999px;color:#1a4a8a;display:inline-block;font-size:var(--text-caption);font-weight:var(--weight-semibold);padding:.1rem .55rem}.req-hint-inline{color:#687870;display:block;font-size:var(--text-small);font-weight:var(--weight-normal);margin-top:.15rem}.req-remove{background:none;border:1px solid var(--color-border);border-radius:4px;color:var(--color-muted);cursor:pointer;font-size:var(--text-caption);padding:.2rem .45rem}.req-remove:hover{background:#fff0ed;border-color:#f2b8ad;color:#9a341f}.req-add-form{grid-gap:.75rem;border-top:1px solid #e0ece6;display:grid;gap:.75rem;padding:.85rem 1rem}.req-add-form label{grid-gap:.35rem;display:grid;gap:.35rem}.req-add-form label span{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-bold)}.req-add-form input,.req-add-form select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:2.5rem;padding:.55rem .75rem;width:100%}.req-mandatory-toggle{align-items:center;display:flex!important;gap:.5rem}.req-mandatory-toggle input{accent-color:var(--color-brand);min-height:auto!important;width:auto!important}.req-add-btn{background:none;border:none;border-top:1px solid #e0ece6;color:var(--color-brand);cursor:pointer;font-size:var(--text-small);font-weight:var(--weight-bold);padding:.65rem 1rem;text-align:left;width:100%}.req-add-btn:hover{background:#f4f8f6}.req-count{background:#e8eeff;border-radius:999px;color:#1a3a8c;font-size:var(--text-caption);font-weight:var(--weight-semibold);padding:.15rem .55rem}.type-toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);display:flex;margin-top:.45rem;overflow:hidden}.type-option{align-items:center;background:var(--color-surface);color:var(--color-muted);cursor:pointer;display:flex;flex:1 1;font-size:var(--text-small);font-weight:var(--weight-semibold);gap:.5rem;justify-content:center;padding:.6rem .75rem;transition:background .12s,color .12s}.type-option+.type-option{border-left:1px solid var(--color-border-strong)}.type-option.selected{background:var(--color-brand-soft);color:#1c6637}.type-option input[type=radio]{accent-color:var(--color-brand)}.form-section-label{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:.04em;margin:.25rem 0 -.25rem;text-transform:uppercase}.filter-bar{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem}.filter-search{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);flex:1 1 200px;min-height:2.5rem;padding:.55rem .8rem}.filter-search:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #23744a29;outline:none}.filter-bar select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:2.5rem;padding:.55rem .8rem}.role-dist-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:.5rem}.role-dist-card{grid-gap:.2rem;background:#f4f8f6;border:1px solid var(--color-border);border-radius:var(--radius-panel);display:grid;gap:.2rem;padding:.85rem;text-align:center}.role-dist-card strong{color:var(--color-text);font-size:var(--text-title)}.role-dist-card span{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-bold)}.tab-bar{border-bottom:1px solid var(--color-border);display:flex;gap:.25rem;margin:0 auto 1.25rem;max-width:1440px;overflow-x:auto}.tab-btn{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--color-muted);display:flex;font-size:var(--text-small);font-weight:var(--weight-semibold);gap:.4rem;margin-bottom:0;padding:.75rem 1.1rem;transition:color .12s,border-color .12s;white-space:nowrap}.tab-btn:hover{background:#23744a12;color:var(--color-text)}.tab-btn.active{background:var(--color-brand-soft);border-bottom-color:var(--color-brand);border-radius:var(--radius-control) var(--radius-control) 0 0;color:var(--color-brand)}.tab-badge{background:var(--color-brand);color:#fff;font-weight:var(--weight-semibold);line-height:1;min-width:1.1rem;padding:.18rem .38rem;text-align:center}.status-badge,.tab-badge{border-radius:999px;font-size:var(--text-caption)}.status-badge{box-sizing:border-box;display:inline-flex;font-weight:var(--weight-bold);justify-content:center;letter-spacing:.04em;line-height:1.2;max-width:100%;min-width:0;overflow:hidden;padding:.2rem .65rem;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.badge-pending{background:#fff4d6;color:#8a6200}.badge-active,.badge-approved{background:#edf8f1;color:#1c6637}.badge-rejected{background:#fff0ed;color:#8c2a17}.badge-inactive{background:#f1f3f2;color:#505a54}.badge-completed{background:#e8eeff;color:#1a3a8c}.badge-cancelled{background:#fff0ed;color:#8c2a17}.badge-enrolled,.badge-issued{background:#edf8f1;color:#1c6637}.badge-revoked{background:#fff0ed;color:#8c2a17}.badge-registered{background:var(--color-brand-soft);color:#1f5d3f}.badge-default{background:#f1f3f2;color:#505a54}.badge-ext-qualified{background:#fff4d6;color:#8a6200}.badge-ext-enrolled{background:#edf8f1;color:#1c6637}.badge-ext-certified{background:#e8eeff;color:#1a3a8c}.badge-ext-failed{background:#fff0ed;color:#8c2a17}.badge-ext-default,.badge-ext-withdrawn{background:#f1f3f2;color:#505a54}@media (max-width:520px){.kpi-grid.kpi-grid--compact{gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid--compact .kpi-card{padding:.65rem .8rem}}.ext-select-all{align-items:center;display:inline-flex;gap:.5rem}.ext-select-all span{display:none;white-space:nowrap}.ext-participants-table input[type=checkbox]{min-height:0;padding:0;width:auto}@media (max-width:520px){.ext-participants-table{min-width:0}.ext-participants-table thead th:not(:first-child){display:none}.ext-participants-table thead th:first-child{width:auto!important}.ext-select-all span{display:inline;font-size:.82rem;text-transform:none}.ext-participants-table tbody td,.ext-participants-table tbody tr{display:block}.ext-participants-table tbody tr{border-bottom:1px solid #e4ece8;padding:.6rem 0 .6rem 2.2rem;position:relative}.ext-participants-table tbody td{border-bottom:0;padding:.3rem 0}.ext-participants-table tbody td:first-child{display:block;left:.2rem;padding:0;position:absolute;top:.85rem}.ext-participants-table tbody td[data-label]:before{color:#5c6c64;content:attr(data-label);display:block;font-size:.7rem;font-weight:700;text-transform:uppercase}.ext-participants-table tr.row-editing{background:#f0f9f4}.ext-participants-table .status-select,.ext-participants-table td input:not([type=checkbox]){width:100%}}.status-select{-webkit-appearance:auto;appearance:auto;border-radius:999px;cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-bold);min-height:0;padding:.28rem .55rem;width:auto}.status-select.is-active{background:#edf8f1;border:1.5px solid #4daa7d;color:#1c6637}.status-select.is-inactive{background:#f1f3f2;border:1.5px solid #b0b8b4;color:#505a54}.status-select.is-suspended{background:#fff0ed;border:1.5px solid #e0917e;color:#8c2a17}.status-select:focus{box-shadow:0 0 0 3px #23744a29;outline:none}.finance-table{min-width:1080px}.finance-actions{min-width:260px}.users-table tbody tr:hover>td{background:#f7faf8}.table-actions{align-items:flex-start;display:flex;flex-direction:column;gap:.3rem}.simple-list{grid-gap:0;display:grid;gap:0;margin-top:.5rem}.simple-list-row{grid-gap:.75rem;align-items:center;border-bottom:1px solid #e4ece8;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto;padding:.65rem 0}.simple-list-row:last-child{border-bottom:none}.simple-list-row>div{grid-gap:.15rem;display:grid;gap:.15rem;min-width:0}.simple-list-row>div span,.simple-list-row>div strong{min-width:0;overflow-wrap:anywhere}.simple-list-row .status-badge{justify-self:end;max-width:min(12rem,100%)}.detail-meta{border-bottom:1px solid #e4ece8;display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-bottom:1.25rem;padding:.85rem 0}.detail-meta span{color:var(--color-muted);font-size:var(--text-small)}.detail-meta strong{color:#34463c;margin-right:.35rem}.button-row.compact{margin-top:0}.tab-link{text-decoration:none}.workspace-toolbar{grid-gap:1rem;display:grid;gap:1rem}.workspace-select{grid-gap:.45rem;display:grid;gap:.45rem}.workspace-select span{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-bold)}.button-row select,.panel-header select,.workspace-select select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:2.5rem;padding:.55rem .8rem}.scope-summary{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.scope-summary span{align-items:center;color:var(--color-muted);display:inline-flex;gap:.35rem}.scope-summary strong{color:#34463c}.mini-metric-list{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.mini-metric-list div{grid-gap:.2rem;background:#f4f8f6;border:1px solid var(--color-border);border-radius:var(--radius-control);display:grid;gap:.2rem;padding:.85rem}.mini-metric-list strong{font-size:var(--text-heading)}.mini-metric-list span{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-bold)}.link-card,.link-card-list,.schedule-card,.schedule-cards{grid-gap:1rem;display:grid;gap:1rem}.link-card,.schedule-card{background:var(--color-surface);border:1px solid #e0e9e5;border-radius:var(--radius-panel);padding:1rem}.link-card-main,.list-row-heading,.schedule-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.link-card-main div,.schedule-card-header div{grid-gap:.25rem;display:grid;gap:.25rem;min-width:0}.link-card-main span,.schedule-card-header span{color:var(--color-muted);overflow-wrap:anywhere}.meta-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.meta-grid div{grid-gap:.15rem;display:grid;gap:.15rem}.meta-grid span{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-bold)}.meta-grid strong{color:#34463c;overflow-wrap:anywhere}.qr-preview{border:1px solid var(--color-border);border-radius:var(--radius-control);height:112px;width:112px}.anchor-button{align-items:center;display:inline-flex;justify-content:center;text-decoration:none}.danger-button{color:#8c2a17}.analytics-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:auto;margin-right:auto;max-width:1440px;padding:1rem 0}.analytics-grid .dashboard-panel.wide,.analytics-grid>.alert,.analytics-grid>.analytics-filter-bar{grid-column:1/-1}@media (max-width:900px){.analytics-grid{grid-template-columns:1fr}}.analytics-filter-bar{align-items:flex-end;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-panel);display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding:1rem 1.25rem;width:100%}.analytics-grid>.analytics-filter-bar{margin-bottom:0}.analytics-filter-bar .filter-label{color:#3c5147;display:flex;flex-direction:column;font-size:var(--text-caption);font-weight:var(--weight-medium);gap:.3rem}.analytics-filter-bar .filter-label input,.analytics-filter-bar .filter-label select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);font-size:var(--text-small);height:34px;padding:0 .65rem}.analytics-filter-bar .filter-label input:focus,.analytics-filter-bar .filter-label select:focus{border-color:#2d7a45;outline:none}.analytics-filter-bar .filter-search{flex:1 1;min-width:200px}.analytics-filter-bar .filter-search input{width:100%}.analytics-filter-bar .filter-actions{align-items:flex-end;display:flex;gap:.5rem;padding-bottom:1px}.analytics-filter-bar .filter-error{color:#8c2a17;flex-basis:100%;font-size:var(--text-small);font-weight:var(--weight-bold);margin:0}@media (max-width:700px){.analytics-filter-bar{align-items:stretch;flex-direction:column}.analytics-filter-bar .filter-search{min-width:0;min-width:auto}}.chart-bar-list{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0}.chart-bar-row{align-items:center;display:flex;gap:.75rem}.chart-bar-label{color:#3c5147;flex-shrink:0;font-size:var(--text-small);font-weight:var(--weight-medium);overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:130px}.chart-bar-track{background:#e8f0eb;flex:1 1;height:26px;overflow:hidden;position:relative}.chart-bar-fill,.chart-bar-track{border-radius:var(--radius-control)}.chart-bar-fill{height:100%;min-width:3px;transition:none}.chart-bar-fill.fill-green{background:linear-gradient(90deg,#2d7a45,#3a9858)}.chart-bar-fill.fill-blue{background:linear-gradient(90deg,#2563a8,#3278cc)}.chart-bar-fill.fill-amber{background:linear-gradient(90deg,#b58a00,#d4a800)}.chart-bar-fill.fill-teal{background:linear-gradient(90deg,#1a7878,#229494)}.chart-bar-fill.fill-purple{background:linear-gradient(90deg,#6d3a94,#8a4ab5)}.chart-bar-fill.fill-red{background:linear-gradient(90deg,#a32b1f,#c43526)}.chart-bar-value{color:var(--color-text);flex-shrink:0;font-size:var(--text-small);font-weight:var(--weight-semibold);min-width:56px}.chart-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1rem}.chart-legend-item{align-items:center;display:flex;font-size:var(--text-small);gap:.35rem}.chart-legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.gender-ratio-panel{--gender-female:oklch(58% 0.18 347);--gender-female-soft:oklch(95% 0.035 347);--gender-male:oklch(53% 0.13 224);--gender-male-soft:oklch(95% 0.03 224);grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(122px,.72fr) minmax(0,1fr);min-height:170px}.gender-pie{aspect-ratio:1;background:radial-gradient(circle at center,oklch(99% .004 155) 0 48%,#0000 49%),conic-gradient(var(--gender-female) 0 var(--female-share),var(--gender-male) var(--female-share) 100%);border-radius:50%;box-shadow:inset 0 0 0 1px oklch(88% .025 155),0 18px 34px oklch(32% .04 155/.12);display:grid;max-width:154px;place-items:center;position:relative;width:100%}.gender-pie:after{border:1px solid oklch(90% .024 155);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.gender-pie-center{align-items:center;background:oklch(99% .004 155);border-radius:50%;display:flex;flex-direction:column;height:54%;justify-content:center;padding:.45rem;text-align:center;width:54%}.gender-pie-center strong{color:var(--color-text);font-size:var(--text-body);line-height:1;white-space:nowrap}.gender-pie-center span{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);margin-top:.25rem}.gender-ratio-details{grid-gap:.8rem;display:grid;gap:.8rem;min-width:0}.gender-ratio-row{grid-gap:.4rem;display:grid;gap:.4rem}.gender-ratio-row-heading{align-items:center;color:#3c5147;display:flex;font-size:var(--text-small);gap:.75rem;justify-content:space-between}.gender-ratio-row-heading span{align-items:center;display:inline-flex;font-weight:var(--weight-bold);gap:.4rem;min-width:0}.gender-ratio-row-heading strong{color:var(--color-text);font-size:var(--text-small);white-space:nowrap}.gender-ratio-row-heading i{border-radius:50%;flex:0 0 auto;height:.65rem;width:.65rem}.gender-ratio-track{background:oklch(94% .018 155);border-radius:999px;height:.5rem;overflow:hidden}.gender-ratio-track span{border-radius:inherit;display:block;height:100%;min-width:3px;transition:none}.gender-ratio-row--female .gender-ratio-row-heading i,.gender-ratio-row--female .gender-ratio-track span{background:var(--gender-female)}.gender-ratio-row--male .gender-ratio-row-heading i,.gender-ratio-row--male .gender-ratio-track span{background:var(--gender-male)}.gender-ratio-total{align-items:center;border-top:1px solid #e4ece8;display:flex;gap:.75rem;justify-content:space-between;padding-top:.75rem}.gender-ratio-note,.gender-ratio-total span{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-bold)}.gender-ratio-total strong{color:var(--color-text);font-size:var(--text-small);white-space:nowrap}.gender-ratio-note{font-weight:var(--weight-semibold);margin:-.25rem 0 0}@media (max-width:760px){.gender-ratio-panel{grid-template-columns:1fr}.gender-pie{justify-self:center;width:min(160px,72vw)}}.progress-bar-wrap{background:#e8f0eb;border-radius:var(--radius-control);height:10px;overflow:hidden;width:100%}.progress-bar-fill{background:#2d7a45;border-radius:var(--radius-control);height:100%;transition:none}.progress-bar-fill.warning{background:#b58a00}.progress-bar-fill.danger{background:#a32b1f}.kpi-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:1.5rem}.kpi-card{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:1rem 1.25rem}.kpi-button{-webkit-appearance:none;appearance:none;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%}.kpi-button:hover{border-color:#90b9a4;box-shadow:0 14px 32px #17201c1a;transform:translateY(-1px)}.kpi-button:focus-visible{border-color:#2d7a45;outline:3px solid #2d7a452e;outline-offset:2px}.kpi-card-label{color:#3c5147;font-size:var(--text-small);letter-spacing:.01em;margin:0 0 .4rem;text-transform:uppercase}.kpi-card-label,.kpi-card-value{font-weight:var(--weight-semibold)}.kpi-card-value{color:#0e1f15;font-size:var(--text-title);line-height:1;margin:0}.kpi-card-note{color:#3c5147;display:block;font-size:var(--text-caption);margin-top:.3rem}.kpi-card.highlight .kpi-card-value{color:#1a6636}.kpi-card.alert-card .kpi-card-value{color:#8c2a17}.kpi-card--link{position:relative;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.kpi-card--link:after{color:#90b9a4;content:‘\2192’;font-size:var(--text-small);opacity:0;position:absolute;right:1rem;top:.75rem;transform:translateX(-4px);transition:opacity .16s ease,transform .16s ease}.kpi-card--link:focus-visible,.kpi-card--link:hover{border-color:#90b9a4;box-shadow:0 14px 32px #17201c1a;transform:translateY(-1px)}.kpi-card--link:focus-visible:after,.kpi-card--link:hover:after{opacity:1;transform:translateX(0)}.kpi-card--link:focus-visible{outline:3px solid #2d7a452e;outline-offset:2px}.section-title{color:var(--color-brand);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.06em;margin:1.5rem 0 .75rem;text-transform:uppercase}.rate-row{align-items:center;display:flex;gap:.75rem;margin:.5rem 0}.rate-label{color:#3c5147;flex-shrink:0;width:160px}.rate-label,.rate-pct{font-size:var(--text-small)}.rate-pct{font-weight:var(--weight-bold);width:48px}.participant-course-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;margin-bottom:1rem;padding:1.1rem 1.25rem}.participant-course-card h3{font-size:var(--text-body);margin:0 0 .5rem}.participant-course-card-header{grid-gap:.75rem;align-items:flex-start;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto}.participant-meta{color:#3c5147;font-size:var(--text-small);margin:.25rem 0}.participant-available-meta{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.75rem}.participant-available-meta div{grid-gap:.15rem;display:grid;gap:.15rem;min-width:0}.participant-available-meta span{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);text-transform:uppercase}.participant-available-meta strong{color:#34463c;font-size:var(--text-control);overflow-wrap:anywhere}.available-filter-bar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.available-filter-bar .instructor-field{flex:2 1 240px;margin:0}.available-filter-bar .available-filter-region{flex:0 1 180px}.course-tile-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(264px,1fr))}.course-tile-grid .participant-course-card{display:flex;flex-direction:column;margin-bottom:0}.course-tile-grid .participant-available-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.card-top-badges{align-items:center;display:flex;gap:.5rem;justify-content:space-between;min-width:0}.card-category-badge{background:#e3f5ec;color:#1a6636;font-weight:var(--weight-semibold);letter-spacing:.06em;max-width:55%;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.card-category-badge,.card-slots-badge{border-radius:999px;flex-shrink:0;font-size:var(--text-caption);padding:.22rem .65rem;white-space:nowrap}.card-slots-badge{background:#edf8f1;color:#1c6637;font-weight:var(--weight-bold);letter-spacing:.02em}.course-tile-grid .participant-course-card h3{font-size:var(--text-body);font-weight:var(--weight-bold);letter-spacing:-.01em;margin:.6rem 0 0}.card-location{align-items:flex-start;color:#3c5147;display:flex;font-size:var(--text-small);gap:.3rem;margin:.35rem 0 0}.card-divider{border:none;border-top:1px solid #e8efeb;flex-shrink:0;margin:1rem 0 0}.card-action{margin-top:auto;padding-top:1rem}.card-cta{display:block;text-align:center;width:100%}a.card-cta{box-sizing:border-box;text-decoration:none}.courses-section-label{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.07em;margin:0 0 .75rem;text-transform:uppercase}.sp-progress-row{align-items:center;display:flex;justify-content:space-between;margin-top:.9rem}.sp-progress-row span{color:var(--color-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-transform:uppercase}.sp-progress-row strong{color:#34463c;font-size:var(--text-small)}.cert-download-btn{align-items:center;background:#1a6636;border:none;border-radius:var(--radius-control);color:#fff;display:inline-flex;font-size:var(--text-small);font-weight:var(--weight-semibold);gap:.4rem;margin-top:.75rem;padding:.45rem 1rem;text-decoration:none}@media (max-width:820px){.participant-available-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.participant-available-meta,.participant-course-card-header{grid-template-columns:1fr}.participant-course-card-header .status-badge{justify-self:start}.course-tile-grid{grid-template-columns:1fr}}.certificate-readiness{grid-gap:.75rem;background:#f6faf8;border:1px solid var(--color-border);border-radius:var(--radius-panel);display:grid;gap:.75rem;margin:1rem 0;padding:1rem}.certificate-readiness.compact{margin:.85rem 0 0;padding:.85rem}.certificate-readiness-title{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-semibold);margin:0;text-transform:uppercase}.certificate-readiness-list{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-readiness.compact .certificate-readiness-list{grid-template-columns:repeat(3,minmax(0,1fr))}.certificate-readiness-item{grid-gap:.55rem;align-items:flex-start;display:grid;gap:.55rem;grid-template-columns:auto minmax(0,1fr);min-width:0}.certificate-readiness-icon{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--text-small);font-weight:var(--weight-bold);height:1.45rem;justify-content:center;width:1.45rem}.certificate-readiness-item.complete .certificate-readiness-icon{background:#dff1e7;color:#1f6b3b}.certificate-readiness-item.pending .certificate-readiness-icon{background:#fff2d2;color:#856016}.certificate-readiness-item strong{color:#25372f;display:block;font-size:var(--text-small)}.certificate-readiness-item span:not(.certificate-readiness-icon){color:var(--color-muted);display:block;font-size:var(--text-caption);line-height:1.35}.ctd-root{background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 4px 16px #17201c0d;overflow:hidden}.ctd-header{align-items:flex-start;background:#f4f8f5;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:1.25rem 2rem;justify-content:space-between;padding:1.25rem 1.75rem}.ctd-header-text h3{color:var(--color-text);font-size:var(--text-body);font-weight:var(--weight-bold);margin:0 0 .2rem}.ctd-header-text p{color:#5a6b62;font-size:var(--text-small);margin:0}.ctd-scope-label{display:flex;flex-direction:column;gap:.25rem;max-width:420px;min-width:280px}.ctd-scope-label>span{color:#4a5d52;font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase}.ctd-scope-label>small{color:#7a8d82;font-size:var(--text-caption);margin-top:.1rem}.ctd-scope-select-wrap{position:relative}.ctd-scope-select-wrap:after{border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid #4a5d52;content:"";pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.ctd-scope-select-wrap select{appearance:none;-webkit-appearance:none;background:#fff;border:1.5px solid #b8cfc0;border-radius:var(--radius-control);color:#1b2e22;cursor:pointer;font-size:var(--text-control);font-weight:var(--weight-medium);padding:.45rem 2.2rem .45rem .75rem;transition:border-color .15s;width:100%}.ctd-scope-select-wrap select:focus{border-color:#2d5a27;outline:none}.ctd-scope-select-wrap select:disabled{cursor:not-allowed;opacity:.6}.ctd-body{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,44%)}.ctd-form{border-right:1px solid #e5ede8;gap:0;min-width:0;padding:1.5rem 1.75rem}.ctd-form,.ctd-section{display:flex;flex-direction:column}.ctd-section{gap:.8rem}.ctd-divider{border:none;border-top:1px solid #e8efeb;margin:1.4rem 0}.ctd-field{display:flex;flex-direction:column;gap:.3rem}.ctd-field>span{color:#3e5045;font-size:var(--text-small);font-weight:var(--weight-semibold)}.ctd-field>span em{color:#8a9b91;font-style:normal;font-weight:var(--weight-normal)}.ctd-field input:not([type=color]):not([type=file]),.ctd-field textarea{background:#fafcfa;border:1px solid #c8d9cd;border-radius:var(--radius-control);color:#1e2a24;font-size:var(--text-small);padding:.6rem .8rem;transition:border-color .15s;width:100%}.ctd-field input:not([type=color]):not([type=file]):focus,.ctd-field textarea:focus{border-color:#2d5a27;outline:none}.ctd-field textarea{resize:vertical}.ctd-field input[type=file]{font-size:var(--text-small);max-width:100%;min-width:0;overflow:hidden;width:100%}.ctd-mono-input{font-family:Consolas,Monaco,monospace!important;font-size:var(--text-small)!important;letter-spacing:.02em}.ctd-pattern-error{color:#b91c1c;font-size:var(--text-small);margin:0}.ctd-pattern-preview{color:#2d5a27;font-size:var(--text-small);margin:0}.ctd-pattern-preview code{background:#eaf3eb;border-radius:4px;color:#1a4224;font-size:var(--text-small);padding:.1rem .4rem}.ctd-token-row{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.ctd-token-label{color:#6a7c70;font-size:var(--text-caption);font-weight:var(--weight-semibold)}.ctd-token-chip{align-items:center;background:#f0f7f1;border:1px solid #b4d1ba;border-radius:20px;color:#2d5a27;cursor:pointer;display:inline-flex;font-size:var(--text-caption);gap:.3rem;padding:.18rem .6rem;transition:background .14s,border-color .14s}.ctd-token-chip:hover:not(:disabled){background:#d4ecda;border-color:#2d5a27}.ctd-token-chip code{font-size:var(--text-caption);font-weight:var(--weight-bold)}.ctd-token-chip span{color:#527558;font-size:var(--text-caption)}.ctd-color-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.ctd-color-field{gap:.4rem}.ctd-color-wrap{align-items:center;background:#fafcfa;border:1px solid #c8d9cd;border-radius:var(--radius-control);display:flex;gap:.6rem;padding:.35rem .7rem}.ctd-color-wrap input[type=color]{border:none;border-radius:4px;cursor:pointer;height:32px;padding:1px;width:44px}.ctd-color-wrap code{color:#4a5d52;font-size:var(--text-small)}.ctd-logo-section{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1rem}.ctd-logo-preview-wrap{align-items:center;background:repeating-conic-gradient(#e8ede9 0 25%,#fff 0 50%) 0 0 /10px 10px;border:1px solid #c8d9cd;border-radius:var(--radius-control);display:flex;flex-shrink:0;height:64px;justify-content:center;overflow:hidden;width:100px}.ctd-logo-preview-img{max-height:100%;max-width:100%;object-fit:contain}.ctd-logo-placeholder{color:#9aad9e;font-size:var(--text-caption);text-align:center}.ctd-logo-controls{display:flex;flex:1 1;flex-direction:column;gap:.3rem;min-width:0}.ctd-logo-remove{background:none;border:none;color:#b91c1c;cursor:pointer;font-size:var(--text-small);padding:0;text-align:left;text-decoration:underline}.ctd-logo-remove:hover:not(:disabled){color:#991b1b}.ctd-logo-remove:disabled{cursor:not-allowed;opacity:.5}.ctd-field-hint{color:#8a9b91;font-size:var(--text-caption);line-height:1.4}.ctd-option-group-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem .75rem;margin-bottom:.6rem}.ctd-option-group-label{color:#4a5d52;font-size:var(--text-small);font-weight:var(--weight-semibold);min-width:60px;white-space:nowrap}.ctd-option-group{display:flex;flex-wrap:wrap;gap:.3rem}.ctd-option-btn{background:#f4f8f5;border:1.5px solid #c0d5c6;border-radius:5px;color:#3a5442;cursor:pointer;font-size:var(--text-small);font-weight:var(--weight-medium);padding:.28rem .65rem;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.ctd-option-btn:hover:not(:disabled){background:#daeee2;border-color:#2d5a27}.ctd-option-btn--active{background:#2d5a27;border-color:#2d5a27;color:#fff}.ctd-option-btn--active:hover:not(:disabled){background:#244e20;border-color:#244e20;color:#fff}.ctd-option-btn:disabled{cursor:not-allowed;opacity:.55}.ctd-typo-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:.5rem}.ctd-typo-col{background:#f8fcf9;border:1px solid #dce8df;border-radius:var(--radius-control);padding:.75rem}.ctd-typo-col-label{color:#2d5a27;font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.05em;margin-bottom:.6rem;text-transform:uppercase}.ctd-signatory-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.ctd-signatory-card{background:#f8fcf9;border:1px solid #d4e6d8;border-radius:var(--radius-panel);display:flex;flex-direction:column;gap:.65rem;min-width:0;overflow:hidden;padding:.9rem .8rem}.ctd-signatory-card legend{color:#245d39;font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.06em;padding:0 .3rem;text-transform:uppercase}.ctd-sig-note{color:#6a786f;font-size:var(--text-caption)}.ctd-sig-note--saved{color:#2d7a4a}.ctd-preview{background:#f2f7f3;border-left:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;position:-webkit-sticky;position:sticky;top:1rem}.ctd-preview-header{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between}.ctd-preview-header strong{color:var(--color-text);font-size:var(--text-small)}.ctd-preview-header span{color:#7a8d82;font-size:var(--text-caption)}.ctd-layout-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ctd-layout-card{background:#fbfdfc;border:1.5px solid #dce7e2;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;padding:.6rem .6rem .7rem;text-align:left;transition:border-color .12s,background .12s}.ctd-layout-card:hover:not(:disabled){border-color:#8fb39c}.ctd-layout-card:focus-visible{outline:2px solid #23744a;outline-offset:2px}.ctd-layout-card--active{background:#edf6f1;border-color:#23744a}.ctd-layout-card:disabled{cursor:not-allowed;opacity:.6}.ctd-layout-card>div:first-child{border-radius:3px;margin-bottom:.35rem;pointer-events:none}.ctd-layout-name{color:#17201c;font-size:.85rem;font-weight:700}.ctd-layout-card--active .ctd-layout-name{color:#23744a}.ctd-layout-desc{color:#65736c;font-size:.75rem;line-height:1.35}@media (max-width:1100px){.ctd-signatory-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.ctd-body{grid-template-columns:1fr}.ctd-preview{border-left:none;border-top:1px solid var(--color-border);position:static}}@media (max-width:640px){.ctd-signatory-grid,.ctd-typo-row{grid-template-columns:1fr}}@media (max-width:600px){.ctd-header{flex-direction:column}.ctd-scope-label{max-width:100%;min-width:0;width:100%}.ctd-color-row{grid-template-columns:1fr}}.rb-root{grid-gap:1.5rem;display:grid;gap:1.5rem;padding:1.5rem 0}.rb-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.rb-title{font-size:var(--text-section);font-weight:var(--weight-semibold);margin:0 0 .25rem}.rb-subtitle{color:var(--color-muted);margin:0}.rb-alert,.rb-subtitle{font-size:var(--text-small)}.rb-alert{border-radius:var(--radius-control);font-weight:var(--weight-semibold);padding:.75rem 1rem}.rb-alert-error{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c}.rb-alert-success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.rb-layout{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:280px 1fr}@media (max-width:800px){.rb-layout{grid-template-columns:1fr}}.rb-left{grid-gap:.5rem;align-content:start;display:grid;gap:.5rem}.rb-section-title{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:.03em;margin:0 0 .5rem;text-transform:uppercase}.rb-optional{color:var(--color-muted);font-weight:var(--weight-normal);text-transform:none}.rb-groups-list{border:1px solid #d3e0d9;border-radius:var(--radius-panel);overflow:hidden}.rb-group{border-bottom:1px solid #d3e0d9}.rb-group:last-child{border-bottom:none}.rb-group-header{align-items:center;background:#f6faf8;border:none;cursor:pointer;display:flex;font-size:var(--text-small);font-weight:var(--weight-bold);gap:.5rem;padding:.65rem .85rem;text-align:left;transition:background .15s;width:100%}.rb-group-header:hover,.rb-group-open,.rb-group-open:hover{background:var(--color-brand-soft)}.rb-group-arrow{color:var(--color-muted);flex-shrink:0;font-size:var(--text-caption)}.rb-group-label{flex:1 1}.rb-group-count{background:var(--color-brand);border-radius:999px;color:#fff;font-size:var(--text-caption);font-weight:var(--weight-semibold);min-width:1.4rem;padding:.1rem .45rem;text-align:center}.rb-group-fields{grid-gap:0;background:#fff;border-top:1px solid #e4eeea;display:grid;gap:0}.rb-field-item{align-items:center;border-bottom:1px solid #f0f5f2;cursor:pointer;display:flex;font-size:var(--text-small);gap:.6rem;padding:.5rem .85rem;transition:background .12s}.rb-field-item:last-child{border-bottom:none}.rb-field-item:hover{background:#f6faf8}.rb-field-item input[type=checkbox]{accent-color:var(--color-brand);flex-shrink:0;height:15px;width:15px}.rb-right{align-content:start;display:grid}.rb-selected-panel{border:1px solid #d3e0d9;border-radius:var(--radius-panel);display:grid;grid-template-rows:auto 1fr;min-height:260px;overflow:hidden}.rb-selected-header{align-items:center;background:var(--color-brand);color:#fff;display:flex;font-size:var(--text-control);font-weight:var(--weight-bold);gap:.75rem;padding:.7rem 1rem}.rb-selected-count{background:#fff3;border-radius:999px;font-size:var(--text-caption);padding:.15rem .55rem}.rb-selected-body{background:#fff;min-height:200px;padding:.75rem}.rb-empty-hint{color:var(--color-muted);font-size:var(--text-small);line-height:1.6;margin:.75rem .5rem}.rb-field-cards{grid-gap:.5rem;display:grid;gap:.5rem}.rb-field-card{background:#f6faf8;border:1px solid #d3e0d9;border-radius:var(--radius-control);overflow:hidden}.rb-field-card-header{align-items:center;background:var(--color-brand-soft);display:flex;gap:.6rem;padding:.5rem .75rem}.rb-field-card-num{background:var(--color-brand);border-radius:4px;color:#fff;font-size:var(--text-caption);font-weight:var(--weight-semibold);min-width:1.4rem;padding:.15rem .35rem;text-align:center}.rb-field-card-check{accent-color:var(--color-brand);flex-shrink:0;height:15px;width:15px}.rb-field-card-name{color:var(--color-text);flex:1 1;font-size:var(--text-control);font-weight:var(--weight-bold)}.rb-field-card-remove{background:none;border:none;color:var(--color-muted);cursor:pointer;font-size:var(--text-subheading);font-weight:300;line-height:1;padding:0 .2rem}.rb-field-card-remove:hover{color:#b91c1c}.rb-field-card-filter{align-items:center;border-top:1px solid #e4eeea;display:flex;flex-wrap:wrap;gap:.5rem;padding:.45rem .75rem}.rb-field-card-filter-label{color:var(--color-muted);font-size:var(--text-small);font-weight:var(--weight-semibold);min-width:3.5rem}.rb-field-card-filter input,.rb-field-card-filter select{background:#fff;border:1px solid var(--color-border-strong);border-radius:5px;color:var(--color-text);font-size:var(--text-small);min-height:2.1rem;padding:.3rem .55rem}.rb-field-card-filter input:focus,.rb-field-card-filter select:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px #23744a24;outline:none}.rb-field-card-filter select{min-width:130px}.rb-field-card-filter input{min-width:120px;width:140px}.rb-filter-between{align-items:center;display:flex;gap:.4rem}.rb-filter-between span{color:var(--color-muted);font-size:var(--text-small)}.rb-filters,.rb-options{background:#fff;border:1px solid #d3e0d9;border-radius:var(--radius-panel);padding:1rem 1.25rem}.rb-filters-grid{grid-gap:.85rem 1.25rem;display:grid;gap:.85rem 1.25rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:.75rem}.rb-filters-grid label,.rb-options label{grid-gap:.35rem;display:grid;font-size:var(--text-small);gap:.35rem}.rb-filters-grid label span,.rb-options label span{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-bold)}.rb-filters-grid input,.rb-filters-grid select,.rb-options select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:2.5rem;padding:.5rem .7rem;width:100%}.rb-filters-grid input:focus,.rb-filters-grid select:focus,.rb-options select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #23744a26;outline:none}.rb-options-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:.75rem}.rb-options-row label,.rb-options-row select{min-width:160px}.rb-format-group{grid-gap:.35rem;display:grid;font-size:var(--text-small);gap:.35rem}.rb-format-group>span{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-bold)}.rb-format-options{display:flex;gap:1.25rem}.rb-format-option{align-items:center;cursor:pointer;display:flex;font-size:var(--text-small);font-weight:var(--weight-semibold);gap:.45rem}.rb-format-option input[type=radio]{accent-color:var(--color-brand);height:16px;width:16px}.rb-run-row{align-items:center;display:flex;gap:1rem}.rb-run-btn{font-size:var(--text-body);min-width:200px;padding:.8rem 1.5rem}.rb-run-hint{color:var(--color-muted);font-size:var(--text-small)}.cert-download-btn:hover{background:var(--color-brand)}.module-manager{grid-gap:.75rem;display:grid;gap:.75rem}.module-manager-header{grid-gap:.2rem;display:grid;gap:.2rem}.module-manager-title{color:#34463c;font-size:var(--text-small);font-weight:var(--weight-bold)}.module-manager-hint{color:var(--color-muted);font-size:var(--text-small)}.module-list{grid-gap:.5rem;display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.module-item{background:#fff;border:1px solid #d0e8d8;border-radius:7px;overflow:hidden}.module-row{gap:.75rem;padding:.65rem .85rem}.module-order,.module-row{align-items:center;display:flex}.module-order{flex-direction:column;flex-shrink:0;gap:.1rem}.module-order-num{color:#9aaaa2;font-size:var(--text-caption);font-weight:var(--weight-bold);min-width:1.2rem;text-align:center}.module-move-btn{background:none;border:1px solid #d0e0d8;border-radius:4px;color:#5a7060;cursor:pointer;font-size:var(--text-caption);line-height:1;padding:.15rem .3rem}.module-move-btn:disabled{color:#bfcfca;cursor:not-allowed}.module-info{grid-gap:.2rem;display:grid;flex:1 1;gap:.2rem;min-width:0}.module-title{font-size:var(--text-control)}.module-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.module-type-badge{border-radius:999px;font-size:var(--text-caption);font-weight:var(--weight-bold);padding:.1rem .45rem;text-transform:uppercase}.module-type-video{background:#e8f0ff;color:#1a3a8c}.module-type-document{background:#f4f8f6;color:#34463c}.module-type-quiz{background:#fff4d6;color:#8a6200}.module-type-assignment{background:#fef0e8;color:#7a3010}.module-type-session{background:#f0f0f0;color:#555}.module-optional-badge{border:1px solid #c8dcc8;border-radius:999px;color:#88a088;font-size:var(--text-caption);padding:.1rem .45rem}.module-content-link{color:#1f7a3a;font-size:var(--text-caption);text-decoration:none}.module-content-link:hover{text-decoration:underline}.module-actions{display:flex;flex-shrink:0;gap:.4rem}.module-edit-form,.quiz-question-missing{color:#c0392b;font-size:.8rem;font-weight:600;margin:0}.module-add-form{grid-gap:.7rem;border-top:1px solid #e0ece6;display:grid;gap:.7rem;padding:.85rem}.quiz-questions-editor{grid-gap:.6rem;display:grid;gap:.6rem}.quiz-question-edit{grid-gap:.5rem;background:#fff;border:1px solid #d0e8d8;border-radius:7px;display:grid;gap:.5rem;margin:0;padding:.7rem}.quiz-option-edit{align-items:center;display:flex;gap:.5rem}.quiz-option-edit input:not([type]),.quiz-option-edit input[type=text]{flex:1 1;min-width:0}.module-add-form{background:#f8fbf8;border:1px solid #d0e8d8;border-radius:7px}.primary-button:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.ghost-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){background:#e5f0e9;border-color:#96b5a4}.ghost-button:active:not(:disabled),.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled){border-color:var(--color-brand-hover)}.dashboard-context{color:var(--color-muted);font-size:var(--text-small);font-weight:var(--weight-medium);margin:.5rem 0 0}.dashboard-header-start>div{min-width:0}.dashboard-header p,.panel-header p{line-height:1.5;max-width:70ch}.dashboard-panel h2,.panel-header h2{font-weight:var(--weight-semibold);line-height:1.35}.kpi-value,.role-dist-card strong,.stat-card strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);line-height:1.2}.sidebar-user-name{overflow-wrap:anywhere}.sidebar{scrollbar-color:#4b6e5b #0f2d1c;scrollbar-width:thin}.alert,.empty-state,.form-message,.state-panel{line-height:1.55;overflow-wrap:anywhere}.empty-state{padding:1.25rem 0}.create-user-form input,.create-user-form select,.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea,.login-form input,.stack-form input:not([type=checkbox]):not([type=radio]),.stack-form select,.stack-form textarea{font-size:var(--text-body)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}.forgot-link:focus-visible,.login-footer a:focus-visible{border-radius:.125rem}@media (forced-colors:active){.sidebar-link.active,.tab-btn.active{outline:2px solid Highlight;outline-offset:-2px}}.login-hero .eyebrow{color:#dcefe2}.login-domain{color:#eef8f1;display:inline-block;font-size:var(--text-small);margin-top:.75rem;overflow-wrap:anywhere;text-underline-offset:.2em}.sidebar-brand-text{min-width:0}.sidebar-brand-text span,.sidebar-brand-text strong{overflow-wrap:anywhere}.builder-publish{background:#f4f8f4;border:1px solid #d0e8d0;border-radius:8px;margin:0 0 .9rem;padding:.75rem .9rem}.builder-publish legend{font-weight:700;padding:0 .35rem}.builder-toolbar{border-bottom:1px solid #e3eee7;margin-bottom:.9rem;padding-bottom:.9rem}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.builder-layout{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.builder-outline{grid-gap:.9rem;display:grid;gap:.9rem;position:-webkit-sticky;position:sticky;top:1rem}.builder-section{grid-gap:.4rem;display:grid;gap:.4rem}.builder-outline-button{align-items:baseline;background:#fff;border:1px solid #d0e8d8;border-radius:7px;color:#17201c;display:flex;flex-wrap:wrap;gap:.25rem .5rem;padding:.5rem .65rem;text-align:left;width:100%}.builder-outline-button.builder-item{align-items:flex-start;flex-direction:column;margin-left:.75rem;width:calc(100% - .75rem)}.builder-outline-button:hover{border-color:#1f7a3a}.builder-outline-button.is-selected{background:#edf8f1;border-color:#1f7a3a;box-shadow:inset 3px 0 0 #1f7a3a}.builder-issue{color:#8c2a17;font-weight:700}.builder-add select{margin-left:.75rem;width:calc(100% - .75rem)}.builder-editor{background:#fff;border:1px solid #d0e8d8;border-radius:8px;min-width:0;padding:.9rem 1rem}@media (max-width:900px){.builder-layout{grid-template-columns:1fr}.builder-outline{position:static}}@media (max-width:768px){.page{padding:1rem}}@media (max-width:1024px){.login-shell{grid-template-columns:1fr;height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.login-hero{min-height:42vh;overflow:visible}.meta-grid,.mini-metric-list,.organizer-grid,.registration-layout,.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.interest-action-panel,.interest-card,.interest-pool-shell{grid-template-columns:1fr}.interest-action-panel{border-left:none;border-top:1px solid #dce7e2}.interest-action-panel>label:first-child{grid-row:auto}.dashboard-panel.wide{grid-column:1/-1}}@media (max-width:720px){.dashboard-header h1,.public-registration-hero h1{font-size:1.75rem}.dashboard-actions{justify-content:flex-start}.dashboard-panel{padding:1rem}.login-hero h1{font-size:2rem}.login-hero{gap:1rem;min-height:auto}.login-highlights{font-size:var(--text-small);gap:.5rem}.filter-bar>*,.login-card{max-width:100%}.filter-bar>*{min-width:0}}@media (max-width:480px){.meta-grid,.mini-metric-list,.stats-grid{grid-template-columns:minmax(0,1fr)}.dashboard-page,.login-panel,.public-registration-page{padding:.875rem}.login-card{padding:1.25rem}}@media (max-width:1320px){.interest-pool-shell{grid-template-columns:1fr}}@media (max-width:720px){.dashboard-page,.login-panel{padding:1rem}.login-hero{padding:2rem 1rem}.login-card{padding:1.25rem}.dashboard-header,.panel-header{align-items:stretch;flex-direction:column}.create-user-form,.dashboard-grid,.form-grid,.form-row,.inline-tools,.interest-action-grid,.interest-action-panel,.interest-card,.interest-detail-grid,.interest-filter-bar,.interest-pool-shell,.interest-summary-grid,.meta-grid,.mini-metric-list,.organizer-grid,.registration-layout,.stats-grid{grid-template-columns:1fr}.interest-action-panel{border-left:none;border-top:1px solid #dce7e2}.interest-action-panel>label:first-child{grid-row:auto}.public-registration-page{padding:1rem}}
/*# sourceMappingURL=main.614a5d12.css.map*/