.post-type-frits_verslag .editor-styles-wrapper .frits-outerwrap,
.single-frits_verslag .frits-outerwrap {
    max-width: 1000px;
    margin-inline: auto;
}

.post-type-frits_verslag .editor-styles-wrapper .frits-container,
.single-frits_verslag .frits-container {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto !important;
}

.post-type-frits_verslag .editor-styles-wrapper .frits-container h2,
.single-frits_verslag .frits-container h2 {
    margin: 0 0 12px !important;
    color: #2a5fa8;
    font-size: 21px;
    line-height: 1.25;
    font-weight: 500;
}

.frits-label { font-weight: 700; }

.post-type-frits_verslag .editor-styles-wrapper .frits-input,
.post-type-frits_verslag .editor-styles-wrapper .frits-schoolkeuze-editor,
.post-type-frits_verslag .editor-styles-wrapper .frits-groepkeuze-editor,
.post-type-frits_verslag .editor-styles-wrapper .frits-tekstkeuze-preview {
    padding: 6px;
    background: #e8f4ff;
    border-radius: 4px;
}

.frits-gegevens .wp-block-column:first-child { flex-basis: 20% !important; }
.frits-gegevens .wp-block-column:nth-child(2) { flex-basis: 80% !important; }
.frits-table .wp-block-column:first-child { flex-basis: 20% !important; }
.frits-table .wp-block-column:nth-child(2) { flex-basis: 20% !important; }
.frits-table .wp-block-column:nth-child(3) { flex-basis: 10% !important; }
.frits-table .wp-block-column:nth-child(4) { flex-basis: 50% !important; }

.post-type-frits_verslag .editor-styles-wrapper .frits-school-row { display: none !important; }
.single-frits_verslag .frits-table > .wp-block-columns { display: none; }
.single-frits_verslag .frits-table > .wp-block-columns:first-child,
.single-frits_verslag .frits-table > .wp-block-columns:has(.frits-input:not(:empty)) { display: flex; }

/* Compacte rapportopmaak die ruime thema-instellingen overschrijft. */
.single-frits_verslag .frits-single-report {
    margin-top: 30px;
    margin-bottom: 50px;
}

.single-frits_verslag .frits-single-report > article {
    padding: clamp(20px, 4vw, 42px);
    border: 1px solid #d8e0e8;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(31, 52, 73, .06);
}

.single-frits_verslag .frits-single-report > article > header h1 {
    margin: 0 0 20px;
    color: #17324d;
    font-size: clamp(25px, 3vw, 34px);
}

.single-frits_verslag .frits-report-content .frits-container {
    padding: 20px 0;
    border-top: 1px solid #dfe6ed;
}

.single-frits_verslag .frits-report-content .frits-container:first-child {
    padding-top: 0;
    border-top: 0;
}

.single-frits_verslag .frits-report-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
    box-sizing: border-box;
}

.single-frits_verslag .tiptop-report-boundary {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
}

/* Blokthema's trekken alignfull normaal buiten de inhoud; binnen een verslag nooit. */
.single-frits_verslag .tiptop-report-boundary .frits-outerwrap,
.single-frits_verslag .tiptop-report-boundary .frits-outerwrap.alignfull,
.single-frits_verslag .tiptop-report-boundary .alignfull {
    position: static !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
}

