.ts-toolbar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.ts-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:1rem;align-items:start}.ts-main,.ts-sidebar{min-width:0}.ts-panel{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.04)}.ts-panel-title{font-size:1.45rem;margin:0}.ts-panel-subtitle{color:#516273;margin:.15rem 0 1rem}.ts-kanban{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:.75rem}.ts-column{border-radius:14px;padding:.7rem;min-height:300px;border:1px solid rgba(0,0,0,.04)}.ts-filling{background:#fff2e8}.ts-threshold{background:#fff9dc}.ts-confirmed{background:#edf9ef}.ts-action{background:#f3efff}.ts-column-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.8rem}.ts-column-head h3{font-size:1.05rem;margin:0}.ts-column-subtitle{font-size:.82rem;color:#5f6e7b}.ts-number{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#1769aa;color:#fff;font-weight:700;flex:0 0 34px}.ts-threshold .ts-number{background:#d69400}.ts-confirmed .ts-number{background:#1f9d55}.ts-action .ts-number{background:#6f42c1}.ts-card{background:#fff;border:1px solid #e0e6ec;border-radius:12px;padding:.75rem;margin-bottom:.65rem;box-shadow:0 1px 2px rgba(0,0,0,.04)}.ts-card-title{display:flex;align-items:flex-start;gap:.45rem;margin-bottom:.5rem}.ts-course-badge{display:inline-flex;min-width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#1769aa;color:#fff;font-weight:700;font-size:.82rem}.ts-session-name{font-weight:700;line-height:1.25}.ts-meta{font-size:.86rem;color:#4e6070;margin:.2rem 0}.ts-danger{color:#c71920;font-weight:700}.ts-card-actions{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.6rem}.ts-btn{display:inline-block;border-radius:8px;padding:.35rem .55rem;font-size:.8rem;font-weight:600;text-decoration:none!important;border:1px solid transparent}.ts-btn-neutral{background:#eaf2f9;color:#1c4f75}.ts-btn-confirm{background:#dff6e6;color:#126a37}.ts-btn-report{background:#e8f3ff;color:#0d5d9e}.ts-btn-credit{background:#fff0dc;color:#945100}.ts-btn-refund{background:#ffe8ef;color:#a40f3b}.ts-btn-outline{background:#fff;border-color:#cbd5df;color:#465767}.ts-empty{color:#7a8792;font-size:.9rem;padding:.6rem}.ts-finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.ts-finance-card{border-radius:14px;padding:1rem;min-height:110px;border:1px solid #dfe7ef}.ts-finance-payments{background:#eef7ff}.ts-finance-refunds{background:#fff0f5}.ts-finance-net{background:#eefbf2}.ts-finance-credits{background:#f5f0ff}.ts-finance-label{font-weight:700;margin-bottom:.4rem}.ts-finance-value{font-size:1.65rem;font-weight:800}.ts-alert-row{display:flex;justify-content:space-between;gap:.5rem;padding:.7rem .2rem;border-top:1px solid #e7edf2;text-decoration:none!important}.ts-alert-row:first-of-type{border-top:0}.ts-alert-label{font-weight:600}.ts-alert-count{min-width:28px;height:28px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#edf2f7;color:#29445d;font-weight:700}.ts-monthly{margin-top:1rem}.ts-monthly-table th,.ts-monthly-table td{text-align:center}.ts-monthly-table th:first-child,.ts-monthly-table td:first-child{text-align:left}.ts-note{background:#eef7ff;border-radius:10px;padding:.65rem .8rem;color:#315d80}.ts-alert-panel{margin-top:0}@media(max-width:1150px){.ts-layout{grid-template-columns:1fr}.ts-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ts-alert-panel{margin:0}.ts-kanban{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:700px){.ts-kanban{grid-template-columns:1fr}.ts-sidebar{display:block}.ts-finance-grid{margin-top:1rem}.ts-alert-panel{margin-top:1rem}.ts-finance-grid{grid-template-columns:1fr 1fr}}
.ts-progress-state{margin:.55rem 0 .25rem;padding:.45rem .55rem;background:#eef7ff;border-radius:8px;color:#244e70;font-size:.84rem;font-weight:700}.ts-payment-meta{color:#315d80}.ts-btn-progress{background:#e8f7f0;color:#176943}
/* Public registration funnel V0.4 */
.tilida-public-page #page-header{display:none}.tilida-public-page #page{background:#f8fbff}.tilida-public-page #region-main{padding:0;background:transparent;border:0}.tilida-public-page .main-inner{max-width:none;padding:0}.ts-public-shell{max-width:1500px;margin:0 auto;padding:0 2rem 3rem;color:#0b3763}.ts-public-topnav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:2px solid #ff83ad;margin-bottom:2.5rem}.ts-public-brand{font-size:2rem;font-weight:800;color:#3d6e96!important;text-decoration:none!important}.ts-public-navlinks{display:flex;gap:2rem;align-items:center}.ts-public-navlinks a{color:#314f6e!important;text-decoration:none!important;font-weight:600;padding:.6rem .2rem}.ts-public-navlinks a.is-active{color:#0c3e6e!important;border-bottom:3px solid #ff6e9f}.ts-public-title{text-align:center;font-size:2.6rem;line-height:1.1;margin:.5rem auto .6rem;color:#062f5d;font-weight:800}.ts-public-lead{text-align:center;color:#607b98;font-size:1.15rem;margin:0 auto 1.7rem;max-width:900px}.ts-public-steps{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:start;max-width:1000px;margin:0 auto 1.4rem}.ts-step{text-align:center;min-width:120px}.ts-step-number{width:42px;height:42px;margin:0 auto .45rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8eff7;color:#55718e;font-weight:800}.ts-step.is-current .ts-step-number,.ts-step.is-done .ts-step-number{background:#175d95;color:#fff}.ts-step-label{font-weight:600;color:#5b7590}.ts-step.is-current .ts-step-label{color:#0b3763;font-weight:800}.ts-step-line{height:2px;background:#d8e3ee;margin-top:21px}.ts-offer-grid,.ts-session-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}.ts-offer-card,.ts-public-session-card,.ts-register-form-card,.ts-register-summary-card,.ts-pay-card,.ts-order-summary,.ts-after-payment{background:#fff;border:1px solid #dce8f2;border-radius:18px;box-shadow:0 7px 24px rgba(42,91,132,.07);overflow:hidden}.ts-offer-visual,.ts-session-card-visual{min-height:210px;display:flex;align-items:center;justify-content:center;gap:2rem;font-size:5rem;background:linear-gradient(135deg,#fff0e9,#edf7ff)}.ts-offer-impression .ts-offer-visual{background:linear-gradient(135deg,#edf7ff,#eaf3ff)}.ts-offer-decouverte .ts-offer-visual{background:linear-gradient(135deg,#fff0fa,#f0ecff)}.ts-offer-body{position:relative;padding:1.2rem}.ts-offer-body h2{font-size:1.55rem;margin:.2rem 0 .35rem;color:#082f5a}.ts-offer-body p{color:#607892;min-height:3.2rem}.ts-offer-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff0f5;color:#ff4f88;font-size:1.6rem}.ts-public-primary,.ts-public-secondary{display:inline-flex;justify-content:center;align-items:center;width:100%;min-height:50px;border:0;border-radius:10px;background:#145a90;color:#fff!important;text-decoration:none!important;font-weight:800;font-size:1rem;padding:.7rem 1rem;cursor:pointer}.ts-public-secondary{width:auto;background:#eef5fb;color:#164f7a!important;border:1px solid #c9dae9}.ts-public-reassurance{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:#eef7ff;border-radius:18px;margin-top:1.5rem;padding:1rem}.ts-reassurance-item{text-align:center;color:#57718c}.ts-reassurance-item strong{color:#163e66}.ts-session-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;background:#eef7ff;border-radius:16px;padding:1rem;margin-bottom:1rem}.ts-strip-item{padding:.4rem .9rem;border-right:1px solid #cfe1f0;color:#607892}.ts-strip-item:last-child{border-right:0}.ts-strip-item strong{color:#123d67}.ts-public-session-card{position:relative;padding:1rem}.ts-public-session-card h2{margin:.7rem 0 .5rem;font-size:1.45rem}.ts-public-session-card p{margin:.25rem 0;color:#536e89}.ts-public-session-card.is-disabled{opacity:.78}.ts-availability-badge{position:absolute;z-index:2;top:1rem;left:1rem;border-radius:999px;padding:.35rem .7rem;font-weight:700;font-size:.85rem}.ts-availability-badge.is-green{background:#dff7e8;color:#15743f}.ts-availability-badge.is-amber{background:#fff2cb;color:#a46a00}.ts-availability-badge.is-red{background:#ffe5e9;color:#b01d2e}.ts-session-card-visual{min-height:145px;border-radius:12px;font-size:3.6rem}.ts-session-price{font-size:2rem;font-weight:900;text-align:right;color:#073663;margin:.6rem 0}.ts-disabled-reason{padding:.7rem;background:#f4f6f8;border-radius:8px;color:#6f7e8c}.ts-register-layout,.ts-pay-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);gap:1.2rem}.ts-register-form-card,.ts-register-summary-card,.ts-pay-card,.ts-order-summary,.ts-after-payment{padding:1.4rem}.ts-register-form-card h2,.ts-register-summary-card h2,.ts-pay-card h2,.ts-order-summary h2,.ts-after-payment h2{font-size:1.55rem;color:#0a3763}.ts-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ts-form-field:nth-child(3),.ts-form-field:nth-child(4){grid-column:1/-1}.ts-form-field label{display:block;font-weight:700;margin-bottom:.35rem}.ts-form-field input{width:100%;height:52px;border:1px solid #9fb5ca;border-radius:9px;padding:0 .9rem;font-size:1rem}.ts-submit-full{margin-top:1rem}.ts-register-summary-card h3,.ts-order-summary h3{font-size:1.35rem}.ts-summary-price{font-size:2rem;font-weight:900;text-align:right;border-top:1px solid #dce8f2;padding-top:.7rem}.ts-unlock-box,.ts-order-ok{background:#f1edff;border-radius:12px;padding:1rem;margin-top:1rem;color:#45607c}.ts-unlock-box p{margin:.35rem 0}.ts-paypal-choice{display:flex;align-items:center;gap:1rem;border:2px solid #2494ed;border-radius:12px;padding:1.1rem;margin:1.2rem 0;font-size:1.7rem}.ts-paypal-mark{font-size:2.2rem;font-weight:900;color:#0070ba;font-style:italic}.ts-secure-chip{margin-left:auto;font-size:.85rem;background:#dff7e8;color:#13713d;border-radius:10px;padding:.5rem .8rem}.ts-pay-button{font-size:1.25rem;margin-bottom:.5rem}.ts-payment-hint{text-align:center;color:#71849a}.ts-security-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;border-top:1px solid #dce8f2;padding-top:1rem;margin-top:1rem}.ts-security-item{font-size:.88rem;color:#63788f}.ts-order-line,.ts-order-total{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid #e1eaf2}.ts-order-total{font-size:1.35rem;font-weight:900;background:#eef7ff;padding:.8rem;border-radius:8px}.ts-after-payment{margin-top:1rem;background:linear-gradient(90deg,#eef7ff,#f7efff)}.ts-success-shell{text-align:center;max-width:900px;padding-top:4rem}.ts-success-icon{width:80px;height:80px;border-radius:50%;margin:0 auto 1rem;background:#daf6e3;color:#15914a;font-size:3rem;display:flex;align-items:center;justify-content:center}.ts-illust-cube{color:#ff7fa9}.ts-illust-laptop,.ts-illust-printer{color:#315f88}.ts-illust-spool{color:#ff7fa9}.ts-illust-bulb{color:#8852cf}
@media(max-width:1000px){.ts-public-shell{padding-left:1rem;padding-right:1rem}.ts-offer-grid,.ts-session-public-grid{grid-template-columns:1fr 1fr}.ts-session-summary-strip{grid-template-columns:1fr 1fr}.ts-register-layout,.ts-pay-layout{grid-template-columns:1fr}.ts-register-summary-card,.ts-order-summary{order:-1}.ts-public-title{font-size:2.1rem}}
@media(max-width:700px){.ts-public-shell{padding:0 .75rem 2rem}.ts-public-topnav{margin-bottom:1.2rem}.ts-public-brand{font-size:1.5rem}.ts-public-navlinks{gap:.8rem}.ts-public-navlinks a{font-size:.9rem}.ts-public-title{font-size:1.8rem}.ts-public-lead{font-size:1rem}.ts-public-steps{grid-template-columns:repeat(4,1fr);gap:.25rem}.ts-step{min-width:0}.ts-step-number{width:34px;height:34px}.ts-step-label{font-size:.72rem;line-height:1.15}.ts-step-line{display:none}.ts-offer-grid,.ts-session-public-grid,.ts-public-reassurance,.ts-session-summary-strip{grid-template-columns:1fr}.ts-offer-visual{min-height:150px;font-size:3.8rem}.ts-offer-body p{min-height:0}.ts-strip-item{border-right:0;border-bottom:1px solid #cfe1f0}.ts-strip-item:last-child{border-bottom:0}.ts-form-grid{grid-template-columns:1fr}.ts-form-field:nth-child(3),.ts-form-field:nth-child(4){grid-column:auto}.ts-register-form-card,.ts-register-summary-card,.ts-pay-card,.ts-order-summary{padding:1rem}.ts-paypal-choice{font-size:1.25rem;flex-wrap:wrap}.ts-secure-chip{margin-left:0;width:100%;text-align:center}.ts-security-row{grid-template-columns:1fr}.ts-session-price{text-align:left}.ts-public-primary{min-height:54px}.ts-register-summary-card,.ts-order-summary{order:0}}
.tilida-public-page .navbar.fixed-top,.tilida-public-page .primary-navigation{display:none!important}body.tilida-public-page{padding-top:0!important}.tilida-public-page #page{margin-top:0!important}


/* V0.4.1 - public funnel fidelity and full-width layout */
body.tilida-public-page {
    margin: 0 !important;
    padding: 0 !important;
    background: #f8fbff !important;
}
.tilida-public-page #page,
.tilida-public-page #page-wrapper,
.tilida-public-page #page-content,
.tilida-public-page #region-main-box,
.tilida-public-page #region-main,
.tilida-public-page .main-inner,
.tilida-public-page .container,
.tilida-public-page .container-fluid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.tilida-public-page #region-main {
    overflow: visible !important;
}
.tilida-public-page .drawer-toggles,
.tilida-public-page .drawer-left-toggle,
.tilida-public-page .drawer-right-toggle,
.tilida-public-page footer,
.tilida-public-page #page-footer,
.tilida-public-page .navbar,
.tilida-public-page .secondary-navigation,
.tilida-public-page .moremenu {
    display: none !important;
}
.ts-public-shell {
    width: min(1500px, calc(100% - 64px)) !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 0 0 3rem !important;
}
.ts-public-topnav {
    min-height: 80px;
    padding: .55rem 0 .45rem !important;
    margin-bottom: 2.7rem !important;
}
.ts-public-brand {
    display: inline-flex !important;
    align-items: center;
}
.ts-public-logo {
    display: block;
    width: 205px;
    height: auto;
    max-height: 72px;
    object-fit: contain;
}
.ts-offer-card {
    display: flex;
    flex-direction: column;
    min-height: 455px;
}
.ts-offer-visual {
    min-height: 220px !important;
    padding: 0 !important;
    overflow: hidden;
}
.ts-offer-visual img,
.ts-session-card-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ts-offer-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem 1.1rem 1.05rem !important;
}
.ts-offer-body p {
    flex: 1;
    min-height: 3.4rem;
}
.ts-offer-body .ts-public-primary {
    margin-top: auto;
}
.ts-session-card-visual {
    min-height: 155px !important;
    padding: 0 !important;
    overflow: hidden;
}
.ts-public-title {
    margin-top: 0 !important;
}
@media (max-width: 1000px) {
    .ts-public-shell {
        width: min(100% - 32px, 980px) !important;
    }
    .ts-public-logo { width: 175px; }
}
@media (max-width: 700px) {
    .ts-public-shell {
        width: calc(100% - 24px) !important;
        padding-bottom: 1.5rem !important;
    }
    .ts-public-topnav {
        min-height: 64px;
        margin-bottom: 1.25rem !important;
        gap: .5rem;
    }
    .ts-public-logo { width: 132px; }
    .ts-public-navlinks { gap: .55rem !important; }
    .ts-public-navlinks a { font-size: .78rem !important; }
    .ts-offer-card { min-height: 0; }
    .ts-offer-visual { min-height: 175px !important; }
}

/* V0.4.4 - official Moodle custom front page integration */
body.tilida-public-page.pagelayout-frontpage #page-header,
body.tilida-public-page.pagelayout-frontpage .navbar,
body.tilida-public-page.pagelayout-frontpage .secondary-navigation,
body.tilida-public-page.pagelayout-frontpage #page-footer,
body.tilida-public-page.pagelayout-frontpage footer,
body.tilida-public-page.pagelayout-frontpage .drawer-toggles {
    display: none !important;
}
body.tilida-public-page.pagelayout-frontpage,
body.tilida-public-page.pagelayout-frontpage #page-wrapper,
body.tilida-public-page.pagelayout-frontpage #page,
body.tilida-public-page.pagelayout-frontpage #page-content,
body.tilida-public-page.pagelayout-frontpage #region-main-box,
body.tilida-public-page.pagelayout-frontpage #region-main,
body.tilida-public-page.pagelayout-frontpage .main-inner,
body.tilida-public-page.pagelayout-frontpage .container,
body.tilida-public-page.pagelayout-frontpage .container-fluid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.tilida-public-page.pagelayout-frontpage #page {
    margin-top: 0 !important;
    background: #f8fbff !important;
}
body.tilida-public-page.pagelayout-frontpage #region-main {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}


/* V0.4.5 - Moodle front-page embedding */
html.tilida-public-home body.tilida-public-page .navbar.fixed-top,
html.tilida-public-home body.tilida-public-page nav.navbar,
html.tilida-public-home body.tilida-public-page #page-header,
html.tilida-public-home body.tilida-public-page .secondary-navigation,
html.tilida-public-home body.tilida-public-page .drawer-toggles {
    display: none !important;
}
html.tilida-public-home body.tilida-public-page #page {
    margin-top: 0 !important;
}
html.tilida-public-home body.tilida-public-page #page.drawers,
html.tilida-public-home body.tilida-public-page #page.drawers .main-inner,
html.tilida-public-home body.tilida-public-page .main-inner,
html.tilida-public-home body.tilida-public-page #region-main,
html.tilida-public-home body.tilida-public-page [role="main"] {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
html.tilida-public-home body.tilida-public-page #region-main {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.ts-offer-visual img,
.ts-session-card-visual img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
}
.ts-offer-card {
    display: flex;
    flex-direction: column;
}
.ts-offer-body {
    display: flex;
    flex: 1;
    flex-direction: column;
}
.ts-offer-body .ts-public-primary {
    margin-top: auto;
}


/* V0.4.6 - Public pages settings */
.ts-publicpages-form {
    max-width: 1200px;
}
.ts-publicpages-table {
    display: grid;
    gap: 12px;
}
.ts-publicpage-row {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(320px, 2fr) 110px auto;
    gap: 12px;
    align-items: end;
    padding: 14px;
    border: 1px solid #d9e3ec;
    border-radius: 10px;
    background: #fff;
}
.ts-publicpage-field label,
.ts-publicpage-default label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}
.ts-publicpage-default {
    text-align: center;
}
.ts-publicpage-default input {
    width: 20px;
    height: 20px;
}
.ts-publicpages-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
@media (max-width: 820px) {
    .ts-publicpage-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .ts-publicpage-default {
        text-align: left;
    }
}

.ts-btn-delete {
    border-color: #b42318;
    color: #b42318;
    background: #fff;
}
.ts-btn-delete:hover,
.ts-btn-delete:focus {
    background: #b42318;
    border-color: #b42318;
    color: #fff;
}

.tilida-help {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: .25rem;
    border-radius: 50%;
    background: #0f6f86;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    cursor: help;
    vertical-align: middle;
}
