/* DSC front-end application shell — Fellowship Systems family styling. */
.dsc-shell{--dsc-bg:#f3efe8;--dsc-panel:#fbfaf7;--dsc-surface:#f7f3ec;--dsc-surface-2:#eee7db;--dsc-border:#d6cec0;--dsc-border-strong:#c8bba8;--dsc-text:#3f3a33;--dsc-heading:#4a4339;--dsc-muted:#746b5d;--dsc-accent:#75654f;--dsc-accent-dark:#655742;--dsc-secondary:#8b8375;max-width:1100px;margin:24px auto;padding:28px;box-sizing:border-box;color:var(--dsc-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--dsc-panel);border:1px solid var(--dsc-border);border-radius:10px;box-shadow:0 2px 10px rgba(68,57,45,.07)}
.dsc-shell *{box-sizing:border-box}.dsc-shell a{color:#665d48}.dsc-shell a:hover{color:#49351f}
.dsc-app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 0 18px}.dsc-app-brand h1{font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1.15;margin:2px 0 4px;font-weight:600;color:var(--dsc-heading)}.dsc-app-brand p{margin:0;color:var(--dsc-muted);font-size:14px}.dsc-app-kicker,.dsc-eyebrow,.dsc-card-label{display:block;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:700;color:var(--dsc-muted)}.dsc-user-context{text-align:right;font-size:13px;color:var(--dsc-muted)}.dsc-user-context span,.dsc-user-context strong{display:block}.dsc-user-context strong{color:var(--dsc-heading);margin-top:2px}
.dsc-app-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 24px;padding:9px 10px;background:var(--dsc-surface-2);border:1px solid #d3c8b8;border-radius:8px;position:relative}.dsc-nav-direct,.dsc-nav-group>summary{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border-radius:6px;color:#554b3d!important;text-decoration:none;font-size:.9rem;font-weight:700;line-height:1.2;cursor:pointer;list-style:none}.dsc-nav-group{position:relative;margin:0}.dsc-nav-group>summary::-webkit-details-marker{display:none}.dsc-nav-group>summary::after{content:"▾";font-size:.72em;opacity:.7}.dsc-nav-direct:hover,.dsc-nav-group>summary:hover,.dsc-nav-group[open]>summary{background:#ddd2c1;color:#40382f!important}.dsc-nav-direct[aria-current=page]{background:var(--dsc-accent);color:#fff!important}.dsc-nav-account{margin-left:auto}.dsc-nav-menu{position:absolute;z-index:100;top:calc(100% + 6px);left:0;min-width:190px;padding:6px;background:var(--dsc-panel);border:1px solid #cfc4b4;border-radius:7px;box-shadow:0 6px 18px rgba(68,57,45,.16)}.dsc-nav-menu-right{left:auto;right:0}.dsc-nav-link{display:block;padding:8px 10px;border-radius:5px;color:#554b3d!important;text-decoration:none;font-size:.9rem;font-weight:600;line-height:1.25;white-space:nowrap}.dsc-nav-link:hover{background:var(--dsc-surface-2);color:#40382f!important}
.dsc-app-main{padding:0 0 12px}.dsc-page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.dsc-page-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:28px;line-height:1.2;margin:4px 0 6px;font-weight:600;color:var(--dsc-heading)}.dsc-page-heading p{margin:0;color:var(--dsc-muted);max-width:720px}.dsc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.dsc-card{border:1px solid #d4ccbf;border-radius:8px;padding:18px;background:var(--dsc-surface);color:#554e42}.dsc-card h3{font-family:Georgia,"Times New Roman",serif;font-size:20px;margin:5px 0 8px;color:var(--dsc-heading)}.dsc-card p{color:var(--dsc-muted);line-height:1.55}.dsc-button,.dsc-records-workspace .button,.dsc-records-workspace .button-primary{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border:0;border-radius:6px;text-decoration:none;background:var(--dsc-accent);color:#fff!important;font-weight:600;font-size:.94rem;line-height:1.25;cursor:pointer}.dsc-button:hover,.dsc-button:focus,.dsc-records-workspace .button-primary:hover,.dsc-records-workspace .button-primary:focus{background:var(--dsc-accent-dark);color:#fff!important}.dsc-records-workspace .button{background:#e8e0d3;color:#4f463a!important;border:1px solid #b8ab99}.dsc-records-workspace .button:hover{background:#dcd1c1;color:#4f463a!important}
.dsc-notice,.dsc-records-workspace .notice{padding:14px 16px;background:#e8dcc4;border:1px solid #c8b58e;border-left:5px solid #8a6f45;border-radius:6px;color:#3f3528;margin:18px 0 22px;box-shadow:0 1px 3px rgba(68,57,45,.10)}.dsc-notice-error,.dsc-records-workspace .notice-error{background:#d9aaa2;border-color:#aa6d62;border-left-color:#875047;color:#3d2723;font-weight:600}.dsc-records-workspace .notice-success{background:#d6d9bd;border-color:#9ea477;border-left-color:#6f7650;color:#343923}.dsc-records-workspace .notice-warning{border-left-color:#8a6f45}
.dsc-doc-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px;padding:9px 10px;background:var(--dsc-surface-2);border:1px solid #d3c8b8;border-radius:8px}.dsc-doc-nav a{padding:7px 10px;text-decoration:none;border-radius:5px;color:#554b3d!important;font-weight:600}.dsc-doc-nav a[aria-current=page]{font-weight:700;background:var(--dsc-accent);color:#fff!important}.dsc-manual{max-width:860px;line-height:1.62}.dsc-manual h1,.dsc-manual h2,.dsc-manual h3,.dsc-manual h4{font-family:Georgia,"Times New Roman",serif;scroll-margin-top:30px;color:var(--dsc-heading)}.dsc-manual code{font-size:.92em;padding:.08em .3em;background:var(--dsc-surface);border-radius:3px}.dsc-app-footer{margin-top:24px;padding-top:14px;border-top:1px solid var(--dsc-border);text-align:center;color:#8a8276;font-size:.82rem}
/* Records workspace */
.dsc-records-workspace .widefat{width:100%;border-collapse:collapse;background:#fffdf9;border:1px solid var(--dsc-border);margin:12px 0 18px}.dsc-records-workspace .widefat th,.dsc-records-workspace .widefat td{padding:11px 12px;border-bottom:1px solid #ddd5c8;text-align:left;vertical-align:top}.dsc-records-workspace .widefat thead th{background:#ebe4d8;color:var(--dsc-heading);font-size:.9rem}.dsc-records-workspace .widefat.striped tbody tr:nth-child(even){background:#faf7f1}.dsc-records-workspace .widefat a{text-decoration:none;font-weight:600}.dsc-records-workspace .widefat a:hover{text-decoration:underline}.dsc-records-workspace .form-table{width:100%;border-collapse:collapse}.dsc-records-workspace .form-table th{width:190px;padding:10px 12px 10px 0;text-align:left;vertical-align:top;color:var(--dsc-heading)}.dsc-records-workspace .form-table td{padding:8px 0}.dsc-records-workspace input[type=text],.dsc-records-workspace input[type=search],.dsc-records-workspace input[type=date],.dsc-records-workspace select,.dsc-records-workspace textarea{max-width:100%;padding:9px 10px;border:1px solid #bdb3a4;border-radius:5px;background:#fffdf9;color:var(--dsc-text);font:inherit}.dsc-records-workspace input:focus,.dsc-records-workspace select:focus,.dsc-records-workspace textarea:focus{outline:2px solid #c7b99f;outline-offset:1px}.dsc-records-workspace .regular-text{width:min(520px,100%)}.dsc-records-workspace .large-text{width:100%}.dsc-records-workspace .description{display:block;margin-top:5px;color:var(--dsc-muted);font-size:.9em}.dsc-records-workspace .tablenav{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0}.dsc-records-workspace .tablenav-pages a,.dsc-records-workspace .tablenav-pages span{display:inline-block;padding:5px 8px;border:1px solid var(--dsc-border);margin-right:3px;text-decoration:none;border-radius:4px}.dsc-records-workspace .tablenav-pages .current{background:var(--dsc-surface-2);font-weight:700}.dsc-records-workspace details{margin:10px 0}.dsc-records-workspace details>summary{color:#665d48}.dsc-records-workspace code{word-break:break-word}
@media(max-width:760px){.dsc-shell{margin:18px 10px;padding:20px}.dsc-app-header{align-items:flex-start;flex-direction:column;gap:10px}.dsc-user-context{text-align:left}.dsc-app-brand h1{font-size:25px}.dsc-page-heading h2{font-size:24px}.dsc-app-nav{gap:5px;padding:8px}.dsc-nav-direct,.dsc-nav-group>summary{padding:7px 9px;font-size:.84rem}.dsc-nav-account{margin-left:0}.dsc-nav-menu{min-width:190px}.dsc-records-workspace .widefat{display:block;overflow-x:auto;white-space:nowrap}.dsc-records-workspace .widefat td{white-space:normal;min-width:140px}.dsc-records-workspace .form-table,.dsc-records-workspace .form-table tbody,.dsc-records-workspace .form-table tr,.dsc-records-workspace .form-table th,.dsc-records-workspace .form-table td{display:block;width:100%}.dsc-records-workspace .form-table th{padding:9px 0 2px}.dsc-records-workspace .form-table td{padding:2px 0 9px}}

/* ==========================================================
   Fellowship Systems application-shell polish — v0.12.3
   ==========================================================
   MAINTAINER NOTE:
   - Header/navigation/footer shell styling lives in this section.
   - Screen-specific styling remains in the sections above.
   - See docs/ui-customization-guide.md before changing selectors.
*/

/* Remove host-theme chrome only on DSC application pages. The stable body
   class is injected by DSC_Frontend::body_class(), so these rules are not
   tied to a specific WordPress theme or page slug. */
body.dsc-application-page .site-header,
body.dsc-application-page #masthead,
body.dsc-application-page .site-footer,
body.dsc-application-page #colophon,
body.dsc-application-page .entry-header,
body.dsc-application-page .entry-title,
body.dsc-application-page .page-title,
body.dsc-application-page .wp-block-post-title,
body.dsc-application-page .wp-site-blocks > header,
body.dsc-application-page .wp-site-blocks > footer,
body.dsc-application-page .wp-block-template-part:has(> header),
body.dsc-application-page .wp-block-template-part:has(> footer) {
    display: none !important;
}

/* Let DSC, rather than the active theme, establish the visible application
   identity. Theme content wrappers are deliberately normalized but not
   replaced, which keeps the plugin portable across classic/block themes. */
body.dsc-application-page .entry-content,
body.dsc-application-page .wp-block-post-content {
    margin-block-start: 0 !important;
}

.dsc-app-header {
    align-items: center;
    background: #746a58;
    border: 1px solid #746a58;
    border-radius: 12px 12px 0 0;
    margin: 0;
    padding: 20px 24px;
}
.dsc-app-brand h1 {
    color: #fff;
    font-size: clamp(2rem, 3vw, 2.35rem);
    line-height: 1.2;
    margin: 3px 0 4px;
}
.dsc-app-brand p,
.dsc-app-kicker {
    color: rgba(255,255,255,.82);
}
.dsc-user-context {
    color: rgba(255,255,255,.9);
    font-size: .9rem;
}
.dsc-user-name {
    color: #fff;
    font-weight: 600;
}

/* Keep the portal header and navigation visually joined, as in the other
   Fellowship Systems operational plugins. */
.dsc-app-nav {
    background: #655d50;
    border-color: #655d50;
    border-radius: 0 0 8px 8px;
    margin-top: 0;
}
.dsc-nav-direct,
.dsc-nav-group > summary {
    color: #fff !important;
}
.dsc-nav-direct:hover,
.dsc-nav-group > summary:hover,
.dsc-nav-group[open] > summary {
    background: rgba(255,255,255,.10);
    color: #fff !important;
}
.dsc-nav-direct[aria-current=page] {
    background: rgba(255,255,255,.15);
    box-shadow: inset 0 -3px 0 #d8c7a8;
}

/* Records utility controls. */
.dsc-records-workspace .dsc-discarded-toggle,
.dsc-records-workspace .dsc-discarded-toggle a {
    font-size: .88rem;
    line-height: 1.35;
}
.dsc-records-workspace .dsc-search-filters > .dsc-search-filters-toggle {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--dsc-border-strong);
    border-radius: 6px;
    background: var(--dsc-surface-2);
    color: var(--dsc-heading);
    cursor: pointer;
    font-size: .96rem;
    font-weight: 700;
    line-height: 1.25;
}
.dsc-records-workspace .dsc-search-filters > .dsc-search-filters-toggle:hover,
.dsc-records-workspace .dsc-search-filters > .dsc-search-filters-toggle:focus {
    background: #e2d8c9;
}
.dsc-records-workspace .dsc-search-filters .form-table th {
    padding-right: 30px;
}

@media(max-width:760px){
    .dsc-app-header{padding:18px 20px}
    .dsc-app-brand h1{font-size:1.8rem}
    .dsc-records-workspace .dsc-search-filters .form-table th{padding-right:0}
}


/* ==========================================================
   Phase 11B Records workflow + small UI polish — v0.12.4
   ========================================================== */

/* Dashboard cards share a vertical layout so their actions align even when
   explanatory copy differs in length. */
.dsc-grid .dsc-card {
    display: flex;
    flex-direction: column;
}
.dsc-grid .dsc-card > p:last-child {
    margin-top: auto;
    padding-top: 10px;
    margin-bottom: 0;
}

/* Help/documentation should read like supporting material rather than a
   primary application control surface. */
.dsc-doc-nav a {
    font-size: .9rem;
    line-height: 1.25;
    padding: 6px 9px;
}
.dsc-manual {
    font-size: .94rem;
    line-height: 1.58;
}
.dsc-manual h1 { font-size: 1.7rem; }
.dsc-manual h2 { font-size: 1.4rem; }
.dsc-manual h3 { font-size: 1.18rem; }
.dsc-manual h4 { font-size: 1.02rem; }

/* Records create/edit presentation. Business logic remains in DSC_Records. */
.dsc-records-primary-action {
    margin: 0 0 12px;
}
.dsc-form-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 18px;
}


/* Phase 11B Records register polish — v0.12.5.
 * Keep headings prominent while making dense register rows easier to scan. */
.dsc-records-workspace .widefat tbody td{font-size:.9rem;line-height:1.42}

/* ==========================================================
   Front-end shared-renderer compatibility + editor polish — v0.12.6
   ========================================================== */

/* Draft editing is intentionally a little denser than the surrounding page.
   This class belongs only to the record editor, so search/filter typography
   and detail tables can evolve independently. */
.dsc-records-workspace .dsc-record-form {
    font-size: .92rem;
    line-height: 1.45;
}
.dsc-records-workspace .dsc-record-form .form-table th,
.dsc-records-workspace .dsc-record-form .form-table td,
.dsc-records-workspace .dsc-record-form input,
.dsc-records-workspace .dsc-record-form select,
.dsc-records-workspace .dsc-record-form textarea {
    font-size: .92rem;
}

/* ==========================================================
   Shared Fellowship Systems presentation standards — v0.12.7
   ==========================================================
   These rules are deliberately broad inside the DSC shell so newly migrated
   forms and detail panels inherit the same typography, notices, controls, and
   spacing instead of accumulating screen-by-screen overrides.
*/
.dsc-app-main{
    font-size:.94rem;
    line-height:1.5;
}
.dsc-app-main h2:not(.dsc-page-heading h2){
    font-family:Georgia,"Times New Roman",serif;
    color:var(--dsc-heading);
    font-size:1.35rem;
    line-height:1.25;
    margin:1.35em 0 .55em;
}
.dsc-app-main h3{
    font-family:Georgia,"Times New Roman",serif;
    color:var(--dsc-heading);
    font-size:1.08rem;
    line-height:1.3;
    margin:1.2em 0 .45em;
}
.dsc-records-workspace .notice,
.dsc-notice{
    padding:8px 11px;
    margin:12px 0 16px;
    border-left-width:4px;
    font-size:.92rem;
    line-height:1.4;
}
.dsc-records-workspace .notice p,
.dsc-notice p{
    margin:0;
    padding:0;
}
.dsc-records-workspace label,
.dsc-records-workspace .form-table th,
.dsc-records-workspace .form-table td,
.dsc-records-workspace input,
.dsc-records-workspace select,
.dsc-records-workspace textarea,
.dsc-records-workspace button{
    font-size:.92rem;
    line-height:1.4;
}
.dsc-records-workspace input[type=checkbox]{
    width:18px;
    height:18px;
    min-width:18px;
    vertical-align:-3px;
    margin-right:6px;
}
.dsc-records-workspace input[type=radio]{
    width:18px;
    height:18px;
    min-width:18px;
    vertical-align:-3px;
    margin-right:6px;
}
.dsc-records-workspace .button,
.dsc-records-workspace .button-primary,
.dsc-records-workspace .button-secondary,
.dsc-button{
    min-height:36px;
    padding:7px 12px;
    font-size:.92rem;
    line-height:1.25;
}

/* ==========================================================
   Record-detail separation and return-to-top polish — v0.12.8
   ========================================================== */
.dsc-records-workspace > h2,
.dsc-records-workspace section > h2,
.dsc-records-workspace .dsc-record-detail h2{
    font-weight:700;
}
.dsc-return-top{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:120;
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border:1px solid var(--dsc-border-strong);
    border-radius:50%;
    background:var(--dsc-panel);
    color:var(--dsc-accent-dark)!important;
    text-decoration:none!important;
    font-size:1.25rem;
    font-weight:700;
    line-height:1;
    box-shadow:0 2px 8px rgba(68,57,45,.14);
}
.dsc-return-top:hover,.dsc-return-top:focus{
    background:var(--dsc-surface-2);
    color:var(--dsc-heading)!important;
}
@media(max-width:760px){
    .dsc-return-top{right:12px;bottom:12px;width:36px;height:36px}
}


/* ==========================================================
   Phase 11 foundation completion + Meetings/Motions polish — v0.12.10
   ========================================================== */
/* Shared record-detail section headings. Explicit size/line-height prevents
   host-theme heading rules from making Retention/Documents/Relationships
   appear different from one another. */
.dsc-records-workspace h2.dsc-section-heading {
    margin:24px 0 10px !important;
    padding:12px 0 0 !important;
    border-top:1px solid var(--dsc-border) !important;
    color:var(--dsc-heading) !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:1.18rem !important;
    line-height:1.3 !important;
    font-weight:700 !important;
}
.dsc-login-card{max-width:520px}
.dsc-login-card #loginform p{margin:0 0 12px}
.dsc-login-card label{display:block;margin-bottom:4px;font-weight:600}
.dsc-login-card input[type=text],.dsc-login-card input[type=password]{width:100%;max-width:420px;padding:8px 10px;border:1px solid var(--dsc-border-strong);border-radius:6px;background:#fff}
.dsc-login-card .login-remember label{display:inline-flex;align-items:center;gap:6px;font-weight:400}
.dsc-login-card .button-primary{min-height:36px;padding:7px 14px;border:0;border-radius:6px;background:var(--dsc-accent);color:#fff;font-weight:600;cursor:pointer}
/* Hidden by default. JavaScript adds .is-visible only after the user has
   scrolled far enough for a return control to be useful. */
.dsc-return-top{
    right:42px !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(8px);
    pointer-events:none !important;
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.dsc-return-top.is-visible{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0);
    pointer-events:auto !important;
}
.dsc-meetings-workspace form,.dsc-motions-workspace form{font-size:.92rem}
.dsc-meetings-workspace .widefat tbody td,.dsc-motions-workspace .widefat tbody td{font-size:.9rem;line-height:1.42}
@media(max-width:760px){.dsc-return-top{right:20px !important}}

/* Phase 11B: Motions workspace presentation. Keep these rules shared and theme-independent. */
.dsc-motions-workspace .dsc-motion-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px 12px;margin:12px 0 18px}
.dsc-motions-workspace .dsc-motion-filters input[type=search]{min-width:240px}
.dsc-motions-workspace .dsc-motion-filters label{display:inline-flex;align-items:center;gap:6px;margin:0}
.dsc-motions-workspace .dsc-detail-table{width:100%;max-width:1000px;table-layout:fixed}
.dsc-motions-workspace .dsc-detail-table th{width:240px;font-weight:700}
.dsc-motions-workspace .dsc-detail-table td{min-width:0;white-space:normal;overflow-wrap:anywhere}
.dsc-motions-workspace .dsc-section-heading{font-size:1.08rem!important;line-height:1.35!important;font-weight:700!important;margin:24px 0 10px!important;padding:0 0 7px!important;border-bottom:1px solid rgba(84,64,45,.22)!important}
.dsc-motions-workspace h3{font-size:1rem;line-height:1.35;font-weight:700;margin:18px 0 8px}
@media (max-width:760px){.dsc-motions-workspace .dsc-motion-filters{display:block}.dsc-motions-workspace .dsc-motion-filters>*{margin:0 0 9px;max-width:100%}.dsc-motions-workspace .dsc-motion-filters input[type=search],.dsc-motions-workspace .dsc-motion-filters select{width:100%}.dsc-motions-workspace .dsc-detail-table{display:table;overflow-x:visible;white-space:normal}.dsc-motions-workspace .dsc-detail-table th{width:38%}}


/* ==========================================================
   Register filter alignment + newest-ID defaults — v0.12.12
   ========================================================== */
.dsc-motions-workspace .dsc-motion-filters input[type=search],
.dsc-motions-workspace .dsc-motion-filters input[type=date],
.dsc-motions-workspace .dsc-motion-filters select,
.dsc-meetings-workspace form input[type=search],
.dsc-meetings-workspace form input[type=date],
.dsc-meetings-workspace form select {
    box-sizing:border-box;
    height:38px;
    min-height:38px;
    padding:7px 10px;
    line-height:1.2;
}
.dsc-motions-workspace .dsc-motion-filters input[type=search]{
    width:220px;
    min-width:220px;
}
.dsc-motions-workspace .widefat:not(.dsc-detail-table) th:nth-child(2),
.dsc-motions-workspace .widefat:not(.dsc-detail-table) td:nth-child(2),
.dsc-meetings-workspace .widefat th:nth-child(4),
.dsc-meetings-workspace .widefat td:nth-child(4){
    white-space:nowrap;
}
@media (max-width:760px){
    .dsc-motions-workspace .dsc-motion-filters input[type=search]{width:100%;min-width:0}
}

/* Protected Access workspace (v0.12.13)
   Presentation only. Access-control rules remain in class-dsc-access.php. */
.dsc-protected-access-workspace .dsc-protected-record-select{width:min(680px,100%)}
.dsc-protected-access-workspace .dsc-authorized-users{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:7px 16px;max-width:900px}
.dsc-protected-access-workspace .dsc-authorized-users label{display:flex;align-items:flex-start;gap:7px;margin:0}
.dsc-protected-access-workspace .dsc-authorized-users .description{grid-column:1/-1;margin-top:5px}
.dsc-protected-access-workspace .dsc-protected-access-form .submit{display:inline-block;margin:12px 8px 12px 0;padding:0}
@media(max-width:760px){.dsc-protected-access-workspace .dsc-authorized-users{display:block}.dsc-protected-access-workspace .dsc-authorized-users label{margin-bottom:7px}}

/* v0.12.16 — Retention Review workspace
 * Keep queue tabs, filters, review tables, and decision forms within the
 * Fellowship Systems front-end presentation without changing retention logic.
 */
.dsc-retention-review-workspace .nav-tab-wrapper{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:16px 0 12px;
    border-bottom:1px solid var(--dsc-border);
}
.dsc-retention-review-workspace .nav-tab{
    display:inline-block;
    padding:9px 13px;
    margin-bottom:-1px;
    border:1px solid var(--dsc-border);
    border-bottom-color:var(--dsc-border);
    border-radius:5px 5px 0 0;
    background:#f2ece2;
    color:var(--dsc-heading);
    text-decoration:none;
    font-weight:600;
}
.dsc-retention-review-workspace .nav-tab:hover{
    background:#ebe2d4;
    text-decoration:none;
}
.dsc-retention-review-workspace .nav-tab-active{
    background:#fffdf9;
    border-bottom-color:#fffdf9;
    font-weight:700;
}
.dsc-retention-review-workspace .widefat th:nth-child(4),
.dsc-retention-review-workspace .widefat td:nth-child(4){
    white-space:nowrap;
}
.dsc-retention-review-workspace hr{
    border:0;
    border-top:1px solid var(--dsc-border);
}
.dsc-retention-review-workspace h3{
    color:var(--dsc-heading);
    font-family:Georgia,"Times New Roman",serif;
    font-weight:700;
}


/* v0.12.17 — Retention Review action-column polish
 * Keep the primary queue action visually dominant and stack supporting
 * navigation beneath it so labels never wrap awkwardly in narrow tables.
 */
.dsc-retention-review-workspace .dsc-retention-row-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    width:max-content;
    min-width:104px;
}
.dsc-retention-review-workspace .dsc-retention-row-actions .button{
    display:block;
    width:100%;
    margin:0;
    text-align:center;
    white-space:nowrap;
    box-sizing:border-box;
}

/* Phase 11 administration workspace -------------------------------------------------
 * System Health and Audit Log share the front-end application shell while keeping
 * the same capability checks and business/security logic as their wp-admin views.
 */
.dsc-table-scroll{
    width:100%;
    overflow-x:auto;
    margin:10px 0 18px;
}
.dsc-data-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    font-size:.91rem;
}
.dsc-data-table th,
.dsc-data-table td{
    padding:9px 10px;
    border:1px solid var(--dsc-border);
    text-align:left;
    vertical-align:top;
}
.dsc-data-table thead th,
.dsc-health-table th{
    font-weight:700;
    color:var(--dsc-heading);
    background:rgba(117,101,82,.07);
}
.dsc-health-table{
    max-width:900px;
}
.dsc-health-table th:first-child{
    width:260px;
}
.dsc-health-table td:last-child{
    width:120px;
    white-space:nowrap;
}
.dsc-nowrap{
    white-space:nowrap;
}
.dsc-audit-table{
    min-width:980px;
}