.single-frits_verslag .tiptop-report-boundary .frits-container,
.single-frits_verslag .tiptop-report-boundary .frits-tekstkeuze {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Een losse sectiekop boven een tabel krijgt dezelfde afstand als Gegevens. */
.single-frits_verslag .frits-report-content .frits-container:has(+ .frits-table) {
    padding-bottom: 0 !important;
}

.single-frits_verslag .frits-report-content .wp-block-columns {
    gap: 14px !important;
    margin: 0 !important;
    padding: 5px 0;
    align-items: baseline !important;
}

.single-frits_verslag .frits-report-content .wp-block-column,
.single-frits_verslag .frits-report-content p,
.single-frits_verslag .frits-report-content .frits-input {
    margin: 0 !important;
    line-height: 1.45;
}

.single-frits_verslag .frits-group-output {
    display: grid;
    grid-template-columns: minmax(0, 20%) minmax(0, 80%);
    gap: 14px;
    margin: 0;
    padding: 5px 0;
    line-height: 1.45;
}

.single-frits_verslag .frits-table {
    padding-top: 0;
}

.single-frits_verslag .frits-report-content .frits-table {
    border-top: 0 !important;
}

/* De kop Beginsituatie en de bijbehorende tabel horen visueel bij elkaar. */
.single-frits_verslag .frits-report-content .frits-container:has(h2) + .frits-table {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.single-frits_verslag .frits-table > .wp-block-columns {
    min-height: 36px;
    border-bottom: 1px solid #edf1f5;
}

.single-frits_verslag .frits-table > .wp-block-columns:first-child {
    min-height: auto;
    padding: 8px 10px;
    border-radius: 5px 5px 0 0;
    border-bottom-color: #c8d5e2;
    background: #edf5fc;
}

.single-frits_verslag .frits-progress-entry {
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    border-left: 4px solid #2a5fa8;
    background: #f5f8fb;
}

.single-frits_verslag .frits-progress-entry .frits-progress-meta {
    margin-bottom: 8px !important;
    color: #1e4467;
    font-weight: 700;
}

.single-frits_verslag .frits-progress-entry .frits-progress-note {
    white-space: pre-line;
}

.frits-progress-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 4px 0 18px;
    padding: 12px 14px;
    border: 1px solid #dbe5ee;
    border-radius: 7px;
    background: #f8fafc;
}

.frits-progress-filter label {
    display: grid;
    gap: 4px;
    min-width: 180px;
    color: #1e4467;
    font-size: 14px;
    font-weight: 700;
}

.frits-progress-filter select {
    min-height: 38px;
    padding: 6px 34px 6px 9px;
    border: 1px solid #b8c8d9;
    border-radius: 6px;
    background-color: #fff;
    color: #17324d;
    font: inherit;
}

.frits-progress-entry[hidden],
.frits-progress-empty[hidden] { display: none !important; }
.frits-progress-empty { margin: 0 0 18px; color: #536579; }
.frits-student-details[hidden]{display:none!important}
.frits-student-overview-filter{margin:0 0 22px;padding:16px;border:1px solid #c9d9e7;border-radius:9px;background:#f4f8fb}.frits-student-overview-filter label{display:grid;gap:6px;font-weight:700}.frits-student-overview-filter select{width:100%;max-width:420px;padding:9px 10px;border:1px solid #aebfd0;border-radius:6px;background:#fff;font:inherit}.frits-student-overview-filter p{margin:8px 0 0;color:#536579}.frits-student-detail{margin:10px 0;padding:15px;border-left:4px solid #1d6cab;background:#f5f8fb}.frits-student-detail-name{margin:0 0 7px;font-weight:700;color:#1e4467}.frits-student-detail-text{margin:0;white-space:pre-line}.frits-student-detail-text:empty:after{content:'Voor deze leerling is nog geen extra informatie ingevuld.';color:#647485}.frits-student-detail[hidden],.frits-progress-filter[hidden],.frits-table>.wp-block-columns[hidden]{display:none!important}

.single-frits_verslag .frits-tekstkeuze {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    box-sizing: border-box;
}

.single-frits_verslag .frits-report-content .frits-tekstkeuze table {
    display: table !important;
    width: calc(100% - 1px) !important;
    inline-size: calc(100% - 1px) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    table-layout: fixed !important;
    box-sizing: border-box !important;
}

.editor-styles-wrapper .frits-tekstkeuze-preview-text {
    width: 100%;
    max-width: 100%;
    margin-top: 10px;
    overflow-x: auto;
    background: #fff;
    box-sizing: border-box;
}

.editor-styles-wrapper .frits-tekstkeuze-preview-text table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse;
    box-sizing: border-box !important;
}

.editor-styles-wrapper .frits-tekstkeuze-preview-text th,
.editor-styles-wrapper .frits-tekstkeuze-preview-text td {
    padding: 7px 9px;
    border: 1px solid #b8c2cc;
    overflow-wrap: anywhere;
    white-space: normal;
    box-sizing: border-box !important;
}

.editor-styles-wrapper .frits-tekstkeuze-preview-text p {
    margin: 0 !important;
}

/* Oude presets kunnen een volledig lege vierde eindkolom bevatten. */
.single-frits_verslag .frits-tekstkeuze table:has(tr:first-child > :nth-child(4):last-child:empty) tr > :last-child:empty {
    display: none !important;
}

.frits-tekstkeuze-preview-text { white-space: normal; }

@media (max-width: 760px) {
    .single-frits_verslag .frits-report-content .frits-tekstkeuze table,
    .editor-styles-wrapper .frits-tekstkeuze-preview-text table {
        width: 800px !important;
        inline-size: 800px !important;
        min-width: 800px !important;
        max-width: none !important;
    }
}

.frits-tekstkeuze table,
.frits-preset-table {
    width: 100%;
    max-width: 100%;
    margin: 16px 0;
    border-collapse: collapse;
    table-layout: fixed;
    box-sizing: border-box;
}

.frits-tekstkeuze th,
.frits-tekstkeuze td,
.frits-preset-table th,
.frits-preset-table td {
    padding: 8px 10px;
    border: 1px solid #b8c2cc;
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
    word-break: normal;
    /* Behoud handmatige regeleinden uit het tekstsjabloon in tabelcellen. */
    white-space: pre-line !important;
    box-sizing: border-box !important;
}

.frits-tekstkeuze td p,
.frits-tekstkeuze th p,
.frits-preset-table td p,
.frits-preset-table th p {
    margin: 0 !important;
}

.single-frits_verslag .frits-tekstkeuze table tr > th:last-child,
.single-frits_verslag .frits-tekstkeuze table tr > td:last-child {
    border-right: 1px solid #b8c2cc !important;
}

.frits-tekstkeuze th,
.frits-preset-table th {
    background: #e8f4ff;
    font-weight: 700;
}

@media (max-width: 700px) {
    .single-frits_verslag .frits-table > .wp-block-columns { gap: 8px; }
}

.frits-portal,
.frits-single-report {
    width: min(100% - 32px, 1000px);
    margin: 48px auto;
}

.frits-portal-header { margin-bottom: 28px; }
.frits-portal-header h1 { margin-bottom: 4px; }
.frits-portal-header p { margin-top: 0; color: #52606d; }

.frits-pin-card {
    max-width: 480px;
    padding: 28px;
    border: 1px solid #d8dee5;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(30, 50, 70, .08);
}

.frits-central-portal {
    display: grid;
    grid-template-columns: minmax(240px, 38%) 1fr;
    width: min(100%, 920px);
    margin: 40px auto;
    box-sizing: border-box;
    border: 1px solid #d8dee5;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(30, 50, 70, .08);
    overflow: hidden;
}
.frits-central-portal h2 { margin-top: 0; }
.frits-school-column { padding: 28px; background: #f3f7fb; border-right: 1px solid #d8dee5; }
.frits-school-login { display: flex; flex-direction: column; justify-content: center; min-height: 360px; padding: 34px; }
.frits-school-list { display: grid; gap: 7px; margin-top: 20px; }
.frits-school-list a { display: flex; gap: 9px; align-items: center; padding: 10px 12px; border-radius: 5px; color: #243b53; text-decoration: none; background: #fff; border: 1px solid #d8dee5; }
.frits-school-list a:hover,
.frits-school-list a.is-active { border-color: #2a5fa8; background: #2a5fa8; color: #fff; }
.frits-school-placeholder { color: #657482; text-align: center; }
.frits-school-placeholder .dashicons { width: 48px; height: 48px; font-size: 48px; }
.frits-school-login.has-welcome { justify-content: center; }
.frits-school-welcome { width: 100%; box-sizing: border-box; }
.frits-school-welcome > :first-child { margin-top: 0; }
.frits-school-welcome > :last-child { margin-bottom: 0; }
.frits-school-welcome img { display: block; max-width: 100%; height: auto; margin: 18px auto; border-radius: 8px; }
.frits-school-welcome .alignleft { float: left; margin: 0 20px 14px 0; }
.frits-school-welcome .alignright { float: right; margin: 0 0 14px 20px; }
.frits-school-welcome::after { display: table; clear: both; content: ''; }
.frits-central-form { display: grid; gap: 8px; }
.frits-central-form label { margin-top: 9px; font-weight: 700; }
.frits-central-form select,
.frits-central-form input { width: 100%; box-sizing: border-box; padding: 11px; }
.frits-central-form button { margin-top: 14px; padding: 11px 16px; border: 0; border-radius: 5px; background: #2a5fa8; color: #fff; cursor: pointer; }
.frits-choose-group { padding: 18px; border-left: 4px solid #2a5fa8; background: #f3f7fb; }

.frits-pin-card label { display: block; margin-bottom: 6px; font-weight: 700; }
.frits-pin-card input { width: 100%; box-sizing: border-box; padding: 11px; margin-bottom: 14px; }
.frits-pin-card button,
.frits-open-report {
    display: inline-block;
    padding: 10px 16px;
    border: 0;
    border-radius: 5px;
    background: #2a5fa8;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}
.frits-error { padding: 10px 12px; border-left: 4px solid #b42318; background: #fef3f2; color: #912018; }

.frits-group-menu { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.frits-group-menu a { padding: 8px 13px; border: 1px solid #b8c2cc; border-radius: 999px; color: #243b53; text-decoration: none; }
.frits-group-menu a:hover,
.frits-group-menu a.is-active { border-color: #2a5fa8; background: #2a5fa8; color: #fff; }

.frits-report-list { display: grid; gap: 12px; }
.frits-report-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border: 1px solid #d8dee5; border-radius: 8px; background: #fff; }
.frits-report-card h2 { margin: 5px 0; font-size: 20px; }
.frits-report-card time { color: #657482; font-size: 14px; }
.frits-report-card > div { min-width: 0; flex: 1; }
.frits-report-summary { max-width: 760px; margin: 10px 0 0; color: #52606d; line-height: 1.55; }
.frits-open-report { flex: 0 0 auto; white-space: nowrap; }
.frits-report-card.is-full-report { display: block; padding: clamp(20px, 4vw, 38px); background: #fff; }
.frits-report-card.is-full-report > .frits-report-content { margin-top: 24px; }
.frits-portal .frits-report-content { width: 100%; max-width: 100%; min-width: 0; overflow: visible; box-sizing: border-box; }
.frits-portal .tiptop-report-boundary { width: 100%; max-width: 100%; min-width: 0; overflow: hidden; box-sizing: border-box; }
.frits-portal .tiptop-report-boundary .frits-outerwrap,
.frits-portal .tiptop-report-boundary .alignfull { position: static !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; transform: none !important; box-sizing: border-box !important; }
.frits-portal .frits-report-content .frits-container { width: 100%; max-width: 100%; margin: 0 !important; padding: 20px 0; border-top: 1px solid #dfe6ed; box-sizing: border-box; }
.frits-portal .frits-report-content .frits-container:first-child { padding-top: 0; border-top: 0; }
.frits-portal .frits-report-content .frits-container h2 { margin: 0 0 12px !important; color: #1d5e98; font-size: 21px; line-height: 1.25; font-weight: 500; }
.frits-portal .frits-report-content .wp-block-columns { gap: 14px !important; box-sizing: border-box !important; }
.frits-portal .frits-report-content .wp-block-column,
.frits-portal .frits-report-content p { margin: 0 !important; line-height: 1.45; }
.frits-portal .frits-table > .wp-block-columns { display: none; min-height: 36px; border-bottom: 1px solid #edf1f5; }
.frits-portal .frits-table > .wp-block-columns:first-child,
.frits-portal .frits-table > .wp-block-columns:has(.frits-input:not(:empty)) { display: flex; }
.frits-portal .frits-table > .wp-block-columns:first-child { padding: 8px 10px; background: #edf5fc; }
.frits-plan-collapse .frits-tekstkeuze { position: relative; max-height: 145px; overflow: hidden; }
.frits-plan-collapse:not(.is-open) .frits-tekstkeuze::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 48px; pointer-events: none; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff); }
.frits-plan-collapse.is-open .frits-tekstkeuze { max-height: none; overflow: visible; }
.frits-plan-toggle { margin-top: 5px; padding: 0; border: 0; background: transparent; color: #1d5e98; font: inherit; font-weight: 800; text-decoration: underline; cursor: pointer; }
.frits-plan-toggle:hover,.frits-plan-toggle:focus { background: transparent; color: #123f69; }
.frits-plan-collapse .frits-tekstkeuze > .frits-input { margin-top: 14px !important; white-space: pre-line; }
.frits-extra-info { margin-top: 8px; padding: 0; border: 0; background: transparent; }
.frits-extra-toggle { padding: 0; border: 0; background: transparent; color: #1d5e98; font: inherit; font-weight: 800; text-align: left; text-decoration: underline; cursor: pointer; }
.frits-extra-toggle:hover,.frits-extra-toggle:focus { background: transparent !important; color: #1d5e98 !important; box-shadow: none !important; transform: none !important; }
.frits-extra-table { margin-top: 14px; overflow-x: auto; }
.frits-extra-table[hidden] { display: none !important; }
.frits-extra-table table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; }
.frits-extra-table th,.frits-extra-table td { padding: 8px 10px; border: 1px solid #b8c2cc; vertical-align: top; overflow-wrap: anywhere; white-space: pre-line; }
.single-frits_verslag .frits-tekstkeuze > p,
.frits-portal .frits-report-content .frits-tekstkeuze > p { margin: 0 0 .8em !important; line-height: 1.55; }
.single-frits_verslag .frits-tekstkeuze > p:last-child,
.frits-portal .frits-report-content .frits-tekstkeuze > p:last-child { margin-bottom: 0 !important; }
.single-frits_verslag .frits-tekstkeuze > p:empty,
.frits-portal .frits-report-content .frits-tekstkeuze > p:empty { min-height: 1.55em; }
.single-frits_verslag .frits-tekstkeuze li,
.frits-portal .frits-report-content .frits-tekstkeuze li { margin-bottom: .3em; line-height: 1.5; }
.single-frits_verslag .frits-tekstkeuze > h3,
.frits-portal .frits-report-content .frits-tekstkeuze > h3 { margin: 1.15em 0 .45em !important; color: #1d5e98; font-size: 1.08em; line-height: 1.3; font-weight: 800; }
.single-frits_verslag .frits-tekstkeuze > h3:first-child,
.frits-portal .frits-report-content .frits-tekstkeuze > h3:first-child { margin-top: 0 !important; }
.single-frits_verslag .frits-tekstkeuze > ul,
.single-frits_verslag .frits-tekstkeuze > ol,
.frits-portal .frits-report-content .frits-tekstkeuze > ul,
.frits-portal .frits-report-content .frits-tekstkeuze > ol { margin: .4em 0 1em 1.25em; padding: 0; }
.single-frits_verslag .frits-tekstkeuze td p,
.single-frits_verslag .frits-tekstkeuze th p,
.frits-portal .frits-report-content .frits-tekstkeuze td p,
.frits-portal .frits-report-content .frits-tekstkeuze th p { margin: 0 0 .35em !important; line-height: 1.45; }
.single-frits_verslag .frits-tekstkeuze td p:last-child,
.single-frits_verslag .frits-tekstkeuze th p:last-child,
.frits-portal .frits-report-content .frits-tekstkeuze td p:last-child,
.frits-portal .frits-report-content .frits-tekstkeuze th p:last-child { margin-bottom: 0 !important; }
.frits-group-label { color: #2a5fa8; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.frits-back { display: inline-block; margin-bottom: 20px; }

@media (max-width: 600px) {
    .frits-progress-filter { display: grid; }
    .frits-progress-filter label { min-width: 0; }
    .frits-report-card { align-items: flex-start; flex-direction: column; }
    .frits-central-portal { grid-template-columns: 1fr; }
    .frits-school-column { border-right: 0; border-bottom: 1px solid #d8dee5; }
    .frits-school-login { min-height: 260px; }
}

/* Dezelfde visuele stijl als TipTop School administratie. */
.frits-portal,.frits-single-report{font:16px/1.5 system-ui,sans-serif;color:#17324d}
.single-frits_verslag .frits-single-report>article,.frits-pin-card,.frits-central-portal{border-color:#dbe3ed;border-radius:14px;box-shadow:0 10px 30px rgba(18,46,78,.08)}
.frits-central-portal{overflow:hidden}
.frits-school-column{border-color:#dbe3ed;background:#f4f8fb}
.frits-school-list a{padding:8px 11px;border-color:#cbd9e6;border-radius:7px;color:#1d5e98;font-size:14px;font-weight:600}
.frits-school-list a:hover,.frits-school-list a.is-active{border-color:#1d6cab;background:#1d6cab;color:#fff}
.frits-central-form select,.frits-central-form input,.frits-pin-card input{padding:9px 10px;border:1px solid #b8c8d9;border-radius:6px;background:#fff;font:inherit}
.frits-central-form button,.frits-pin-card button,.frits-open-report{padding:10px 18px;border-radius:6px;background:#1266b1;font-weight:600}
.frits-central-form button:hover,.frits-pin-card button:hover,.frits-open-report:hover{background:#0e5595;color:#fff}
.frits-choose-group{border-left-color:#1d6cab;background:#f4f8fb}
.frits-group-menu a{padding:8px 11px;border-color:#cbd9e6;border-radius:7px;color:#1d5e98;font-size:14px;font-weight:600}
.frits-group-menu a:hover,.frits-group-menu a.is-active{border-color:#1d6cab;background:#1d6cab;color:#fff}
.frits-report-card{border-color:#d5e1eb;border-radius:10px;background:#f8fbfd}
.frits-report-card:hover{border-color:#2271b1;box-shadow:0 5px 16px rgba(28,86,137,.14)}
.frits-group-label{color:#1d5e98}
.frits-error{border-left-color:#b42318;background:#fef3f2;color:#912018}
.single-frits_verslag .frits-container h2{color:#1d5e98}
.single-frits_verslag .frits-table>.wp-block-columns:first-child,.frits-tekstkeuze th,.frits-preset-table th{background:#f4f8fb;color:#1e4467}
