/* Scoped additions; existing dashboard, public branding and QR layout stay intact. */
.operations-page { display: grid; gap: 24px; }
.operations-page .panel { min-width: 0; padding: 24px; }
.operations-page h2 { margin: 0 0 16px; font-size: 22px; line-height: 1.35; font-weight: 400; }
.operations-page p, .operations-page li { line-height: 1.7; overflow-wrap: anywhere; }
.operations-page .notice { padding: 16px; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; }
.ops-form { display: grid; gap: 16px; max-width: 520px; margin: 20px 0; }
.ops-form label, .ops-filter label { display: grid; gap: 8px; font-size: 14px; }
.ops-form input[type=password], .ops-filter select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.ops-form input[type=checkbox], .bulk-toolbar input, .bulk-select input { width: 20px; height: 20px; accent-color: var(--ink); }
.ops-form .btn { justify-self: start; }
.ops-filter { display: flex; align-items: end; gap: 12px; }
.ops-table-wrap { overflow-x: auto; }
.ops-table { width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; }
.ops-table th, .ops-table td { padding: 16px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.ops-table th { color: var(--muted); font-weight: 600; }
.ops-table td code { display: block; max-width: 380px; overflow-wrap: anywhere; white-space: normal; font-size: 12px; }
.ops-table a { text-decoration: underline; text-underline-offset: 4px; }
.operations-page details summary { cursor: pointer; min-height: 44px; padding: 12px 0; }
.event-tabs { display: flex; gap: 8px; margin-bottom: 20px; }
.event-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid var(--line); border-radius: 30px; font-size: 13px; }
.event-tabs a.selected { background: var(--ink); color: white; border-color: var(--ink); }
.event-more { position: relative; font-size: 12px; flex: 0 0 auto; }
.event-more summary { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; cursor: pointer; min-height: 44px; padding: 12px; list-style: none; border: 1px solid var(--line); border-radius: 10px; }
.event-more summary::-webkit-details-marker { display: none; }
.event-more summary::after { content: ' ▾'; }
.event-more[open] summary { background: var(--paper); }
.event-more-menu { display: grid; gap: 4px; min-width: 170px; margin-top: 6px; padding: 6px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.event-more-menu form, .event-more-menu button { width: 100%; }
.event-more-menu button { min-height: 44px; background: transparent; border: 0; padding: 10px 12px; text-align: left; border-radius: 6px; color: var(--ink); }
.event-more-menu button:hover { background: var(--paper); }
.bulk-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 18px 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.bulk-toolbar label { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.bulk-toolbar small { flex-basis: 100%; color: var(--muted); line-height: 1.5; }
.bulk-toolbar .btn { min-height: 44px; padding: 10px 14px; font-size: 12px; }
.bulk-toolbar .bulk-danger { color: var(--red); }
.bulk-toolbar button:disabled { opacity: .45; cursor: not-allowed; }
.manage-photo .bulk-select { position: absolute; z-index: 3; top: 52px; left: 8px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; background: rgba(255,255,255,.94); border-radius: 10px; }
.manage-photo:has([data-bulk-photo]:checked) { outline: 2px solid var(--gold); outline-offset: 2px; }
.sidebar-logout button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 12px 16px; background: none; color: inherit; border: 0; text-align: left; border-radius: 10px; }
.sidebar-logout button:hover { background: rgba(255,255,255,.08); }
.gallery-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 28px; font-size: 13px; }
.gallery-pagination a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 30px; transition: color .2s,background .2s; }
.gallery-pagination a:hover { color: var(--gold); background: white; }
.gallery-pagination span { color: var(--muted); }
.event-more summary:focus-visible, .event-tabs a:focus-visible, .gallery-pagination a:focus-visible, .bulk-toolbar button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
@media (max-width: 640px) {
    .operations-page { gap: 16px; }
    .operations-page .panel { padding: 18px; }
    .ops-table th, .ops-table td { padding: 12px 8px; }
    .bulk-toolbar { gap: 8px; padding: 12px; }
    .bulk-toolbar .btn { flex: 1 1 auto; }
    .gallery-pagination { gap: 10px; }
    .gallery-pagination span { width: 100%; text-align: center; order: -1; }
    .event-more-menu { min-width: 140px; }
}
@media (prefers-reduced-motion: reduce) { .gallery-pagination a { transition: none; } }