/* v0.12.23 — final Phase 11 presentation polish. */
.dsc-retention-review-workspace .dsc-retention-row-actions .button-primary{
    background:var(--dsc-accent)!important;
    border-color:var(--dsc-accent)!important;
    color:#fff!important;
    font-weight:700;
}
.dsc-retention-review-workspace .dsc-retention-row-actions .button-primary:hover,
.dsc-retention-review-workspace .dsc-retention-row-actions .button-primary:focus{
    background:var(--dsc-accent-dark)!important;
    border-color:var(--dsc-accent-dark)!important;
    color:#fff!important;
}
.dsc-retention-review-workspace .dsc-retention-row-actions .dsc-secondary-button{
    background:#f4efe7!important;
    border:1px solid #b8ab99!important;
    color:#4f463a!important;
    font-weight:600;
}
.dsc-retention-review-workspace .dsc-retention-row-actions .dsc-secondary-button:hover,
.dsc-retention-review-workspace .dsc-retention-row-actions .dsc-secondary-button:focus{
    background:#e8e0d3!important;
    color:#3f382f!important;
}
.dsc-audit-time{
    white-space:nowrap;
    width:1%;
}
.dsc-audit-time span{
    display:block;
}
.dsc-audit-clock{
    margin-top:2px;
    color:var(--dsc-muted);
    font-size:.9em;
}
.dsc-system-health-workspace form{
    margin:8px 0 20px;
}
.dsc-system-health-workspace code{
    overflow-wrap:anywhere;
}
@media (max-width:760px){
    .dsc-health-table th:first-child,
    .dsc-health-table td:last-child{
        width:auto;
    }
}

