/* KKG Samlet 1.2.1 */
        .kkg-editor-panel,
        .kkg-admin-panel,
        .kkg-signup-card,
        .kkg-signup-list,
        .kkg-registration-group {
            max-width: 850px;
            margin: 0 auto 24px;
            padding: 22px;
            border: 1px solid #222;
            border-radius: 18px;
            background: #fff;
        }

        .kkg-editor-panel {
            max-width: 850px;
            margin: 0 auto 24px;
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            justify-content: center;
        }

        .arrangement-full-card {
            background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(255,247,230,.68));
            border: 1px solid rgba(17,10,47,.28);
            box-shadow: 0 14px 34px rgba(17,10,47,.16);
            backdrop-filter: blur(2px);
        }

        .arrangement-full-card:nth-of-type(even) {
            background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(244,240,255,.66));
        }

        .kkg-editor-button,
        .kkg-editor-panel a,
        .kkg-admin-panel a,
        .kkg-signup-form button,
        .kkg-editor-form button,
        .kkg-print-toolbar button,
        .kkg-member-print-box button {
            display: inline-block;
            padding: 10px 14px;
            border-radius: 999px;
            background: #110a2f;
            color: #fff !important;
            text-decoration: none;
            border: 0;
            cursor: pointer;
            font-weight: 700;
        }

        .kkg-signup-link-line a {
            font-weight: 700;
        }

        .kkg-print-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            margin-bottom: 18px;
        }

        .kkg-edit-link-wrap {
            text-align: right;
            margin: 0 0 8px;
        }

        .kkg-edit-link {
            font-size: 0.9rem;
        }

        .kkg-signup-form input[type="text"],
        .kkg-signup-form textarea,
        .kkg-signup-form select {
            width: 100%;
            box-sizing: border-box;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 8px;
        }

        .kkg-signup-form fieldset {
            border: 1px solid #ddd;
            border-radius: 12px;
            padding: 14px;
            margin: 0 0 18px;
        }

        .kkg-radio-line {
            display: block;
            margin: 8px 0;
        }

        .kkg-signup-form input[readonly] {
            background: #f4f4f4;
            color: #555;
            cursor: not-allowed;
        }

        .kkg-user-select {
            width: 100%;
            box-sizing: border-box;
        }

        .kkg-action-cell {
            display: flex;
            gap: 8px;
            align-items: center;
            flex-wrap: wrap;
        }

        .kkg-small-link {
            display: inline-block;
            padding: 6px 10px;
            border-radius: 999px;
            background: #110a2f;
            color: #fff !important;
            text-decoration: none;
            font-weight: 700;
        }

        .kkg-muted {
            color: #666;
            font-size: 0.9rem;
            font-weight: 400;
        }

        .kkg-message {
            max-width: 850px;
            margin: 0 auto 18px;
            padding: 14px 18px;
            border-radius: 12px;
            font-weight: 700;
        }

        .kkg-success {
            background: #e8f7e8;
            border: 1px solid #82c982;
        }

        .kkg-error {
            background: #fde8e8;
            border: 1px solid #d77;
        }

        .kkg-summary {
            font-weight: 700;
        }

        .kkg-total-line {
            margin: 14px 0 4px;
            font-weight: 800;
        }

        .kkg-voice-summary {
            display: flex;
            flex-wrap: wrap;
            gap: 12px 18px;
            margin: 0 0 18px;
        }

        .kkg-my-date {
            display: block;
            margin-top: 4px;
            color: #555;
            font-size: 0.95rem;
        }

        .kkg-table-wrap {
            overflow-x: auto;
        }

        .kkg-registration-table {
            width: 100%;
            border-collapse: collapse;
        }

        .kkg-registration-table th,
        .kkg-registration-table td {
            border-bottom: 1px solid #eee;
            text-align: left;
            padding: 8px;
            vertical-align: top;
        }

        .kkg-cancelled-row {
            color: #a00;
            font-weight: 700;
        }

        .kkg-small-danger,
        .kkg-small-secondary {
            padding: 6px 10px;
            border-radius: 999px;
            border: 0;
            color: #fff;
            cursor: pointer;
            font-weight: 700;
        }

        .kkg-small-danger {
            background: #b00020;
        }

        .kkg-small-secondary {
            background: #4b5563;
        }

        .kkg-registration-heading {
            hyphens: none;
            word-break: normal;
            overflow-wrap: normal;
        }

        .kkg-registration-heading span {
            display: block;
        }

        .kkg-registration-date {
            margin-bottom: 2px;
        }

        .kkg-registration-title {
            font-weight: 800;
        }

        .kkg-print-title {
            display: none;
        }


        .kkg-editor-section,
        .kkg-newsletter-card {
            margin: 0 0 26px;
            padding: 20px;
            border: 1px solid #ddd;
            border-radius: 16px;
            background: #fff;
        }

        .kkg-editor-section h2 {
            margin-top: 0;
        }

        .kkg-two-columns {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
        }

        .kkg-newsletter-list {
            max-width: 850px;
            margin: 0 auto;
        }

        @media (max-width: 700px) {
            .kkg-two-columns {
                grid-template-columns: 1fr;
            }
        }



        .kkg-redaktor-dashboard {
            border: 0;
            background: transparent;
            padding: 0;
        }

        .kkg-transparent-shortcode-host {
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
            outline: 0 !important;
        }

        .kkg-transparent-shortcode-host > .wp-block-shortcode,
        .kkg-transparent-shortcode-host > .wp-block-group,
        .kkg-transparent-shortcode-host > .wp-block-cover__inner-container {
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
        }

        .kkg-admin-panel.kkg-redaktor-dashboard,
        .kkg-redaktor-dashboard {
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
            outline: 0 !important;
        }

        .kkg-redaktor-hero {
            max-width: 850px;
            margin: 0 auto 30px;
            padding: 26px;
            border-radius: 22px;
            background: #f5f4fb;
            border: 2px solid #d8d6e6;
            box-shadow: 0 14px 34px rgba(17,10,47,.12);
        }

        .kkg-redaktor-hero h2 {
            margin: 0 0 6px;
        }

        .kkg-redaktor-hero p {
            margin: 0;
            color: #555;
        }

        .kkg-editor-section {
            max-width: 850px;
            margin-left: auto;
            margin-right: auto;
            border: 2px solid #cfcfd6;
            border-left-width: 10px;
            box-shadow: 0 14px 34px rgba(17,10,47,.16);
            outline: 1px solid rgba(255,255,255,.75);
        }

        .kkg-editor-section + .kkg-editor-section {
            margin-top: 34px;
        }

        .kkg-section-arrangements {
            background: #fff7e6;
            border-color: #f2c36b;
            border-left-color: #d97706;
        }

        .kkg-editor-section-members {
            background: #eef8ff;
            border-color: #9bd3f0;
            border-left-color: #0284c7;
        }

        .kkg-section-newsletters {
            background: #f4fddc;
            border-color: #bdda72;
            border-left-color: #65a30d;
        }

        .kkg-section-signups {
            background: #f4f0ff;
            border-color: #c4b5fd;
            border-left-color: #7c3aed;
        }

        .kkg-section-udvalg {
            background: #fff1f5;
            border-color: #f9a8d4;
            border-left-color: #db2777;
        }

        .kkg-section-arrangements .kkg-editor-box,
        .kkg-section-arrangements .kkg-card-form,
        .kkg-editor-section-members .kkg-editor-box,
        .kkg-editor-section-members .kkg-card-form,
        .kkg-section-newsletters .kkg-editor-box,
        .kkg-section-newsletters .kkg-card-form,
        .kkg-section-udvalg .kkg-editor-box,
        .kkg-section-udvalg .kkg-card-form,
        .kkg-section-signups .kkg-editor-box,
        .kkg-section-signups .kkg-card-form {
            background: rgba(255,255,255,.88);
            border: 1px solid rgba(17,10,47,.12);
            box-shadow: 0 8px 20px rgba(17,10,47,.08);
        }

        .kkg-section-heading {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 16px;
            margin: -4px -4px 20px;
            padding: 14px 16px;
            border-radius: 14px;
            background: rgba(255,255,255,.55);
            border: 1px solid rgba(17,10,47,.10);
        }

        .kkg-section-heading h2 {
            margin-bottom: 4px;
        }

        .kkg-editor-box,
        .kkg-card-form {
            padding: 16px;
            border: 1px solid #eee;
            border-radius: 14px;
            background: #fafafa;
            margin-bottom: 16px;
        }

        .kkg-action-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
        }

        .kkg-action-grid a {
            text-align: center;
            padding: 14px 16px;
        }

        .kkg-editor-form label {
            display: block;
            margin-bottom: 6px;
        }

        .kkg-editor-form input[type="text"],
        .kkg-editor-form input[type="email"],
        .kkg-editor-form input[type="date"],
        .kkg-editor-form textarea,
        .kkg-editor-form select,
        .kkg-user-select {
            width: 100%;
            box-sizing: border-box;
            padding: 10px 12px;
            border: 1px solid #cfcfd6;
            border-radius: 10px;
            background: #fff;
        }

        .kkg-editor-form input[readonly] {
            background: #f0f0f3;
            color: #555;
            cursor: not-allowed;
        }

        .kkg-preview-name {
            padding: 10px 12px;
            border-radius: 10px;
            background: #f5f4fb;
        }
        .kkg-field-help {
            display: block;
            margin-top: 6px;
            color: #555;
            font-size: 0.9rem;
            line-height: 1.35;
        }

        .kkg-mail-choice {
            margin: 0 0 16px;
            padding: 12px 14px;
            border: 1px solid #d7d7df;
            border-radius: 12px;
            background: rgba(255,255,255,.72);
        }

        .kkg-mail-choice legend {
            padding: 0 6px;
        }

        .kkg-radio-line-inline {
            display: inline-flex !important;
            align-items: center;
            gap: 6px;
            margin: 8px 18px 0 0;
            font-weight: 700;
        }

        .kkg-role-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-left: 6px;
            width: 1.55em;
            height: 1.55em;
            border-radius: 999px;
            font-size: 0.82rem;
            font-weight: 800;
            line-height: 1;
            white-space: nowrap;
            vertical-align: middle;
            border: 1px solid rgba(17,10,47,.12);
        }

        .kkg-role-admin {
            background: #dc2626;
            color: #fff;
        }

        .kkg-role-editor {
            background: #2563eb;
            color: #fff;
        }

        .kkg-member-print-table {
            font-size: 0.82rem;
            line-height: 1.25;
            table-layout: fixed;
        }

        .kkg-member-print-table th,
        .kkg-member-print-table td {
            border-bottom: 1px solid #d7d7df;
            text-align: left;
            vertical-align: top;
        }

        .kkg-member-print-table th:nth-child(1),
        .kkg-member-print-table td:nth-child(1) {
            width: 30%;
        }

        .kkg-member-print-table th:nth-child(2),
        .kkg-member-print-table td:nth-child(2) {
            width: 34%;
        }

        .kkg-member-print-table th:nth-child(3),
        .kkg-member-print-table td:nth-child(3) {
            width: 8%;
        }

        .kkg-member-print-table th:nth-child(4),
        .kkg-member-print-table td:nth-child(4) {
            width: 13%;
        }

        .kkg-member-print-table th:nth-child(5),
        .kkg-member-print-table td:nth-child(5) {
            width: 15%;
        }

        .kkg-member-list-row td {
            padding-top: 9px;
            padding-bottom: 9px;
            word-break: normal;
            overflow-wrap: normal;
            white-space: nowrap;
        }

        .kkg-member-count-summary {
            display: flex;
            flex-wrap: wrap;
            gap: 6px 12px;
            align-items: center;
            margin: 0 0 12px;
            padding: 9px 10px;
            border: 1px solid rgba(17,10,47,.12);
            border-radius: 10px;
            background: rgba(255,255,255,.72);
            font-size: .86rem;
            font-weight: 700;
        }

        .kkg-member-count-summary span {
            white-space: nowrap;
        }

        .kkg-member-group-count {
            font-weight: 700;
            color: #555;
        }

        .kkg-member-fit {
            display: inline-block;
            max-width: 100%;
            min-width: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: clip;
            vertical-align: top;
        }

        .kkg-member-name-cell {
            white-space: nowrap;
        }

        .kkg-member-name-cell .kkg-member-fit {
            max-width: calc(100% - 28px);
        }

        .kkg-member-name-cell strong {
            display: inline-block;
            margin-right: 5px;
        }


        .kkg-member-group-row td {
            padding: 12px 8px 7px;
            border-bottom: 2px solid rgba(17,10,47,.28);
            background: rgba(17,10,47,.06);
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .02em;
        }

        .kkg-member-sort-toggle {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 14px;
            align-items: center;
            margin-top: 10px;
            font-size: 0.9rem;
        }

        .kkg-member-meta {
            display: grid;
            gap: 3px;
            margin-top: 10px;
            padding-top: 10px;
            border-top: 1px solid #e2e2e8;
            color: #666;
            font-size: 0.78rem;
            line-height: 1.3;
        }

        .kkg-member-print-table th,
        .kkg-member-print-table td {
            border-bottom: 1px solid #d8d8df;
            padding-top: 7px;
            padding-bottom: 7px;
        }

        .kkg-member-print-table tbody tr + tr td {
            border-top: 1px solid #f0f0f4;
        }

        .kkg-newsletter-editor-field {
            margin: 0 0 13px;
        }

        .kkg-newsletter-editor-field label {
            display: block;
            margin-bottom: 6px;
        }

        .kkg-newsletter-editor-field .wp-editor-wrap {
            background: #fff;
            border: 1px solid #cfcfd6;
            border-radius: 10px;
            overflow: hidden;
        }

        .kkg-newsletter-editor-field .wp-editor-container {
            border: 0;
        }

        .kkg-newsletter-editor-field textarea.wp-editor-area {
            min-height: 260px;
        }
        .kkg-newsletter-editor-field .quicktags-toolbar input.button,
        .kkg-newsletter-editor-field .quicktags-toolbar button,
        .kkg-newsletter-editor-field .mce-toolbar .mce-btn,
        .kkg-newsletter-editor-field .mce-toolbar .mce-btn button {
            background:#110a2f !important;
            color:#fff !important;
            border-color:#110a2f !important;
        }
        .kkg-newsletter-editor-field .mce-toolbar .mce-btn i,
        .kkg-newsletter-editor-field .mce-toolbar .mce-btn .mce-ico,
        .kkg-newsletter-editor-field .mce-toolbar .mce-btn .mce-txt,
        .kkg-newsletter-editor-field .mce-toolbar .mce-btn button *,
        .kkg-newsletter-editor-field .quicktags-toolbar input.button {
            color:#fff !important;
        }
        .kkg-newsletter-editor-field .mce-toolbar .mce-btn:hover,
        .kkg-newsletter-editor-field .mce-toolbar .mce-btn:focus,
        .kkg-newsletter-editor-field .quicktags-toolbar input.button:hover,
        .kkg-newsletter-editor-field .quicktags-toolbar input.button:focus {
            filter:brightness(1.15);
        }
        .kkg-inner-heading {
            margin: 0 0 16px;
        }

        .kkg-inner-heading h3 {
            margin: 0 0 4px;
        }


        .kkg-member-search-input {
            width: 100%;
            box-sizing: border-box;
            padding: 8px 10px;
            min-height: 36px;
            border: 1.5px solid #9ca3af;
            border-radius: 10px;
            background: #fff;
            margin: 6px 0 4px;
        }

        .kkg-member-select-box label + .kkg-user-select,
        .kkg-member-select-box .kkg-field-help + label {
            margin-top: 10px;
        }

        .kkg-member-new-action {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            align-items: center;
        }

        .kkg-member-form-disabled {
            opacity: .72;
        }

        .kkg-member-form-disabled input:disabled,
        .kkg-member-form-disabled select:disabled {
            background: #f3f4f6;
            color: #6b7280;
            cursor: not-allowed;
        }

        .kkg-member-disabled-note {
            margin: 10px 0 0;
        }

        .kkg-selected-member-actions {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px solid #e2e2e8;
        }

        .kkg-selected-member-actions form {
            margin: 0;
        }

        .kkg-member-print-box {
            margin-top: 18px;
        }

        .kkg-member-print-table th:nth-child(1),
        .kkg-member-print-table td:nth-child(1) {
            width: 24%;
        }

        .kkg-member-print-table th:nth-child(2),
        .kkg-member-print-table td:nth-child(2) {
            width: 36%;
        }

        .kkg-member-print-table th:nth-child(3),
        .kkg-member-print-table td:nth-child(3) {
            width: 10%;
        }

        .kkg-member-print-table th:nth-child(4),
        .kkg-member-print-table td:nth-child(4) {
            width: 15%;
        }

        .kkg-member-print-table th:nth-child(5),
        .kkg-member-print-table td:nth-child(5) {
            width: 15%;
        }

        .kkg-member-list-details {
            padding: 0;
            overflow: hidden;
        }

        .kkg-member-list-details summary {
            list-style: none;
            cursor: pointer;
            padding: 16px 18px;
            border-radius: 14px;
            background: rgba(255,255,255,.72);
            border: 1px solid rgba(17,10,47,.10);
            box-shadow: 0 6px 16px rgba(17,10,47,.07);
        }

        .kkg-member-list-details summary::-webkit-details-marker {
            display: none;
        }

        .kkg-member-list-details summary strong::before {
            content: '▸';
            display: inline-block;
            margin-right: 8px;
            transition: transform .15s ease;
        }

        .kkg-member-list-details[open] summary strong::before {
            transform: rotate(90deg);
        }

        .kkg-member-list-details summary em {
            display: block;
            margin-top: 4px;
            color: #666;
            font-size: .9rem;
            font-style: normal;
            font-weight: 400;
        }

        .kkg-member-list-details[open] {
            padding: 16px;
        }

        .kkg-member-list-details[open] summary {
            margin: -16px -16px 16px;
        }

        .kkg-member-actions {
            white-space: nowrap;
        }

        .kkg-member-actions form {
            display: inline-block;
            margin: 0 0 0 6px;
        }

        .kkg-subtle-link,
        .kkg-subtle-danger {
            display: inline-block;
            padding: 4px 8px;
            border-radius: 999px;
            border: 1px solid #d7d7df;
            background: #fff;
            color: #333 !important;
            font-size: .84rem;
            line-height: 1.2;
            text-decoration: none;
            font-weight: 600;
            cursor: pointer;
        }

        .kkg-subtle-danger {
            color: #9f1239 !important;
            border-color: #f3c2cc;
        }


        .kkg-udvalg-member-dropdown {
            border:1px solid #9ca3af;
            border-radius:10px;
            background:#fff;
            overflow:hidden;
        }
        .kkg-udvalg-member-dropdown > summary {
            list-style:none;
            cursor:pointer;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:12px;
            padding:10px 12px;
            font-weight:800;
            background:#f8fafc;
        }
        .kkg-udvalg-member-dropdown > summary::-webkit-details-marker { display:none; }
        .kkg-udvalg-member-dropdown > summary:after {
            content:'▾';
            margin-left:auto;
            color:#110a2f;
        }
        .kkg-udvalg-member-dropdown[open] > summary:after { content:'▴'; }
        .kkg-udvalg-selected-count {
            font-size:.82rem;
            font-weight:700;
            color:#555;
            white-space:nowrap;
        }
        .kkg-udvalg-member-dropdown-body {
            padding:10px 12px 12px;
            border-top:1px solid #e5e7eb;
            max-height:420px;
            overflow:auto;
        }
        .kkg-udvalg-member-search-wrap {
            display:grid;
            gap:5px;
            margin:8px 0 12px;
        }
        .kkg-udvalg-member-search {
            width:100%;
            max-width:520px;
            box-sizing:border-box;
            border:1px solid #9ca3af;
            border-radius:8px;
            padding:8px 10px;
            background:#fff;
        }
        .kkg-udvalg-member-filter-actions {
            display:flex;
            align-items:center;
            gap:8px;
            flex-wrap:wrap;
            margin-top:3px;
        }
        .kkg-udvalg-show-selected {
            border:1px solid #110a2f;
            border-radius:999px;
            background:#fff;
            color:#110a2f;
            padding:5px 10px;
            font-size:.82rem;
            font-weight:800;
            cursor:pointer;
        }
        .kkg-udvalg-show-selected.is-active {
            background:#110a2f;
            color:#fff;
        }
        .kkg-udvalg-member-option[hidden] { display:none !important; }
        .kkg-udvalg-member-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 8px 14px;
        }

        .kkg-udvalg-member-option {
            display: flex !important;
            align-items: center;
            gap: 8px;
            padding: 7px 8px;
            border-bottom: 1px solid rgba(17,10,47,.08);
            font-size: .92rem;
        }

        .kkg-udvalg-delete-form {
            margin: -4px 0 18px;
        }

        .kkg-udvalg-shortcode-help code {
            display: inline-block;
            padding: 6px 10px;
            border-radius: 8px;
            background: #fff;
            border: 1px solid rgba(17,10,47,.15);
            font-weight: 700;
        }

        .kkg-udvalg-list {
            max-width: 850px;
            margin: 0 auto;
            display: grid;
            gap: 18px;
        }

        .kkg-udvalg-card {
            padding: 18px 20px;
            border: 1px solid rgba(17,10,47,.18);
            border-radius: 18px;
            background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(255,241,245,.74));
            box-shadow: 0 10px 24px rgba(17,10,47,.10);
        }

        .kkg-udvalg-card h4 {
            margin: 0;
            font-size: 1.15rem;
            line-height: 1.25;
        }

        .kkg-udvalg-card-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin: 0 0 10px;
            flex-wrap: wrap;
        }

        .kkg-udvalg-description {
            margin: 0 0 12px;
            color: #4b5563;
            line-height: 1.45;
        }

        .kkg-udvalg-mail-actions {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
            margin: 4px 0 12px;
        }

        .kkg-udvalg-copy-emails {
            width: 34px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 34px;
            border: 1px solid rgba(17,10,47,.24);
            border-radius: 50%;
            background: #110a2f;
            color: #fff;
            padding: 0;
            cursor: pointer;
            line-height: 1;
        }

        .kkg-udvalg-copy-emails svg {
            width: 18px;
            height: 18px;
            display: block;
        }

        .kkg-udvalg-copy-emails:hover { filter: brightness(1.12); transform: translateY(-1px); }
        .kkg-udvalg-copy-emails.is-copied { background: #166534; border-color: #166534; }

        .kkg-udvalg-form textarea[name="udvalg_description"] {
            width: 100%;
            box-sizing: border-box;
            resize: vertical;
        }

        .kkg-udvalg-members {
            margin: 0;
            padding-left: 20px;
            columns: 2;
        }

        .kkg-udvalg-members li {
            break-inside: avoid;
            margin: 0 0 6px;
        }


        @media (max-width: 800px) {
            .kkg-udvalg-member-grid {
                grid-template-columns: 1fr;
            }

            .kkg-udvalg-members {
                columns: 1;
            }

            .kkg-action-grid {
                grid-template-columns: 1fr;
            }

            .kkg-section-heading {
                display: block;
            }
        }


        .kkg-view-toggle {
            max-width: 850px;
            margin: 0 auto 18px;
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            display: flex;
            gap: 14px;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
        }

        .kkg-editor-mode-toggle {
            max-width: 850px;
            margin: 0 auto 18px;
            padding: 12px 16px;
            border: 1px solid #ddd;
            border-radius: 999px;
            background: #fff;
            display: flex;
            gap: 14px;
            align-items: center;
            flex-wrap: wrap;
            position: fixed;
            right: 18px;
            bottom: 18px;
            z-index: 9999;
            box-shadow: 0 8px 24px rgba(0,0,0,.16);
            font-size: 0.92rem;
        }

        .kkg-checkbox-line {
            margin-top: 26px;
            font-weight: 700;
        }

        .kkg-redaktor-card {
            padding: 0;
            overflow: hidden;
        }

        .kkg-redaktor-card > summary.kkg-section-heading {
            list-style: none;
            cursor: pointer;
            margin: 0;
            border-radius: 0;
            border: 0;
            border-bottom: 1px solid rgba(17,10,47,.10);
            background: rgba(255,255,255,.68);
            align-items: center;
        }

        .kkg-redaktor-card > summary.kkg-section-heading::-webkit-details-marker {
            display: none;
        }

        .kkg-redaktor-card > summary.kkg-section-heading h2 {
            margin: 0 0 4px;
        }

        .kkg-redaktor-card > summary.kkg-section-heading p {
            margin: 0;
        }

        .kkg-redaktor-card-body {
            padding: 20px;
        }

        .kkg-accordion-state::before {
            content: 'Fold ud';
            display: inline-block;
            padding: 7px 11px;
            border-radius: 999px;
            background: #110a2f;
            color: #fff;
            font-size: .86rem;
            font-weight: 800;
            white-space: nowrap;
        }

        .kkg-redaktor-card[open] .kkg-accordion-state::before {
            content: 'Luk';
        }

        .kkg-redaktor-card:not([open]) {
            box-shadow: 0 8px 22px rgba(17,10,47,.10);
        }

        .kkg-redaktor-card:not([open]) > summary.kkg-section-heading {
            border-bottom: 0;
        }

        .kkg-top-action {
            margin-top: 0;
        }

        @media (max-width: 700px) {
            .kkg-redaktor-card > summary.kkg-section-heading {
                display: block;
            }

            .kkg-accordion-state::before {
                margin-top: 10px;
            }
        }

        /* Ensartede knapper på redaktørsiden */
        .kkg-small-link,
        .kkg-small-danger,
        .kkg-small-secondary,
        .kkg-editor-form button,
        .kkg-member-print-box button,
        .kkg-print-toolbar button {
            min-height: 34px;
            padding: 7px 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            font-size: 0.88rem;
            line-height: 1.1;
            font-weight: 800;
            box-sizing: border-box;
            white-space: nowrap;
            vertical-align: middle;
        }

        .kkg-action-cell form {
            margin: 0;
            display: inline-flex;
            align-items: center;
        }

        .kkg-action-cell .kkg-small-link,
        .kkg-action-cell .kkg-small-danger,
        .kkg-action-cell .kkg-small-secondary {
            min-width: 46px;
        }



        .kkg-overlay-message {
            position: fixed;
            left: 50%;
            top: 50%;
            z-index: 100000;
            transform: translate(-50%, -50%);
            max-width: min(520px, calc(100vw - 40px));
            padding: 22px 30px;
            border-radius: 22px;
            background: rgba(17,10,47,.96);
            color: #fff;
            font-size: 1.25rem;
            font-weight: 800;
            line-height: 1.25;
            text-align: center;
            box-shadow: 0 22px 70px rgba(17,10,47,.35);
            opacity: 1;
            transition: opacity .35s ease, transform .35s ease;
        }

        .kkg-overlay-message-hide {
            opacity: 0;
            transform: translate(-50%, -55%);
        }


        .kkg-member-inline-form {
            margin: 0;
        }

        .kkg-member-inline-actions {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
            margin: 0 0 10px;
        }

        .kkg-member-edit-table .kkg-member-inline-input {
            width: 100%;
            box-sizing: border-box;
            min-width: 0;
            padding: 5px 7px;
            border: 1.5px solid #9ca3af;
            border-radius: 7px;
            background: #fff;
            font: inherit;
            font-size: 0.78rem;
            line-height: 1.2;
            text-align: left;
        }

        .kkg-member-display-value {
            display: inline-block;
            max-width: 100%;
            line-height: 1.25;
            text-align: left;
        }

        .kkg-member-edit-table select.kkg-member-inline-input {
            padding-right: 18px;
        }

        .kkg-member-edit-table .kkg-member-name-cell {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .kkg-member-edit-table .kkg-member-name-cell .kkg-member-inline-input {
            flex: 1 1 150px;
            min-width: 130px;
        }

        .kkg-print-only {
            display: none;
        }


        /* KKG - mere kompakte indtastningskort */
        .kkg-redaktor-card-body {
            padding: 16px;
        }

        .kkg-editor-box,
        .kkg-card-form {
            padding: 13px;
            margin-bottom: 13px;
            border-radius: 12px;
        }

        .kkg-editor-form p,
        .kkg-signup-form p {
            margin-top: 0.7em;
            margin-bottom: 0.7em;
        }

        .kkg-two-columns {
            gap: 11px;
        }

        .kkg-editor-form label,
        .kkg-signup-form label {
            margin-bottom: 4px;
        }

        .kkg-editor-form input[type="text"],
        .kkg-editor-form input[type="email"],
        .kkg-editor-form input[type="date"],
        .kkg-editor-form textarea,
        .kkg-editor-form select,
        .kkg-signup-form input[type="text"],
        .kkg-signup-form textarea,
        .kkg-signup-form select,
        .kkg-user-select {
            padding: 8px 10px;
            min-height: 36px;
        }

        .kkg-editor-form textarea,
        .kkg-signup-form textarea {
            line-height: 1.3;
        }

        .kkg-field-help,
        .kkg-muted {
            font-size: 0.82rem;
            line-height: 1.25;
        }

        .kkg-preview-name,
        .kkg-selected-member-actions {
            padding: 8px 10px;
        }

        .kkg-checkbox-line {
            margin-top: 18px;
        }


        .kkg-previous-registrations-details {
            margin-top: 16px;
            border: 1px solid rgba(17,10,47,.14);
            border-radius: 14px;
            background: rgba(255,255,255,.72);
            overflow: hidden;
        }

        .kkg-previous-registrations-details summary {
            cursor: pointer;
            padding: 12px 14px;
            list-style: none;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .kkg-previous-registrations-details summary::-webkit-details-marker {
            display: none;
        }

        .kkg-previous-registrations-details summary strong::before {
            content: '▸';
            display: inline-block;
            margin-right: 8px;
            transition: transform .15s ease;
        }

        .kkg-previous-registrations-details[open] summary strong::before {
            transform: rotate(90deg);
        }

        .kkg-previous-registrations-body {
            padding: 0 14px 14px;
        }



        .kkg-section-documents {
            background: #ecfeff;
            border-color: #67e8f9;
            border-left-color: #0891b2;
        }

        .kkg-section-documents .kkg-editor-box,
        .kkg-section-documents .kkg-card-form {
            background: rgba(255,255,255,.88);
            border: 1px solid rgba(17,10,47,.12);
            box-shadow: 0 8px 20px rgba(17,10,47,.08);
        }

        .kkg-document-upload-form input[type="file"] {
            width: 100%;
            box-sizing: border-box;
            padding: 8px 10px;
            border: 1px solid #cfcfd6;
            border-radius: 10px;
            background: #fff;
        }

        .kkg-document-list {
            max-width: 850px;
            margin: 0 auto;
            display: grid;
            gap: 14px;
        }

        .kkg-document-card {
            padding: 16px 18px;
            border: 1px solid rgba(17,10,47,.16);
            border-radius: 16px;
            background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(236,254,255,.75));
            box-shadow: 0 9px 22px rgba(17,10,47,.09);
        }

        .kkg-document-button {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            padding: 9px 14px;
            border-radius: 999px;
            background: #110a2f;
            color: #fff !important;
            text-decoration: none;
            font-weight: 800;
            line-height: 1.15;
        }

        .kkg-document-button:hover,
        .kkg-document-button:focus {
            transform: translateY(-1px);
            box-shadow: 0 6px 16px rgba(17,10,47,.18);
        }

        .kkg-document-icon {
            font-size: 1.15em;
            line-height: 1;
        }

        .kkg-document-card p {
            margin: 10px 0 0;
            color: #444;
        }

        .kkg-document-editor-table td:nth-child(1) {
            width: 34%;
        }

        .kkg-document-editor-table td:nth-child(2) {
            width: 36%;
        }


        /* Mere overskuelig dokumentliste i redaktørpanelet */
        .kkg-document-list-editor {
            padding: 12px;
        }

        .kkg-document-list-editor h3 {
            margin: 0 0 6px;
            font-size: 1.12rem;
        }

        .kkg-document-list-editor > .kkg-muted {
            margin: 0 0 10px;
        }

        .kkg-document-editor-table {
            font-size: 0.86rem;
            table-layout: fixed;
        }

        .kkg-document-editor-table th,
        .kkg-document-editor-table td {
            padding: 7px 8px;
            vertical-align: middle;
        }

        .kkg-document-editor-table th:nth-child(1),
        .kkg-document-editor-table td:nth-child(1) { width: 35%; }

        .kkg-document-editor-table th:nth-child(2),
        .kkg-document-editor-table td:nth-child(2) { width: 30%; }

        .kkg-document-editor-table th:nth-child(3),
        .kkg-document-editor-table td:nth-child(3) { width: 20%; }

        .kkg-document-editor-table th:nth-child(4),
        .kkg-document-editor-table td:nth-child(4) { width: 12%; min-width:78px; }

        .kkg-document-admin-link {
            display: inline-flex !important;
            align-items: center;
            gap: 6px;
            max-width: 100%;
            padding: 5px 8px !important;
            min-height: 0 !important;
            border-radius: 9px !important;
            background: #110a2f !important;
            color: #fff !important;
            font-size: 0.83rem !important;
            line-height: 1.15 !important;
            text-decoration: none !important;
            font-weight: 800 !important;
            white-space: normal !important;
        }

        .kkg-document-admin-icon {
            flex: 0 0 auto;
            line-height: 1;
        }

        .kkg-document-admin-filename {
            display: block;
            margin-top: 4px;
            color: #666;
            font-size: 0.75rem;
            line-height: 1.2;
            word-break: break-word;
        }

        .kkg-document-admin-description {
            color: #222;
            line-height: 1.35;
        }

        .kkg-document-admin-date {
            color: #333;
            font-size: 0.8rem;
            line-height: 1.25;
            white-space: normal;
        }

        .kkg-document-admin-actions {
            justify-content: flex-start;
            min-width:72px;
            padding-left:10px !important;
            padding-right:10px !important;
            white-space:nowrap;
        }

        .kkg-document-admin-actions .kkg-small-danger {
            min-height: 28px;
            padding: 5px 9px;
            font-size: 0.78rem;
        }


        /* KKG - linkkort på redaktørsiden. Skal ligne fold-ud-kort 1:1. */
        .kkg-redaktor-link-section {
            max-width: 850px;
            margin: 34px auto 34px;
            display: grid;
            gap: 34px;
        }

        .kkg-admin-panel a.kkg-redaktor-link-card,
        .kkg-redaktor-link-card {
            display: block !important;
            width: 100%;
            max-width: 850px;
            margin: 0 auto;
            padding: 0 !important;
            border: 2px solid #cfcfd6;
            border-left-width: 10px;
            border-radius: 16px !important;
            color: #110a2f !important;
            text-decoration: none !important;
            box-shadow: 0 14px 34px rgba(17,10,47,.16);
            outline: 1px solid rgba(255,255,255,.75);
            overflow: hidden;
            box-sizing: border-box;
            transition: transform .12s ease, box-shadow .12s ease;
        }

        .kkg-admin-panel a.kkg-redaktor-link-card:hover,
        .kkg-admin-panel a.kkg-redaktor-link-card:focus,
        .kkg-redaktor-link-card:hover,
        .kkg-redaktor-link-card:focus {
            transform: translateY(-1px);
            box-shadow: 0 14px 34px rgba(17,10,47,.16);
        }

        .kkg-admin-panel a.kkg-redaktor-link-card .kkg-section-heading,
        .kkg-redaktor-link-card > .kkg-section-heading {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            width: 100%;
            box-sizing: border-box;
            margin: 0;
            padding: 14px 16px;
            border-radius: 0;
            border: 0;
            border-bottom: 0;
            background: rgba(255,255,255,.68);
        }

        .kkg-redaktor-link-card h2 {
            margin: 0 0 4px;
            color: #110a2f;
        }

        .kkg-redaktor-link-card p {
            margin: 0;
            color: #666;
        }

        .kkg-admin-panel a.kkg-section-ovemateriale-admin,
        .kkg-section-ovemateriale-admin {
            background: #eef8ff !important;
            border-color: #9bd3f0;
            border-left-color: #0284c7;
        }

        .kkg-admin-panel a.kkg-section-ovemateriale-bruger,
        .kkg-section-ovemateriale-bruger {
            background: #f4f0ff !important;
            border-color: #c4b5fd;
            border-left-color: #7c3aed;
        }

        .kkg-link-state {
            display: inline-block;
            padding: 7px 11px;
            border-radius: 999px;
            background: #110a2f;
            color: #fff;
            font-size: .86rem;
            font-weight: 800;
            white-space: nowrap;
        }

        @media (max-width: 700px) {
            .kkg-redaktor-link-card > .kkg-section-heading {
                display: block;
            }

            .kkg-link-state {
                margin-top: 10px;
            }
        }

        .kkg-document-admin-date {
            white-space: nowrap;
            color: #555;
            font-size: .78rem;
            line-height: 1.25;
        }

        .kkg-document-admin-date-main,
        .kkg-document-admin-uploader {
            display: block;
        }

        .kkg-document-admin-uploader {
            margin-top: 3px;
            color: #333;
            font-size: .76rem;
            font-weight: 700;
            white-space: normal;
        }

        @media print {
            @page {
                size: A4 portrait;
                margin: 12mm;
            }

            html,
            body {
                background: #fff !important;
                color: #000 !important;
                font-family: Arial, Helvetica, sans-serif !important;
                font-size: 10pt !important;
                line-height: 1.25 !important;
                margin: 0 !important;
                padding: 0 !important;
            }

            body * {
                visibility: hidden !important;
                box-shadow: none !important;
                text-shadow: none !important;
            }

            .print-area,
            .print-area * {
                visibility: visible !important;
            }
            body.kkg-print-members .print-area:not(.kkg-member-print-area),
            body.kkg-print-members .print-area:not(.kkg-member-print-area) *,
            body.kkg-print-signups .print-area:not(.kkg-signups-print-area),
            body.kkg-print-signups .print-area:not(.kkg-signups-print-area) * {
                display: none !important;
                visibility: hidden !important;
            }

            body.kkg-print-members .kkg-member-print-area,
            body.kkg-print-members .kkg-member-print-area *,
            body.kkg-print-signups .kkg-signups-print-area,
            body.kkg-print-signups .kkg-signups-print-area * {
                visibility: visible !important;
            }

            .no-print,
            .no-print * {
                display: none !important;
                visibility: hidden !important;
            }

            .kkg-print-only {
                display: inline !important;
                visibility: visible !important;
            }

            .kkg-redaktor-card,
            .kkg-redaktor-card-body,
            .kkg-member-list-details {
                display: block !important;
                border: 0 !important;
                box-shadow: none !important;
                outline: 0 !important;
                padding: 0 !important;
                margin: 0 !important;
                background: #fff !important;
            }

            .print-area {
                position: absolute !important;
                left: 0 !important;
                top: 0 !important;
                width: 100% !important;
                max-width: none !important;
                border: 0 !important;
                border-radius: 0 !important;
                padding: 0 !important;
                margin: 0 !important;
                background: #fff !important;
            }

            .kkg-print-title {
                display: block !important;
                margin: 0 0 8mm !important;
                padding: 0 0 4mm !important;
                border-bottom: 1px solid #000 !important;
            }

            .kkg-print-title h1 {
                margin: 0 0 2mm !important;
                font-size: 16pt !important;
                line-height: 1.15 !important;
                color: #000 !important;
            }

            .kkg-print-title p {
                margin: 0 !important;
                font-size: 9pt !important;
                color: #333 !important;
            }

            .kkg-registration-group {
                page-break-inside: avoid !important;
                break-inside: avoid !important;
                border: 0 !important;
                border-radius: 0 !important;
                padding: 0 !important;
                margin: 0 0 9mm !important;
                max-width: none !important;
                background: #fff !important;
            }

            .kkg-registration-group + .kkg-registration-group {
                padding-top: 5mm !important;
                border-top: 1px solid #999 !important;
            }

            .kkg-registration-group h3 {
                margin: 0 0 3mm !important;
                font-size: 13pt !important;
                line-height: 1.15 !important;
                color: #000 !important;
            }

            .kkg-total-line {
                margin: 0 0 2mm !important;
                font-size: 10.5pt !important;
                font-weight: 700 !important;
            }

            .kkg-voice-summary {
                display: block !important;
                margin: 0 0 4mm !important;
                font-size: 10pt !important;
                font-weight: 700 !important;
            }

            .kkg-voice-summary span {
                display: inline-block !important;
                margin: 0 6mm 2mm 0 !important;
            }

            .kkg-table-wrap {
                overflow: visible !important;
            }

            .kkg-registration-table {
                width: 100% !important;
                border-collapse: collapse !important;
                table-layout: fixed !important;
                font-size: 9.5pt !important;
            }

            .kkg-registration-table th,
            .kkg-registration-table td {
                border: 1px solid #777 !important;
                padding: 2.5mm !important;
                text-align: left !important;
                vertical-align: top !important;
                color: #000 !important;
                word-break: break-word !important;
            }

            .kkg-registration-table th {
                font-weight: 800 !important;
                background: #eee !important;
            }

            .kkg-registration-table th:nth-child(1),
            .kkg-registration-table td:nth-child(1) {
                width: 36% !important;
            }

            .kkg-registration-table th:nth-child(2),
            .kkg-registration-table td:nth-child(2) {
                width: 17% !important;
            }

            .kkg-registration-table th:nth-child(3),
            .kkg-registration-table td:nth-child(3) {
                width: 47% !important;
            }

            .kkg-member-print-table {
                font-size: 8.8pt !important;
            }

            .kkg-member-print-table th:nth-child(1),
            .kkg-member-print-table td:nth-child(1) {
                width: 26% !important;
            }

            .kkg-member-print-table th:nth-child(2),
            .kkg-member-print-table td:nth-child(2) {
                width: 29% !important;
            }

            .kkg-member-print-table th:nth-child(3),
            .kkg-member-print-table td:nth-child(3) {
                width: 16% !important;
            }

            .kkg-member-print-table th:nth-child(4),
            .kkg-member-print-table td:nth-child(4) {
                width: 15% !important;
            }

            .kkg-member-print-table th:nth-child(5),
            .kkg-member-print-table td:nth-child(5) {
                width: 14% !important;
            }

            .kkg-member-print-table th:nth-child(1),
            .kkg-member-print-table td:nth-child(1) {
                width: 100% !important;
            }

            .kkg-member-line {
                display: block !important;
            }

            .kkg-member-line span {
                display: inline-block !important;
                margin-right: 5mm !important;
            }

            .kkg-member-group-row td {
                font-weight: 800 !important;
                background: #eee !important;
                border: 1px solid #777 !important;
            }

            .kkg-member-print-table td {
                white-space: nowrap !important;
                overflow: hidden !important;
            }

            .kkg-count-print-hide {
                display: none !important;
                visibility: hidden !important;
            }

            .kkg-cancelled-row td {
                font-weight: 700 !important;
                color: #000 !important;
            }
        }
    
        .kkg-online-users {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            flex-wrap: wrap;
            font-size: 0.9rem;
            line-height: 1.35;
        }

        .kkg-online-count {
            font-weight: 700;
        }

        .kkg-online-names {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            flex-wrap: wrap;
        }

        .kkg-online-user {
            display: inline-flex;
            align-items: center;
            gap: 3px;
        }

        .kkg-online-users .kkg-role-badge {
            transform: scale(.82);
            transform-origin: center;
            margin-left: 1px;
        }
    
        .kkg-install-webapp-box {
            position: fixed;
            left: 16px;
            bottom: 16px;
            z-index: 9998;
        }

        .kkg-install-webapp-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            padding: 10px 14px;
            border: 0;
            border-radius: 999px;
            background: #110a2f;
            color: #fff;
            font-size: 0.92rem;
            font-weight: 800;
            line-height: 1.15;
            cursor: pointer;
            box-shadow: 0 10px 28px rgba(17,10,47,.24);
        }

        .kkg-install-webapp-button:hover,
        .kkg-install-webapp-button:focus {
            background: #25175c;
            color: #fff;
        }

        .kkg-install-webapp-icon {
            width: 24px;
            height: 24px;
            border-radius: 7px;
            object-fit: cover;
            flex: 0 0 auto;
        }

        .kkg-install-webapp-mini-button {
            display: none;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            padding: 0;
            border: 1px solid rgba(17,10,47,.18);
            border-radius: 999px;
            background: #fff;
            color: #110a2f;
            cursor: pointer;
            box-shadow: 0 6px 16px rgba(17,10,47,.14);
            vertical-align: middle;
        }

        .kkg-install-webapp-mini-button:hover,
        .kkg-install-webapp-mini-button:focus {
            background: #f5f4fb;
        }

        .kkg-install-webapp-download-icon {
            width: 21px;
            height: 21px;
            display: block;
        }

        .kkg-install-webapp-download-icon path {
            fill: none;
            stroke: currentColor;
            stroke-width: 2.15;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .kkg-install-webapp-mini-inline {
            margin-right: 8px;
            position: static;
            flex: 0 0 auto;
        }

        .kkg-online-users-with-install {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .kkg-install-webapp-mini-fixed {
            position: fixed;
            right: 16px;
            bottom: 16px;
            z-index: 9997;
        }

        @media (max-width: 900px), (pointer: coarse) {
            .kkg-install-webapp-mini-button,
            .kkg-install-webapp-mini-button.kkg-install-webapp-mini-inline,
            .kkg-install-webapp-mini-button.kkg-install-webapp-mini-fixed {
                display: inline-flex;
            }
        }

        .kkg-install-webapp-modal[hidden] {
            display: none;
        }

        .kkg-install-webapp-modal {
            position: fixed;
            inset: 0;
            z-index: 100002;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 18px;
            background: rgba(17,10,47,.46);
        }

        .kkg-install-webapp-modal-card {
            position: relative;
            width: min(520px, 100%);
            padding: 22px 24px;
            border-radius: 22px;
            background: #fff;
            color: #110a2f;
            box-shadow: 0 22px 70px rgba(17,10,47,.35);
        }

        .kkg-install-webapp-modal-card h2 {
            margin: 0 36px 12px 0;
            font-size: 1.25rem;
            line-height: 1.2;
        }

        .kkg-install-webapp-modal-card p,
        .kkg-install-webapp-modal-card li {
            font-size: .98rem;
            line-height: 1.35;
        }

        .kkg-install-webapp-modal-card ol {
            margin: 0 0 8px 22px;
            padding: 0;
        }

        .kkg-install-webapp-close {
            position: absolute;
            right: 14px;
            top: 12px;
            width: 32px;
            height: 32px;
            border: 0;
            border-radius: 999px;
            background: #f0eef8;
            color: #110a2f;
            font-size: 1.45rem;
            line-height: 1;
            cursor: pointer;
        }

        .kkg-install-webapp-note {
            margin-top: 12px;
            color: #555;
            font-size: .9rem !important;
        }

        .kkg-install-webapp-modal-actions {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-top: 18px;
        }

        .kkg-install-webapp-ok,
        .kkg-install-webapp-no {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 8px 14px;
            border-radius: 999px;
            border: 0;
            cursor: pointer;
            font-weight: 800;
        }

        .kkg-install-webapp-ok {
            background: #110a2f;
            color: #fff;
        }

        .kkg-install-webapp-no {
            background: #f0eef8;
            color: #110a2f;
        }

        @media (max-width: 700px) {
            .kkg-install-webapp-box {
                left: 10px;
                right: 10px;
                bottom: 10px;
            }

            .kkg-install-webapp-button {
                width: 100%;
                padding: 12px 14px;
            }
        }
    
        body:not(.kkg-user-admin) .kkg-admin-only,
        body:not(.kkg-user-admin) .kkg-only-admin,
        body:not(.kkg-user-redaktor) .kkg-redaktor-only,
        body:not(.kkg-user-redaktor) .kkg-editor-only,
        body:not(.kkg-user-redaktor) .kkg-only-redaktor,
        body:not(.kkg-user-redaktor) .kkg-only-editor,
        body:not(.kkg-user-bruger) .kkg-bruger-only,
        body:not(.kkg-user-bruger) .kkg-member-only,
        body:not(.kkg-user-bruger) .kkg-only-bruger,
        body:not(.kkg-user-bruger) .kkg-only-member,
        body:not(.kkg-user-logged-in) .kkg-logged-in-only,
        body:not(.kkg-user-logged-in) .kkg-only-logged-in,
        body:not(.kkg-user-logged-out) .kkg-logged-out-only,
        body:not(.kkg-user-logged-out) .kkg-only-logged-out {
            display: none !important;
        }
    
        .kkg-user-profile-card {
            max-width: 850px;
            margin: 0 auto 24px;
            padding: 22px;
            border: 1px solid rgba(17,10,47,.18);
            border-left: 10px solid #7c3aed;
            border-radius: 18px;
            background: rgba(255,255,255,.88);
            box-shadow: 0 14px 34px rgba(17,10,47,.14);
        }

        .kkg-user-profile-heading {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 14px;
            margin-bottom: 16px;
            padding-bottom: 14px;
            border-bottom: 1px solid rgba(17,10,47,.12);
        }

        .kkg-user-profile-heading h2 {
            margin: 0 0 4px;
        }

        .kkg-user-profile-heading p {
            margin: 0;
        }

        .kkg-user-profile-form input[type="text"],
        .kkg-user-profile-form input[type="email"],
        .kkg-user-profile-form input[type="date"],
        .kkg-user-profile-form input[type="password"],
        .kkg-user-profile-form select,
        .kkg-user-profile-login input[type="text"],
        .kkg-user-profile-login input[type="password"] {
            width: 100%;
            box-sizing: border-box;
            padding: 9px 11px;
            border: 1.5px solid #b6b6c6;
            border-radius: 10px;
            background: #fff;
        }

        .kkg-user-profile-form input[readonly] {
            background: #f0f0f3;
            color: #555;
            cursor: not-allowed;
        }

        .kkg-user-profile-actions {
            margin-bottom: 0;
        }

        .kkg-user-profile-actions button,
        .kkg-user-profile-login input[type="submit"] {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 8px 14px;
            border: 0;
            border-radius: 999px;
            background: #110a2f;
            color: #fff;
            font-weight: 800;
            cursor: pointer;
        }



        .kkg-login-card h2,
        .kkg-logout-card h2 {
            margin-top: 0;
        }

        .kkg-login-form input[type="text"],
        .kkg-login-form input[type="password"] {
            width: 100%;
            box-sizing: border-box;
            padding: 9px 11px;
            border: 1.5px solid #b6b6c6;
            border-radius: 10px;
            background: #fff;
        }

        .kkg-login-actions {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            align-items: center;
        }

        .kkg-login-actions button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 8px 14px;
            border: 0;
            border-radius: 999px;
            background: #110a2f;
            color: #fff;
            font-weight: 800;
            cursor: pointer;
        }

        @media (max-width: 700px) {
            .kkg-user-profile-heading {
                display: block;
            }

            .kkg-user-profile-heading .kkg-small-link {
                margin-top: 12px;
            }
        }
    
        .kkg-three-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
        .kkg-arrangement-details-grid{display:grid;grid-template-columns:1fr;gap:8px;max-width:560px;margin:12px 0 16px;padding:12px 14px;border:1px solid #d7d7df;border-radius:12px;background:rgba(255,255,255,.58);}
        .kkg-time-field{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;align-items:center;min-height:40px;}
        .kkg-time-field label{display:block;margin:0;}
        .kkg-time-picker{display:grid;grid-template-columns:minmax(96px,1fr) auto minmax(96px,1fr);gap:6px;align-items:center;}
        .kkg-time-picker select,.kkg-clothing-control select,.kkg-clothing-control input{width:100%;min-width:0;box-sizing:border-box;border:1.5px solid #9ca3af!important;border-radius:9px!important;padding:8px 10px!important;background:#fff!important;color:#110a2f!important;-webkit-text-fill-color:#110a2f!important;opacity:1!important;min-height:38px;}
        .kkg-time-separator{font-weight:900;font-size:1.15em;text-align:center;}
        .kkg-clothing-row{padding-top:5px;margin-top:2px;border-top:1px solid #e5e7eb;}
        .kkg-clothing-control{display:grid;grid-template-columns:1fr;gap:7px;}
        .kkg-clothing-control input[hidden]{display:none!important;}
        .kkg-clothing-control input::placeholder{color:#6b7280!important;opacity:1;}
        .kkg-rich-editor-field{margin:14px 0;}
        .kkg-rich-editor-field>label{display:block;margin-bottom:6px;}
        .kkg-rich-editor-field .wp-editor-wrap{background:#fff;border:1px solid #cfcfd6;border-radius:10px;overflow:hidden;}
        .kkg-rich-editor-field .wp-editor-container{border:0;}
        .kkg-rich-editor-field .quicktags-toolbar input.button,
        .kkg-rich-editor-field .quicktags-toolbar button,
        .kkg-rich-editor-field .mce-toolbar .mce-btn,
        .kkg-rich-editor-field .mce-toolbar .mce-btn button{background:#110a2f!important;color:#fff!important;border-color:#110a2f!important;opacity:1!important;}
        .kkg-rich-editor-field .mce-toolbar .mce-btn i,
        .kkg-rich-editor-field .mce-toolbar .mce-btn .mce-ico,
        .kkg-rich-editor-field .mce-toolbar .mce-btn .mce-txt,
        .kkg-rich-editor-field .mce-toolbar .mce-btn button *,
        .kkg-rich-editor-field .quicktags-toolbar input.button,
        .kkg-rich-editor-field .quicktags-toolbar button{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;text-shadow:none!important;}

        .kkg-rich-editor-field .mce-toolbar .mce-ico{color:#fff!important;-webkit-text-fill-color:#fff!important;filter:brightness(0) invert(1)!important;}
        .kkg-rich-editor-field .mce-toolbar .mce-menubtn button span,.kkg-rich-editor-field .mce-toolbar .mce-btn button span{color:#fff!important;-webkit-text-fill-color:#fff!important;}
        .kkg-rich-editor-field .mce-toolbar .mce-caret{border-top-color:#fff!important;}
        .kkg-rich-editor-field .mce-toolbar .mce-btn:hover,
        .kkg-rich-editor-field .mce-toolbar .mce-btn:focus,
        .kkg-rich-editor-field .quicktags-toolbar input.button:hover,
        .kkg-rich-editor-field .quicktags-toolbar input.button:focus{filter:brightness(1.15);}
        .kkg-rich-editor-field textarea.wp-editor-area{color:#111827!important;background:#fff!important;-webkit-text-fill-color:#111827!important;}
        .kkg-new-arrangement-button{font-weight:800;}
        @media(max-width:760px){.kkg-three-columns{grid-template-columns:1fr}.kkg-arrangement-details-grid{max-width:none;padding:10px}.kkg-time-field{grid-template-columns:110px minmax(0,1fr);gap:8px}.kkg-time-picker{grid-template-columns:1fr auto 1fr}}

        .kkg-oevemateriale-suggest {
            position: absolute;
            z-index: 100000;
            max-height: 260px;
            overflow: auto;
            border: 1px solid rgba(17,10,47,.22);
            border-radius: 12px;
            background: #fff;
            box-shadow: 0 14px 34px rgba(17,10,47,.20);
            padding: 6px;
        }

        .kkg-oevemateriale-suggest button {
            display: block;
            width: 100%;
            text-align: left;
            padding: 8px 10px;
            border: 0;
            border-radius: 9px;
            background: transparent;
            color: #110a2f;
            cursor: pointer;
            font: inherit;
        }

        .kkg-oevemateriale-suggest button:hover,
        .kkg-oevemateriale-suggest button:focus {
            background: #f4f0ff;
            outline: none;
        }

        .kkg-oevemateriale-suggest span {
            display: block;
            margin-top: 2px;
            color: #666;
            font-size: .78rem;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
    
.kkg-ugeplan-wrap{max-width:1000px;margin:0 auto 30px}.kkg-autosave-global{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#eee9e2;color:#62584f;font-size:.8rem;font-weight:700}.kkg-autosave-global[data-state="saving"]{background:#fff4d6}.kkg-autosave-global[data-state="saved"]{background:#e8f4e8;color:#315b31}.kkg-autosave-global[data-state="error"]{background:#fde8e8;color:#8a2525}.kkg-autosave-status{display:flex;align-items:center;gap:6px;margin-top:8px;color:#6f665c;font-size:.78rem}.kkg-autosave-dot{width:7px;height:7px;border-radius:50%;background:#aaa}.kkg-autosave-status[data-state="saving"] .kkg-autosave-dot{background:#d29b1e}.kkg-autosave-status[data-state="saved"] .kkg-autosave-dot{background:#4b8b4b}.kkg-autosave-status[data-state="error"]{color:#9b2c2c}.kkg-autosave-status[data-state="error"] .kkg-autosave-dot{background:#b72d2d}.kkg-ugeplan-batch-note{margin:-6px 0 12px;padding:9px 12px;border:1px solid #d4cabf;border-radius:9px;background:#f6f1eb;color:#62584f;font-size:.86rem}.kkg-ugeplan-savebar{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:16px;padding:12px;border:1px solid #d4cabf;border-radius:10px;background:#eee9e2}.kkg-ugeplan-savebar button{border:1px solid #5d4d3f;border-radius:10px;padding:9px 14px;background:#5d4d3f;color:#fff;font-weight:800;cursor:pointer}.kkg-ugeplan-savebar span{font-size:.84rem;color:#6f665c}.kkg-ugeplan-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:16px}.kkg-ugeplan-toolbar h2{margin:0}.kkg-ugeplan-toolbar p{margin:4px 0 0;color:#6f665c}.kkg-ugeplan-toolbar button,.kkg-ugeplan-mini-btn,.kkg-ugeplan-editor-form button{border:1px solid #5d4d3f;border-radius:10px;padding:7px 11px;background:#5d4d3f;color:#fff;font-weight:700;cursor:pointer}.kkg-ugeplan-table{display:grid;grid-template-columns:140px minmax(180px,1fr) minmax(160px,.9fr) minmax(160px,.9fr);border-left:1px solid #d8d0c6;border-right:1px solid #d8d0c6}.kkg-ugeplan-table>div{padding:11px 12px;border-bottom:1px solid #ddd5cb;min-width:0}.kkg-ugeplan-table>div+div{border-left:1px solid #e8e1d8}.kkg-ugeplan-head{font-weight:800;background:#625447;color:#fff;border-radius:12px 12px 0 0;overflow:hidden}.kkg-ugeplan-row{background:#fbfaf8}.kkg-ugeplan-priority{background:#fffdf6}.kkg-ugeplan-past{opacity:.74}.kkg-ugeplan-week span,.kkg-ugeplan-name,.kkg-ugeplan-empty{display:block}.kkg-ugeplan-week span{font-size:.86rem;color:#746b62}.kkg-ugeplan-week em{display:block;color:#a23b2a;font-size:.76rem}.kkg-ugeplan-empty{color:#938a82;font-style:italic}.kkg-ugeplan-inline-form{margin-top:6px}.kkg-ugeplan-mini-btn{padding:4px 7px;font-size:.76rem}.kkg-ugeplan-more{margin-top:12px}.kkg-ugeplan-more>summary{cursor:pointer;font-weight:800;padding:11px 13px;background:#eee9e2;border:1px solid #d4cabf;border-radius:10px}.kkg-ugeplan-arrangement{padding:8px 12px 8px 152px;background:#f1ece5;border:1px solid #ddd2c5;border-top:0;font-size:.9rem}.kkg-ugeplan-arr-links{margin-left:7px}.kkg-ugeplan-editor-row{padding:10px;border:1px solid #ddd2c5;border-top:0;background:#f3efe9}.kkg-ugeplan-editor-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;align-items:start}.kkg-ugeplan-editor-grid>input{width:100%;box-sizing:border-box;padding:8px 9px;border:1px solid #c8beb4;border-radius:8px}.kkg-hide-week-panel{margin-top:10px;padding:9px 11px;border:1px solid #d5b8ad;border-radius:9px;background:#fff7f4}.kkg-hide-week{display:flex;align-items:flex-start;gap:9px;font-size:.88rem;cursor:pointer}.kkg-hide-week input{margin-top:3px}.kkg-hide-week span{display:block}.kkg-hide-week strong{display:block;color:#8d2f22}.kkg-hide-week small{display:block;margin-top:2px;color:#6f665c;font-size:.78rem;line-height:1.3}.kkg-hide-signup{margin-top:9px;padding-top:9px;border-top:1px solid #ead8d1}.kkg-hide-signup strong{color:#6b4f2d}.kkg-ugeplan-signup-closed{display:block;margin-top:4px;color:#8a6a3d;font-size:.78rem;font-weight:700}.kkg-ugeplan-signup-hidden .kkg-ugeplan-inline-form,.kkg-ugeplan-signup-hidden .kkg-people-picker{display:none!important}.kkg-ugeplan-signup-hidden .kkg-ugeplan-editor-grid{grid-template-columns:1fr}.kkg-print-signup-closed{display:block;margin-top:2px;font-size:7.8pt;font-weight:700;font-style:italic;color:#555}.kkg-people-picker{position:relative;min-width:0}.kkg-people-search{width:100%;box-sizing:border-box;padding:8px 9px;border:1px solid #c8beb4;border-radius:8px;background:#fff}.kkg-people-dropdown{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;background:#fff;border:1px solid #bfb4a9;border-radius:9px;box-shadow:0 10px 28px rgba(66,52,40,.18);padding:6px}.kkg-people-count{padding:5px 7px;font-size:.78rem;color:#6e655c;border-bottom:1px solid #eee7df}.kkg-people-option{display:flex;gap:8px;align-items:center;padding:7px;border-radius:6px;cursor:pointer}.kkg-people-option:hover{background:#f3eee8}.kkg-people-option[hidden]{display:none!important}.kkg-people-no-results{padding:10px;color:#7d746b;font-style:italic}.kkg-ugeplan-message{max-width:1000px;margin:0 auto 14px;padding:12px 14px;border-radius:10px;background:#e8f7e8;border:1px solid #82c982;font-weight:700}.kkg-ugeplan-hidden-week{outline:2px dashed #a23b2a;outline-offset:2px}.kkg-ugeplan-print-area{display:none}
@media(max-width:760px){.kkg-ugeplan-toolbar{display:block}.kkg-ugeplan-table{grid-template-columns:88px minmax(110px,1fr) minmax(105px,.9fr) minmax(105px,.9fr);font-size:.82rem}.kkg-ugeplan-table>div{padding:8px 6px}.kkg-ugeplan-editor-grid{grid-template-columns:1fr}.kkg-ugeplan-arrangement{padding-left:8px}.kkg-people-dropdown{position:static;margin-top:4px}}
@media print{body *{visibility:hidden!important}.kkg-ugeplan-print-area,.kkg-ugeplan-print-area *{visibility:visible!important}.kkg-ugeplan-print-area{display:block!important;position:absolute;left:0;top:0;width:100%;font-family:Arial,sans-serif;color:#000}.kkg-ugeplan-print-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #555;padding-bottom:5mm;margin-bottom:5mm}.kkg-ugeplan-print-head img{max-height:22mm;max-width:55mm}.kkg-ugeplan-print-head h1{margin:0 0 2mm;font-size:16pt}.kkg-ugeplan-print-head p{margin:0;font-size:9pt}.kkg-ugeplan-print-area table{width:100%;border-collapse:collapse;font-size:8.7pt}.kkg-ugeplan-print-area th,.kkg-ugeplan-print-area td{border:1px solid #777;padding:2mm;vertical-align:top;text-align:left}.kkg-ugeplan-print-area th{background:#eee!important}.kkg-ugeplan-print-area th:nth-child(1){width:17%}.kkg-ugeplan-print-area th:nth-child(2){width:39%}.kkg-ugeplan-print-area th:nth-child(3),.kkg-ugeplan-print-area th:nth-child(4){width:22%}.kkg-ugeplan-print-area tr{break-inside:avoid}.kkg-ugeplan-print-area .kkg-ugeplan-arrangement{padding:2px 0;border:0;background:none;font-size:8pt}.no-print{display:none!important}}