/* Kelola Event: upload dahulu, kemudian foto publik, tanpa mengubah proses upload. */
.admin-body .manage-form > .gallery-uploader {
    margin: 16px 24px 0;
    border: 1px solid #aaa49b;
    border-radius: 8px;
}

/* Batas kontrol tetap terlihat pada permukaan hitam/putih. */
.admin-body input:not([type="checkbox"]):not([type="hidden"]):not([type="file"]),
.admin-body select,
.admin-body textarea,
.admin-body .event-information input,
.admin-body .event-information select,
.admin-body .password-form input,
.admin-body .event-search-form input,
.admin-body .btn.secondary,
.admin-body .event-share-button,
.admin-body .view-gallery-action,
.admin-body .event-more summary,
.admin-body .event-tabs a:not(.selected),
.admin-body .cover-dropzone,
.admin-body .gallery-dropzone {
    border-color: #92908c;
}
.admin-body .row-actions .delete-event-button { border-color: #bd9189; }
.admin-body input:not([type="checkbox"]):not([type="hidden"]):not([type="file"]):focus-visible,
.admin-body select:focus-visible,
.admin-body textarea:focus-visible,
.admin-body .btn:focus-visible,
.admin-body .event-more summary:focus-visible {
    outline: 2px solid #4b4339;
    outline-offset: 2px;
}

/* Header dan isi memakai grid identik; aksi membungkus di kolomnya. */
@media (min-width: 1251px) {
    .admin-body .event-table .table-row {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(175px, 1.2fr) 130px 75px 105px minmax(380px, 1.7fr);
        gap: 12px;
        padding-inline: 20px;
    }
    .admin-body .event-table .table-row > * { min-width: 0; }
    .admin-body .event-table .event-cell > div { min-width: 0; overflow-wrap: anywhere; }
    .admin-body .event-table .row-actions {
        min-width: 0;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

@media (min-width: 701px) and (max-width: 1250px) {
    .admin-body .event-table .table-header { display: none; }
    .admin-body .event-table .table-row:not(.table-header) {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
    }
    .admin-body .event-table .event-cell,
    .admin-body .event-table .row-actions { grid-column: 1 / -1; }
    .admin-body .event-table .table-row:not(.table-header) > span:nth-child(4) { grid-column: 1 / -1; }
    .admin-body .event-table .row-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
        width: 100%;
        padding-top: 12px;
        border-top: 1px solid #b9b5af;
    }
}

@media (max-width: 700px) {
    .admin-body .manage-form > .gallery-uploader { margin: 12px 12px 0; }
    .admin-body .event-table .table-row:not(.table-header) { min-width: 0; }
}

/* Penjelasan fitur pada Team Access, dibuka hanya saat dibutuhkan. */
.team-layout .advanced-guide { margin: 20px 0; border: 1px solid #92908c; border-radius: 10px; }
.team-layout .advanced-guide summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: 48px; padding: 13px 16px; cursor: pointer; font-weight: 600; list-style-position: inside; }
.team-layout .advanced-guide summary span { color: var(--muted); font-size: 12px; font-weight: 400; }
.team-layout .advanced-guide summary:hover, .team-layout .advanced-guide[open] summary { background: #f3f1ee; }
.team-layout .advanced-guide summary:focus-visible { outline: 2px solid #4b4339; outline-offset: 2px; }
.team-layout .advanced-guide-content { padding: 16px; border-top: 1px solid #b9b5af; }
.team-layout .advanced-guide-content > p { margin: 0 0 16px; line-height: 1.6; }
.team-layout .advanced-guide-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; }
.team-layout .advanced-guide-list article { padding: 16px; border: 1px solid #bbb7b1; border-radius: 9px; background: #fff; }
.team-layout .advanced-guide-list h3 { margin: 0 0 8px; font-size: 15px; font-weight: 600; }
.team-layout .advanced-guide-list p { margin: 0; line-height: 1.6; font-size: 13px; }