/* v0.12.20 — Configuration workspace ---------------------------------------------
 * Reuse the familiar WordPress tab vocabulary inside DSC's theme-independent shell.
 */
.dsc-configuration-workspace .nav-tab-wrapper{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:16px 0 18px;
    border-bottom:1px solid var(--dsc-border);
}
.dsc-configuration-workspace .nav-tab{
    display:inline-block;
    padding:9px 13px;
    margin-bottom:-1px;
    border:1px solid var(--dsc-border);
    border-radius:5px 5px 0 0;
    background:#f2ece2;
    color:var(--dsc-heading);
    text-decoration:none;
    font-weight:600;
}
.dsc-configuration-workspace .nav-tab:hover{background:#ebe2d4;text-decoration:none}
.dsc-configuration-workspace .nav-tab-active{background:#fffdf9;border-bottom-color:#fffdf9;font-weight:700}
.dsc-configuration-workspace h2:not(.dsc-page-heading h2){
    margin-top:24px;
    color:var(--dsc-heading);
    font-family:Georgia,"Times New Roman",serif;
}


/* ==========================================================
   Pre-1.0 accessibility hardening — v0.12.27
   ========================================================== */
.dsc-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dsc-skip-link{position:fixed;left:16px;top:12px;z-index:10000;padding:10px 14px;border-radius:6px;background:#fff;color:#2f2a24!important;font-weight:700;text-decoration:none;transform:translateY(-180%);transition:transform .12s ease}
.dsc-skip-link:focus{transform:translateY(0);outline:3px solid #2f2a24;outline-offset:2px}
.dsc-shell a:focus-visible,.dsc-shell button:focus-visible,.dsc-shell summary:focus-visible,.dsc-shell input:focus-visible,.dsc-shell select:focus-visible,.dsc-shell textarea:focus-visible{outline:3px solid #2f2a24!important;outline-offset:3px!important}
#dsc-main:focus{outline:none}

/* ==========================================================
   Pre-1.0 presentation polish — v0.12.28
   ========================================================== */

/* DSC owns the application-page vertical rhythm. Some host themes (including
   themes that expose global content-spacing controls) apply a large top margin
   to the outer content area. Remove only that top spacing on DSC application
   pages; ordinary site pages remain under theme control. The DSC shell keeps
   its own deliberate top margin. */
body.dsc-application-page .content-area,
body.dsc-application-page #primary,
body.dsc-application-page .site-main {
    margin-block-start:0 !important;
    padding-block-start:0 !important;
}

/* Two deliberate navigation rows replace browser-dependent wrapping. The
   first row contains the four core registers; the second contains specialized
   operations/help, with Account anchored to the far right. */
.dsc-app-nav{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
}
.dsc-nav-row{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    min-width:0;
}
.dsc-nav-row-primary{
    justify-content:flex-start;
}
.dsc-nav-row-secondary{
    justify-content:flex-start;
}
.dsc-nav-row-secondary .dsc-nav-account{
    margin-left:auto;
}

/* Fully own button interaction states inside DSC. Host themes commonly add
   blue :visited/:focus/:active rules to links styled as buttons; keeping every
   button state explicit prevents those colors from bleeding into the app. */
.dsc-shell .dsc-button,
.dsc-shell .dsc-button:link,
.dsc-shell .dsc-button:visited,
.dsc-shell .dsc-button:focus,
.dsc-shell .dsc-button:focus-visible,
.dsc-shell .dsc-button:active,
.dsc-records-workspace .button-primary,
.dsc-records-workspace .button-primary:link,
.dsc-records-workspace .button-primary:visited,
.dsc-records-workspace .button-primary:focus,
.dsc-records-workspace .button-primary:focus-visible,
.dsc-records-workspace .button-primary:active{
    background:var(--dsc-accent) !important;
    border-color:var(--dsc-accent) !important;
    color:#fff !important;
    text-decoration:none !important;
}
.dsc-shell .dsc-button:hover,
.dsc-records-workspace .button-primary:hover{
    background:var(--dsc-accent-dark) !important;
    border-color:var(--dsc-accent-dark) !important;
    color:#fff !important;
}
.dsc-records-workspace .button:not(.button-primary),
.dsc-records-workspace .button:not(.button-primary):link,
.dsc-records-workspace .button:not(.button-primary):visited,
.dsc-records-workspace .button:not(.button-primary):focus,
.dsc-records-workspace .button:not(.button-primary):focus-visible,
.dsc-records-workspace .button:not(.button-primary):active,
.dsc-records-workspace .button-secondary,
.dsc-records-workspace .button-secondary:link,
.dsc-records-workspace .button-secondary:visited,
.dsc-records-workspace .button-secondary:focus,
.dsc-records-workspace .button-secondary:focus-visible,
.dsc-records-workspace .button-secondary:active{
    background:#e8e0d3 !important;
    border:1px solid #b8ab99 !important;
    color:#4f463a !important;
    text-decoration:none !important;
}
.dsc-records-workspace .button:not(.button-primary):hover,
.dsc-records-workspace .button-secondary:hover{
    background:#dcd1c1 !important;
    color:#3f382f !important;
}
.dsc-login-card .button-primary,
.dsc-login-card .button-primary:visited,
.dsc-login-card .button-primary:focus,
.dsc-login-card .button-primary:active{
    background:var(--dsc-accent) !important;
    border-color:var(--dsc-accent) !important;
    color:#fff !important;
}
.dsc-login-card .button-primary:hover{
    background:var(--dsc-accent-dark) !important;
    border-color:var(--dsc-accent-dark) !important;
    color:#fff !important;
}

@media(max-width:760px){
    .dsc-app-nav{gap:4px}
    .dsc-nav-row{flex-wrap:wrap;gap:5px}
    .dsc-nav-row-secondary .dsc-nav-account{margin-left:0}
}

/*
 * Prevent host themes from adding block-start spacing to the DSC
 * application title. Some themes use margin-block-start on headings,
 * which can create excessive vertical space between the workspace
 * kicker and the plugin title.
 *
 * !important is intentional here so the DSC application shell retains
 * consistent header spacing regardless of the active WordPress theme.
 */
.dsc-app-brand h1 {
    margin-block-start: 0 !important;
}
