:root {
    --scvnp-ink: #16201d;
    --scvnp-muted: #68736f;
    --scvnp-line: #dce4e0;
    --scvnp-soft: #f4f7f5;
    --scvnp-white: #ffffff;
    --scvnp-green: #155e4a;
    --scvnp-green-dark: #0d4637;
    --scvnp-gold: #c49a42;
    --scvnp-danger: #a73b3b;
    --scvnp-warning: #8a5d13;
    --scvnp-shadow: 0 18px 50px rgba(20, 50, 42, .09);
}

.scvnp-portal-page .entry-header,
.scvnp-portal-page .page-header,
.scvnp-portal-page .entry-title,
.scvnp-portal-page .site-header,
.scvnp-portal-page header.site-header,
.scvnp-portal-page .site-footer,
.scvnp-portal-page .comments-area {
    display: none !important;
}

.scvnp-portal-page .site-main,
.scvnp-portal-page .entry-content,
.scvnp-portal-page .content-area,
.scvnp-portal-page main {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.scvnp-app,
.scvnp-auth-shell,
.scvnp-app * {
    box-sizing: border-box;
}

.scvnp-app {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    background: #eef3f0;
    color: var(--scvnp-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.scvnp-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 26px 20px;
    background: linear-gradient(180deg, #103d32 0%, #0b2f27 100%);
    color: #fff;
    z-index: 20;
}

.scvnp-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.scvnp-brand strong,
.scvnp-brand span {
    display: block;
}

.scvnp-brand strong {
    font-size: 15px;
    line-height: 1.2;
}

.scvnp-brand span {
    margin-top: 2px;
    color: rgba(255, 255, 255, .67);
    font-size: 12px;
}

.scvnp-brand-mark {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(135deg, #d0ad5b, #a97a22);
    color: #132c25;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45);
}

.scvnp-nav {
    display: grid;
    gap: 6px;
    margin-top: 38px;
}

.scvnp-nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    border-radius: 10px;
    color: rgba(255, 255, 255, .78);
    text-decoration: none;
    font-size: 14px;
    font-weight: 650;
    transition: .18s ease;
}

.scvnp-nav a:hover,
.scvnp-nav a.active {
    background: rgba(255, 255, 255, .11);
    color: #fff;
}

.scvnp-nav a span {
    width: 22px;
    text-align: center;
    font-size: 17px;
}

.scvnp-sidebar-user {
    margin-top: auto;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 13px;
    background: rgba(255, 255, 255, .06);
}

.scvnp-avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .13);
    font-weight: 800;
}

.scvnp-sidebar-user strong,
.scvnp-sidebar-user span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scvnp-sidebar-user strong { font-size: 12px; }
.scvnp-sidebar-user span { margin-top: 2px; color: rgba(255, 255, 255, .6); font-size: 11px; }
.scvnp-sidebar-user a { color: #fff; text-decoration: none; }

.scvnp-main {
    min-width: 0;
    padding: 42px;
}

.scvnp-mobile-head { display: none; }

.scvnp-hero-card,
.scvnp-panel,
.scvnp-stat-card {
    border: 1px solid rgba(21, 94, 74, .08);
    background: var(--scvnp-white);
    box-shadow: var(--scvnp-shadow);
}

.scvnp-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 30px;
    border-radius: 20px;
    background:
        radial-gradient(circle at 92% 15%, rgba(196,154,66,.18), transparent 26%),
        linear-gradient(135deg, #fff, #f7fbf8);
}

.scvnp-hero-card h1,
.scvnp-panel h2,
.scvnp-auth-card h2 {
    margin: 2px 0 7px;
    color: var(--scvnp-ink);
    line-height: 1.15;
}

.scvnp-hero-card h1 { font-size: clamp(26px, 3vw, 40px); }
.scvnp-hero-card p { margin: 0; color: var(--scvnp-muted); }

.scvnp-eyebrow {
    margin: 0 0 7px !important;
    color: var(--scvnp-green) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.scvnp-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.scvnp-stat-card {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    min-height: 118px;
    padding: 22px;
    border-radius: 16px;
    color: var(--scvnp-ink);
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}

.scvnp-stat-card:hover { transform: translateY(-2px); box-shadow: 0 20px 50px rgba(20, 50, 42, .13); }
.scvnp-stat-card span { max-width: 120px; color: var(--scvnp-muted); font-size: 13px; font-weight: 700; }
.scvnp-stat-card strong { color: var(--scvnp-green); font-size: 34px; line-height: 1; }

.scvnp-panel {
    margin-top: 18px;
    padding: 25px;
    border-radius: 18px;
}

.scvnp-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.scvnp-panel-head h2 { font-size: 23px; }
.scvnp-panel-head p { margin: 0; }
.scvnp-panel-head-wrap { align-items: flex-end; flex-wrap: wrap; }

.scvnp-btn,
#loginform input[type="submit"] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    padding: 10px 17px;
    border: 1px solid var(--scvnp-green);
    border-radius: 10px;
    background: var(--scvnp-green);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: .18s ease;
}

.scvnp-btn:hover,
#loginform input[type="submit"]:hover { background: var(--scvnp-green-dark); color: #fff; transform: translateY(-1px); }
.scvnp-btn:disabled { opacity: .58; cursor: wait; transform: none; }
.scvnp-btn-secondary { border-color: var(--scvnp-line); background: #fff; color: var(--scvnp-ink); }
.scvnp-btn-secondary:hover { border-color: #becbc5; background: #f8faf9; color: var(--scvnp-ink); }
.scvnp-btn-small { min-height: 34px; padding: 7px 11px; border-radius: 8px; font-size: 11px; }
.scvnp-link, .scvnp-link-danger { padding: 0; border: 0; background: transparent; font: inherit; font-size: 12px; font-weight: 800; text-decoration: none; cursor: pointer; }
.scvnp-link { color: var(--scvnp-green); }
.scvnp-link-danger { color: var(--scvnp-danger); }
.scvnp-muted { color: var(--scvnp-muted); font-size: 12px; }

.scvnp-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--scvnp-line);
    border-radius: 13px;
}

.scvnp-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    font-size: 12px;
}

.scvnp-table th,
.scvnp-table td {
    padding: 13px 14px;
    border-bottom: 1px solid var(--scvnp-line);
    text-align: left;
    vertical-align: middle;
}

.scvnp-table th {
    background: #f7faf8;
    color: #4f5f59;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.scvnp-table tr:last-child td { border-bottom: 0; }
.scvnp-table td small { display: block; margin-top: 3px; color: var(--scvnp-muted); }

/* v0.2.02 — Official email addresses are displayed in lowercase everywhere. */
.scvnp-email,
.scvnp-field input[type="email"] {
    text-transform: lowercase !important;
}
.scvnp-empty { padding: 35px !important; color: var(--scvnp-muted); text-align: center !important; }

.scvnp-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #edf1ef;
    color: #53615c;
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

.scvnp-status-draft { background: #eff1f3; color: #5d6671; }
.scvnp-status-vnp_verification, .scvnp-status-pending { background: #fff4d8; color: #805915; }
.scvnp-status-under_vnp_verification { background: #e9f2ff; color: #245b96; }
.scvnp-status-ready_to_audit, .scvnp-status-approved { background: #e6f6ef; color: #176246; }
.scvnp-status-archived, .scvnp-status-rejected { background: #fae9e9; color: #943d3d; }

.scvnp-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.scvnp-filter-row a {
    padding: 7px 10px;
    border-radius: 8px;
    background: #f1f5f3;
    color: #50605a;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
}

.scvnp-filter-row a.active { background: var(--scvnp-green); color: #fff; }

.scvnp-alert {
    margin: 0 0 17px;
    padding: 12px 14px;
    border: 1px solid #d7e2dd;
    border-radius: 10px;
    background: #f5f8f6;
    color: #43524d;
    font-size: 13px;
    font-weight: 650;
}

.scvnp-alert-error { border-color: #edc4c4; background: #fff0f0; color: #8f3636; }
.scvnp-alert-success { border-color: #b8dfcd; background: #ecf8f2; color: #216348; }

.scvnp-record-form { display: grid; gap: 18px; }
.scvnp-form-section {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    border: 1px solid var(--scvnp-line);
    border-radius: 14px;
    overflow: hidden;
}

.scvnp-section-number {
    display: grid;
    place-items: start center;
    padding-top: 20px;
    background: #eff5f2;
    color: var(--scvnp-green);
    font-size: 15px;
    font-weight: 900;
}

.scvnp-section-body { padding: 21px; }
.scvnp-section-body h3 { margin: 0 0 17px; font-size: 17px; }
.scvnp-vnp-section { border-color: #d3c08d; }
.scvnp-vnp-section .scvnp-section-number { background: #f6f0df; color: #7f621e; font-size: 11px; }

.scvnp-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.scvnp-field {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    border: 0;
}

.scvnp-field-full { grid-column: 1 / -1; }
.scvnp-field > span,
.scvnp-field legend { color: #35433e; font-size: 11px; font-weight: 800; }
.scvnp-field b { color: var(--scvnp-danger); }
.scvnp-field small { color: var(--scvnp-muted); font-size: 10px; line-height: 1.45; }

.scvnp-field input[type="text"],
.scvnp-field input[type="email"],
.scvnp-field input[type="password"],
.scvnp-field input[type="date"],
.scvnp-field textarea,
.scvnp-field select,
.scvnp-actions-popover select,
.scvnp-repeat-row input,
#loginform input[type="text"],
#loginform input[type="password"] {
    width: 100%;
    min-height: 43px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #ccd7d2;
    border-radius: 9px;
    background: #fff;
    color: var(--scvnp-ink);
    font: inherit;
    font-size: 13px;
    outline: none;
    box-shadow: none;
}

.scvnp-field textarea { resize: vertical; line-height: 1.55; }
.scvnp-field input:focus,
.scvnp-field textarea:focus,
.scvnp-field select:focus,
.scvnp-repeat-row input:focus,
#loginform input:focus { border-color: var(--scvnp-green); box-shadow: 0 0 0 3px rgba(21, 94, 74, .1); }
.scvnp-field input:disabled,
.scvnp-field textarea:disabled,
.scvnp-field select:disabled,
.scvnp-repeat-row input:disabled { background: #f2f4f3; color: #596660; opacity: 1; }

.scvnp-choice {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    color: #35433e;
    font-size: 12px;
    font-weight: 650;
}

.scvnp-choice input { width: 16px; height: 16px; accent-color: var(--scvnp-green); }
.scvnp-checkbox-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 14px; }

.scvnp-repeat-row {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(250px, 1.2fr) 34px;
    gap: 8px;
    margin-bottom: 8px;
}

.scvnp-repeat-remove {
    min-height: 42px;
    border: 1px solid #e2c1c1;
    border-radius: 9px;
    background: #fff4f4;
    color: var(--scvnp-danger);
    font-size: 20px;
    cursor: pointer;
}

.scvnp-form-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
    padding-top: 3px;
}

.scvnp-admin-record-actions,
.scvnp-report-placeholder {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
    padding: 18px;
    border: 1px dashed #c9d6d0;
    border-radius: 13px;
    background: #fafcfb;
}

.scvnp-admin-record-actions h3,
.scvnp-report-placeholder h3 { margin: 0; font-size: 15px; }
.scvnp-admin-record-actions form { margin: 0; }
.scvnp-report-placeholder p { margin: 5px 0 0; max-width: 720px; color: var(--scvnp-muted); font-size: 12px; }

.scvnp-actions-menu { position: relative; }
.scvnp-actions-menu summary { color: var(--scvnp-green); font-weight: 800; cursor: pointer; list-style: none; }
.scvnp-actions-menu summary::-webkit-details-marker { display: none; }
.scvnp-actions-popover {
    position: absolute;
    right: 0;
    z-index: 10;
    min-width: 245px;
    display: grid;
    gap: 10px;
    padding: 13px;
    border: 1px solid var(--scvnp-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 15px 35px rgba(20, 50, 42, .16);
}
.scvnp-actions-popover form { display: grid; gap: 7px; margin: 0; }

.scvnp-auth-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(300px, .82fr) minmax(600px, 1.18fr);
    background: #f2f6f4;
    color: var(--scvnp-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.scvnp-auth-intro {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 50px;
    background:
        linear-gradient(rgba(8,45,37,.88), rgba(8,45,37,.94)),
        radial-gradient(circle at 20% 20%, rgba(196,154,66,.5), transparent 33%);
    color: #fff;
}

.scvnp-brand-light span { color: rgba(255,255,255,.68); }
.scvnp-auth-intro h1 { max-width: 620px; margin: 10px 0 18px; font-size: clamp(35px, 4.2vw, 62px); line-height: 1.02; letter-spacing: -.035em; }
.scvnp-auth-intro p { max-width: 560px; color: rgba(255,255,255,.73); font-size: 16px; line-height: 1.6; }
.scvnp-auth-intro .scvnp-eyebrow { color: #dec27f !important; }
.scvnp-auth-intro small { color: rgba(255,255,255,.55); }

.scvnp-auth-content { display: grid; place-items: center; padding: 45px; }
.scvnp-auth-grid { width: min(820px, 100%); display: grid; grid-template-columns: .86fr 1.14fr; gap: 18px; }
.scvnp-auth-card { padding: 29px; border: 1px solid var(--scvnp-line); border-radius: 18px; background: #fff; box-shadow: var(--scvnp-shadow); }
.scvnp-auth-card h2 { margin-bottom: 20px; font-size: 25px; }
.scvnp-register-form { display: grid; gap: 14px; }

#loginform { display: grid; gap: 12px; }
#loginform p { margin: 0; }
#loginform label { display: grid; gap: 7px; color: #35433e; font-size: 11px; font-weight: 800; }
#loginform .login-remember label { display: flex; align-items: center; gap: 8px; font-weight: 650; }
#loginform input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--scvnp-green); }
#loginform .login-submit { margin-top: 4px; }
#loginform input[type="submit"] { width: 100%; }

.scvnp-inline-message { padding: 10px 12px; border-radius: 9px; background: #f1f4f2; color: #52615b; font-size: 11px; font-weight: 700; }
.scvnp-inline-message.success { background: #e8f7f0; color: #216348; }
.scvnp-inline-message.error { background: #fff0f0; color: #8f3636; }

@media (max-width: 1180px) {
    .scvnp-main { padding: 28px; }
    .scvnp-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .scvnp-auth-shell { grid-template-columns: 1fr; }
    .scvnp-auth-intro { min-height: auto; gap: 70px; padding: 36px; }
    .scvnp-auth-intro h1 { max-width: 850px; }
    .scvnp-auth-content { padding: 30px; }
}

@media (max-width: 820px) {
    .scvnp-app { display: block; }
    .scvnp-sidebar {
        position: fixed;
        left: -300px;
        width: 280px;
        transition: left .22s ease;
    }
    .scvnp-sidebar.open { left: 0; box-shadow: 15px 0 45px rgba(0,0,0,.2); }
    .scvnp-main { padding: 18px; }
    .scvnp-mobile-head { display: flex; align-items: center; justify-content: space-between; margin: -18px -18px 18px; padding: 14px 18px; background: #103d32; color: #fff; }
    .scvnp-mobile-head button { border: 0; background: transparent; color: #fff; font-size: 24px; }
    .scvnp-hero-card { align-items: flex-start; flex-direction: column; }
    .scvnp-field-grid { grid-template-columns: 1fr; }
    .scvnp-field-full { grid-column: auto; }
    .scvnp-checkbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .scvnp-auth-grid { grid-template-columns: 1fr; }
    .scvnp-auth-content { padding: 20px; }
}

@media (max-width: 560px) {
    .scvnp-stat-grid { grid-template-columns: 1fr; }
    .scvnp-stat-card { min-height: 92px; }
    .scvnp-panel { padding: 16px; border-radius: 14px; }
    .scvnp-form-section { grid-template-columns: 38px minmax(0, 1fr); }
    .scvnp-section-body { padding: 16px; }
    .scvnp-checkbox-grid { grid-template-columns: 1fr; }
    .scvnp-repeat-row { grid-template-columns: 1fr 38px; }
    .scvnp-repeat-row input:first-child { grid-column: 1 / -1; }
    .scvnp-repeat-row input:nth-child(2) { grid-column: 1; }
    .scvnp-repeat-remove { grid-column: 2; }
    .scvnp-auth-intro { padding: 28px 22px; }
    .scvnp-auth-intro h1 { font-size: 35px; }
    .scvnp-auth-card { padding: 21px; }
}

/* v0.1.2 — standalone navy and customs-yellow interface */
:root {
    --scvnp-ink: #0b1730;
    --scvnp-muted: #667085;
    --scvnp-line: #dbe3ee;
    --scvnp-soft: #f3f6fa;
    --scvnp-white: #ffffff;
    --scvnp-green: #0a2342;
    --scvnp-green-dark: #06182e;
    --scvnp-gold: #f2c744;
    --scvnp-danger: #a73b3b;
    --scvnp-warning: #8a5d13;
    --scvnp-shadow: 0 18px 50px rgba(7, 28, 55, .10);
}

html:has(body.scvnp-standalone),
body.scvnp-standalone {
    min-height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: #eef3f8;
}

body.scvnp-standalone #wpadminbar { display: none !important; }
body.scvnp-standalone #scvnp-root { min-height: 100vh; }
body.scvnp-standalone a:focus,
body.scvnp-standalone button:focus,
body.scvnp-standalone input:focus,
body.scvnp-standalone select:focus,
body.scvnp-standalone textarea:focus { outline: none; }

.scvnp-app,
.scvnp-auth-shell,
.scvnp-auth-shell * {
    box-sizing: border-box;
}

.scvnp-app {
    min-height: 100vh;
    background: #eef3f8;
}

.scvnp-sidebar {
    padding: 28px 20px 22px;
    background:
        radial-gradient(circle at 10% 0%, rgba(242, 199, 68, .12), transparent 26%),
        linear-gradient(180deg, #0b2547 0%, #071a32 58%, #051326 100%);
    box-shadow: 12px 0 38px rgba(5, 19, 38, .10);
}

.scvnp-brand-mark {
    border-radius: 11px;
    background: linear-gradient(145deg, #ffdf69, #e2b72d);
    color: #071a32;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 7px 18px rgba(0, 0, 0, .16);
}

.scvnp-brand strong { color: #fff; }
.scvnp-brand span { color: rgba(255, 255, 255, .64); }

.scvnp-nav a {
    position: relative;
    color: rgba(255, 255, 255, .74);
    border: 1px solid transparent;
}

.scvnp-nav a:hover {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .06);
    color: #fff;
}

.scvnp-nav a.active {
    background: linear-gradient(90deg, rgba(242, 199, 68, .20), rgba(242, 199, 68, .07));
    border-color: rgba(242, 199, 68, .23);
    color: #fff;
}

.scvnp-nav a.active::before {
    content: '';
    position: absolute;
    left: -20px;
    top: 8px;
    bottom: 8px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--scvnp-gold);
}

.scvnp-nav a.active span { color: var(--scvnp-gold); }

.scvnp-sidebar-user {
    border-color: rgba(242, 199, 68, .18);
    background: rgba(255, 255, 255, .055);
}

.scvnp-avatar {
    background: rgba(242, 199, 68, .17);
    color: #ffe27a;
}

.scvnp-main {
    min-height: 100vh;
    padding: 36px 40px 50px;
    background:
        radial-gradient(circle at 92% 0%, rgba(242, 199, 68, .11), transparent 19%),
        #eef3f8;
}

.scvnp-hero-card,
.scvnp-panel,
.scvnp-stat-card {
    border-color: rgba(10, 35, 66, .08);
    box-shadow: 0 14px 36px rgba(7, 28, 55, .075);
}

.scvnp-hero-card {
    border-top: 4px solid var(--scvnp-gold);
    background:
        radial-gradient(circle at 92% 15%, rgba(242, 199, 68, .17), transparent 27%),
        linear-gradient(135deg, #fff, #f8fafc);
}

.scvnp-eyebrow { color: #9a7100 !important; }
.scvnp-stat-card strong { color: var(--scvnp-green); }
.scvnp-stat-card:hover { box-shadow: 0 20px 46px rgba(7, 28, 55, .13); }

.scvnp-btn,
#loginform input[type="submit"] {
    border-color: var(--scvnp-green);
    background: var(--scvnp-green);
}

.scvnp-btn:hover,
#loginform input[type="submit"]:hover {
    border-color: var(--scvnp-gold);
    background: var(--scvnp-gold);
    color: #071a32;
}

.scvnp-btn-secondary {
    border-color: #cfd9e5;
    background: #fff;
    color: var(--scvnp-ink);
}

.scvnp-table th { background: #f4f7fb; color: #48556a; }
.scvnp-filter-row a { background: #edf2f7; color: #45546a; }
.scvnp-filter-row a.active { background: var(--scvnp-green); color: #fff; }
.scvnp-section-number { background: #eef3f8; color: var(--scvnp-green); }
.scvnp-vnp-section { border-color: #dfc76e; }
.scvnp-vnp-section .scvnp-section-number { background: #fff8db; color: #7d5e00; }

.scvnp-field input:focus,
.scvnp-field textarea:focus,
.scvnp-field select:focus,
.scvnp-repeat-row input:focus,
#loginform input:focus {
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .18);
}

.scvnp-choice input,
#loginform input[type="checkbox"] { accent-color: var(--scvnp-green); }
.scvnp-link { color: #8a6500; }

/* Compact access portal inspired by the JZ Business Suite login layout. */
.scvnp-auth-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 38px 20px;
    background:
        radial-gradient(circle at 50% 38%, rgba(242, 199, 68, .08), transparent 26%),
        radial-gradient(circle at 8% 8%, rgba(255, 255, 255, .035), transparent 24%),
        linear-gradient(145deg, #050d19 0%, #071a32 50%, #030812 100%);
    color: var(--scvnp-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.scvnp-auth-card-main {
    width: min(610px, 100%);
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(242, 199, 68, .58);
    border-top: 6px solid var(--scvnp-gold);
    border-radius: 22px;
    background: #fffdf5;
    box-shadow: 0 35px 95px rgba(0, 0, 0, .42);
}

.scvnp-auth-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 30px 34px 24px;
    border-bottom: 1px solid #eadfae;
    background:
        radial-gradient(circle at 95% 0%, rgba(242, 199, 68, .21), transparent 32%),
        #fffaf0;
}

.scvnp-auth-brand .scvnp-brand-mark {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border-radius: 15px;
    font-size: 14px;
}

.scvnp-auth-brand h1 {
    margin: 2px 0 3px;
    color: #071a32;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(24px, 4vw, 32px);
    line-height: 1.08;
    letter-spacing: .01em;
}

.scvnp-auth-brand p { margin: 0; color: #6f6240; font-size: 13px; }
.scvnp-auth-brand .scvnp-auth-kicker {
    color: #896500;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.scvnp-auth-card-main > .scvnp-alert { margin: 22px 34px 0; }

.scvnp-auth-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin: 24px 34px 0;
    padding: 5px;
    border: 1px solid #e5dcc0;
    border-radius: 12px;
    background: #f3eddd;
}

.scvnp-auth-tab {
    min-height: 40px;
    padding: 9px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #786b4a;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.scvnp-auth-tab.active {
    background: #071a32;
    color: #ffe16b;
    box-shadow: 0 6px 16px rgba(7, 26, 50, .18);
}

.scvnp-auth-panel { padding: 25px 34px 30px; }
.scvnp-auth-panel[hidden] { display: none !important; }
.scvnp-auth-panel.active { display: block; }
.scvnp-register-form { gap: 14px; }

.scvnp-auth-panel #loginform { gap: 15px; }
.scvnp-auth-panel #loginform label,
.scvnp-auth-panel .scvnp-field > span {
    color: #4c4028;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.scvnp-auth-panel #loginform input[type="text"],
.scvnp-auth-panel #loginform input[type="password"],
.scvnp-auth-panel .scvnp-field input,
.scvnp-auth-panel .scvnp-field select {
    min-height: 48px;
    border-color: #dccd9f;
    border-radius: 10px;
    background: #fff;
}

.scvnp-auth-panel #loginform input[type="submit"],
.scvnp-auth-panel .scvnp-btn {
    width: 100%;
    min-height: 48px;
    border-color: #071a32;
    border-radius: 10px;
    background: #071a32;
    color: #ffe16b;
    font-size: 13px;
}

.scvnp-auth-panel #loginform input[type="submit"]:hover,
.scvnp-auth-panel .scvnp-btn:hover {
    border-color: var(--scvnp-gold);
    background: var(--scvnp-gold);
    color: #071a32;
}

.scvnp-auth-forgot {
    display: inline-block;
    margin-top: 13px;
    color: #7c5b00;
}

.scvnp-auth-note {
    display: block;
    color: #756a50;
    font-size: 10px;
    line-height: 1.55;
    text-align: center;
}

.scvnp-auth-footer {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 16px 34px 18px;
    border-top: 1px solid #eadfae;
    background: #f8f0dd;
    color: #96815a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

@media (max-width: 820px) {
    .scvnp-mobile-head { background: #071a32; }
    .scvnp-sidebar { background: linear-gradient(180deg, #0b2547, #051326); }
}

@media (max-width: 620px) {
    .scvnp-auth-shell { padding: 18px 12px; }
    .scvnp-auth-card-main { border-radius: 16px; }
    .scvnp-auth-brand { align-items: flex-start; padding: 24px 20px 20px; }
    .scvnp-auth-brand .scvnp-brand-mark { width: 46px; height: 46px; flex-basis: 46px; }
    .scvnp-auth-brand h1 { font-size: 24px; }
    .scvnp-auth-tabs { margin: 20px 20px 0; }
    .scvnp-auth-panel { padding: 21px 20px 24px; }
    .scvnp-auth-panel .scvnp-field-grid { grid-template-columns: 1fr; }
    .scvnp-auth-footer { flex-direction: column; padding: 14px 20px 16px; }
}


/* v0.1.5 — balanced dashboard spacing */
.scvnp-main {
    padding: 28px 30px 48px;
}

.scvnp-dashboard {
    width: 100%;
    display: grid;
    gap: 22px;
}

.scvnp-dashboard > .scvnp-hero-card,
.scvnp-dashboard > .scvnp-stat-grid,
.scvnp-dashboard > .scvnp-panel {
    width: 100%;
    margin: 0;
}

.scvnp-dashboard .scvnp-stat-grid {
    gap: 18px;
}

.scvnp-dashboard .scvnp-panel {
    margin-top: 0;
}

@media (max-width: 1180px) {
    .scvnp-main {
        padding: 24px 24px 42px;
    }

    .scvnp-dashboard {
        gap: 18px;
    }
}

@media (max-width: 820px) {
    .scvnp-main {
        padding: 18px 16px 34px;
    }

    .scvnp-dashboard {
        gap: 16px;
    }

    .scvnp-dashboard .scvnp-stat-grid {
        gap: 14px;
    }
}

/* v0.1.6 — JKDM crest branding */
.scvnp-brand-mark {
    overflow: hidden;
    padding: 3px;
    background: #ffffff;
    border: 1px solid rgba(242, 199, 68, .72);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .16);
}

.scvnp-brand-mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.scvnp-sidebar .scvnp-brand-mark,
.scvnp-mobile-head .scvnp-brand-mark {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 14px;
}

.scvnp-auth-brand .scvnp-brand-mark {
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    padding: 5px;
    border-radius: 18px;
}

@media (max-width: 640px) {
    .scvnp-auth-brand .scvnp-brand-mark {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }
}


/* v0.1.7 — force the access card to the true viewport centre. */
body.scvnp-standalone,
body.scvnp-portal-page {
    width: 100% !important;
    max-width: none !important;
    overflow-x: hidden !important;
}

body.scvnp-standalone #scvnp-root,
body.scvnp-portal-page #scvnp-root {
    width: 100vw !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.scvnp-standalone .scvnp-auth-shell,
body.scvnp-portal-page .scvnp-auth-shell {
    position: fixed;
    inset: 0;
    z-index: 999999;
    width: 100vw !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100vh;
    height: 100dvh;
    margin: 0 !important;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

body.scvnp-standalone .scvnp-auth-card-main,
body.scvnp-portal-page .scvnp-auth-card-main {
    flex: 0 1 610px;
    margin: auto !important;
}

@media (max-height: 760px), (max-width: 620px) {
    body.scvnp-standalone .scvnp-auth-shell,
    body.scvnp-portal-page .scvnp-auth-shell {
        align-items: flex-start;
    }
}


/* v0.1.8 — standalone JKDM crest without boxed border */
.scvnp-brand-mark {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.scvnp-brand-mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 6px 12px rgba(7, 26, 50, .10));
}

.scvnp-sidebar .scvnp-brand-mark,
.scvnp-mobile-head .scvnp-brand-mark {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
}

.scvnp-auth-brand .scvnp-brand-mark {
    width: 86px;
    height: 86px;
    flex: 0 0 86px;
}

@media (max-width: 640px) {
    .scvnp-auth-brand .scvnp-brand-mark {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }
}


/* v0.1.9 — personalised sidebar greeting */
.scvnp-sidebar-greeting {
    display: grid;
    gap: 3px;
    margin-top: 24px;
    padding: 15px 14px 14px;
    border-top: 1px solid rgba(242, 199, 68, .22);
}

.scvnp-sidebar-greeting strong {
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
}

.scvnp-sidebar-greeting span {
    color: #f2c744;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .04em;
    line-height: 1.35;
}

.scvnp-sidebar-greeting + .scvnp-nav {
    margin-top: 18px;
}


/* v0.1.10 — simplified auditor submission form */
.scvnp-simple-section .scvnp-section-body {
    padding: 24px 28px 28px;
}

.scvnp-simple-fields {
    display: grid;
    gap: 18px;
}

.scvnp-simple-row {
    display: grid;
    grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
    align-items: center;
    gap: 22px;
    margin: 0;
}

.scvnp-simple-row-top {
    align-items: start;
}

.scvnp-simple-label {
    color: #35445a;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.45;
}

.scvnp-simple-label b {
    color: var(--scvnp-danger);
}

.scvnp-simple-row input,
.scvnp-simple-row textarea,
.scvnp-simple-row select {
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 11px 13px;
    border: 1px solid #ccd7e3;
    border-radius: 9px;
    background: #fff;
    color: var(--scvnp-ink);
    font: inherit;
    font-size: 13px;
    outline: none;
    box-shadow: none;
}

.scvnp-simple-row textarea {
    min-height: 128px;
    resize: vertical;
    line-height: 1.55;
}

.scvnp-simple-row select {
    appearance: auto;
}

.scvnp-simple-row input:focus,
.scvnp-simple-row textarea:focus,
.scvnp-simple-row select:focus {
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .18);
}

.scvnp-simple-row input:disabled,
.scvnp-simple-row textarea:disabled,
.scvnp-simple-row select:disabled {
    background: #f2f4f7;
    color: #596579;
    opacity: 1;
}

@media (max-width: 760px) {
    .scvnp-simple-section .scvnp-section-body {
        padding: 20px;
    }

    .scvnp-simple-row {
        grid-template-columns: 1fr;
        gap: 7px;
    }
}


/* v0.1.12 — Malay business types, separated audit scope and inline JKDM registrations */
.scvnp-audit-scope-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px 24px;
    margin-bottom: 16px;
}

.scvnp-audit-scope-grid .scvnp-choice {
    align-items: flex-start;
    min-height: 42px;
    line-height: 1.35;
}

.scvnp-audit-scope-grid .scvnp-choice input {
    flex: 0 0 16px;
    margin-top: 1px;
}

.scvnp-registration-rows {
    display: grid;
    gap: 9px;
}

.scvnp-registration-inline-row {
    grid-template-columns: minmax(210px, .72fr) minmax(300px, 1.28fr) minmax(180px, auto) 44px;
    align-items: stretch;
    margin: 0;
}

.scvnp-registration-inline-row select,
.scvnp-registration-inline-row input {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #ccd7d2;
    border-radius: 9px;
    background: #fff;
    color: var(--scvnp-ink);
    font: inherit;
    font-size: 13px;
    outline: none;
}

.scvnp-registration-inline-row select:focus,
.scvnp-registration-inline-row input:focus {
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .18);
}

.scvnp-add-registration-inline {
    width: 100%;
    min-height: 44px;
    white-space: nowrap;
}

.scvnp-registration-add-spacer {
    display: block;
}

.scvnp-registration-inline-row .scvnp-repeat-remove {
    min-height: 44px;
}

@media (max-width: 1100px) {
    .scvnp-registration-inline-row {
        grid-template-columns: minmax(180px, .8fr) minmax(240px, 1.2fr) minmax(165px, auto) 42px;
    }
}

@media (max-width: 820px) {
    .scvnp-audit-scope-grid {
        grid-template-columns: 1fr;
    }

    .scvnp-registration-inline-row {
        grid-template-columns: 1fr 44px;
    }

    .scvnp-registration-inline-row select,
    .scvnp-registration-inline-row input,
    .scvnp-registration-inline-row .scvnp-add-registration-inline,
    .scvnp-registration-inline-row .scvnp-registration-add-spacer {
        grid-column: 1;
    }

    .scvnp-registration-inline-row .scvnp-repeat-remove {
        grid-column: 2;
        grid-row: 1 / span 3;
    }
}


/* v0.1.14 — expanded audit scope list in a tighter three-column layout */
.scvnp-audit-scope-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 2px;
    margin: 6px 0 14px;
}

.scvnp-audit-scope-grid .scvnp-choice {
    min-height: 32px;
    padding: 4px 0;
    line-height: 1.25;
}

.scvnp-audit-scope-grid .scvnp-choice input {
    margin-top: 0;
}

@media (max-width: 1180px) {
    .scvnp-audit-scope-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 18px;
    }
}

@media (max-width: 720px) {
    .scvnp-audit-scope-grid {
        grid-template-columns: 1fr;
        row-gap: 0;
    }
}


/* v0.1.15 — uppercase standard for auditor submission fields */
.scvnp-record-form input[name="entity_name"],
.scvnp-record-form textarea[name="registered_address"],
.scvnp-record-form textarea[name="business_activity"],
.scvnp-record-form input[name="ssm_number"],
.scvnp-record-form input[name="other_scope"],
.scvnp-record-form input[name="registration_number[]"] {
    text-transform: uppercase;
}

/* v0.1.16 — conditional LAIN-LAIN registration type detail */
.scvnp-registration-type-group {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.scvnp-registration-other.is-hidden {
    display: none !important;
}

.scvnp-registration-other {
    min-height: 42px !important;
    background: #fffaf0 !important;
    border-color: #dccd9f !important;
}

.scvnp-registration-other::placeholder {
    color: #85775a;
}

.scvnp-registration-inline-row {
    align-items: start;
}

@media (max-width: 820px) {
    .scvnp-registration-type-group {
        grid-column: 1;
    }
}


/* v0.1.17 — conditional Issue Audit details */
.scvnp-issue-audit-details-row.is-disabled {
    opacity: .62;
}

.scvnp-issue-audit-details-row.is-disabled textarea {
    background: #f2f4f7;
    cursor: not-allowed;
}


/* v0.1.19 — independent portal authentication session */
.scvnp-auth-separate-note {
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid #eadfae;
}

/* v0.1.20 — VNP unit-based access assignment */
.scvnp-unit-access-list {
    display: inline-block;
    max-width: 190px;
    color: #33445c;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.45;
}

.scvnp-vnp-unit-selector {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 11px;
    border: 1px solid #d6deea;
    border-radius: 10px;
    background: #f7f9fc;
}

.scvnp-vnp-unit-selector legend {
    padding: 0 4px;
    color: #172947;
    font-size: 11px;
    font-weight: 850;
}

.scvnp-vnp-unit-selector p {
    margin: 0;
    color: #66738a;
    font-size: 10px;
    line-height: 1.4;
}

.scvnp-vnp-unit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.scvnp-vnp-unit-grid label {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 5px 7px;
    border: 1px solid #dde4ed;
    border-radius: 7px;
    background: #fff;
    color: #26364e;
    font-size: 10px;
    font-weight: 750;
}

.scvnp-vnp-unit-grid input {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: #0b2547;
}

.scvnp-actions-popover {
    min-width: 290px;
}


/* v0.1.21 — open user-management layout for large user lists */
.scvnp-user-management-page {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.scvnp-user-management-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 22px;
    padding: 4px 2px 0;
}

.scvnp-user-management-head h2 {
    margin: 2px 0 0;
    color: var(--scvnp-ink);
    font-size: 26px;
    line-height: 1.15;
}

.scvnp-user-management-page > .scvnp-table-wrap {
    overflow-x: auto;
    overflow-y: visible;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(7, 28, 55, .055);
}

.scvnp-user-management-page .scvnp-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

@media (max-width: 820px) {
    .scvnp-user-management-head {
        margin-bottom: 16px;
        padding-inline: 0;
    }

    .scvnp-user-management-head h2 {
        font-size: 23px;
    }
}


/* v0.1.23 — centred premium floating User Management layout */
.scvnp-user-management-page {
    width: calc(100% - 36px);
    max-width: 1480px;
    margin: 0 auto 44px;
    padding: 8px 0 0;
}

.scvnp-user-management-head {
    margin: 0 0 20px;
    padding: 4px 6px 0;
}

.scvnp-user-management-page > .scvnp-table-wrap {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow-x: auto;
    overflow-y: visible;
    border: 1px solid rgba(10, 35, 66, .10);
    border-top: 3px solid var(--scvnp-gold);
    border-radius: 18px;
    background: #fff;
    box-shadow:
        0 18px 48px rgba(7, 28, 55, .11),
        0 3px 10px rgba(7, 28, 55, .045);
}

.scvnp-user-management-page > .scvnp-table-wrap::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 74px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(242, 199, 68, .045), transparent);
}

.scvnp-user-management-page .scvnp-table {
    position: relative;
    min-width: 1120px;
}

.scvnp-user-management-page .scvnp-table th,
.scvnp-user-management-page .scvnp-table td {
    padding-left: 18px;
    padding-right: 18px;
}

.scvnp-user-management-page .scvnp-table thead th {
    top: 0;
    background: #f5f8fc;
}

.scvnp-user-management-page .scvnp-table tbody tr {
    transition: background-color .16s ease;
}

.scvnp-user-management-page .scvnp-table tbody tr:hover {
    background: #fbfcfe;
}

@media (max-width: 1180px) {
    .scvnp-user-management-page {
        width: calc(100% - 24px);
    }
}

@media (max-width: 820px) {
    .scvnp-user-management-page {
        width: 100%;
        margin-bottom: 30px;
        padding-top: 0;
    }

    .scvnp-user-management-head {
        padding-inline: 2px;
    }

    .scvnp-user-management-page > .scvnp-table-wrap {
        border-radius: 14px;
    }
}


/* v0.1.24 — User Management search and filters */
.scvnp-user-filter-bar {
    display: grid;
    grid-template-columns: minmax(280px, 1.6fr) minmax(170px, .7fr) minmax(190px, .8fr) auto;
    align-items: end;
    gap: 14px;
    margin: 0 0 18px;
    padding: 17px 18px;
    border: 1px solid rgba(10, 35, 66, .09);
    border-radius: 16px;
    background: rgba(255, 255, 255, .90);
    box-shadow: 0 10px 28px rgba(7, 28, 55, .065);
    backdrop-filter: blur(8px);
}

.scvnp-user-search-field,
.scvnp-user-filter-field {
    display: grid;
    gap: 7px;
}

.scvnp-user-search-field span,
.scvnp-user-filter-field span {
    color: #42516a;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.scvnp-user-filter-bar input[type="search"],
.scvnp-user-filter-bar select {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 13px;
    border: 1px solid #ced8e4;
    border-radius: 10px;
    background: #fff;
    color: #14233c;
    font: inherit;
    font-size: 13px;
    outline: none;
    box-shadow: none;
}

.scvnp-user-filter-bar input[type="search"]:focus,
.scvnp-user-filter-bar select:focus {
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .16);
}

.scvnp-user-filter-reset {
    min-height: 44px;
    white-space: nowrap;
}

.scvnp-user-filter-count {
    grid-column: 1 / -1;
    margin: -2px 1px 0;
    color: #66748a;
    font-size: 11px;
    font-weight: 700;
}

.scvnp-user-filter-empty td {
    padding: 42px 20px !important;
    color: #68758a;
    text-align: center !important;
    font-weight: 650;
}

@media (max-width: 1080px) {
    .scvnp-user-filter-bar {
        grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(160px, .65fr));
    }

    .scvnp-user-filter-reset {
        grid-column: 1 / -1;
        width: max-content;
    }
}

@media (max-width: 720px) {
    .scvnp-user-filter-bar {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 15px;
    }

    .scvnp-user-filter-reset,
    .scvnp-user-filter-count {
        grid-column: auto;
    }

    .scvnp-user-filter-reset {
        width: 100%;
    }
}


/* v0.1.25 — All Submissions search and role-aware filters */
.scvnp-submission-list-page {
    width: calc(100% - 36px);
    max-width: 1480px;
    margin: 0 auto 44px;
}

.scvnp-submission-list-head {
    margin-bottom: 18px;
}

.scvnp-submission-filter-bar {
    display: grid;
    grid-template-columns: minmax(300px, 1.55fr) minmax(165px, .65fr) minmax(190px, .75fr) auto;
    align-items: end;
    gap: 14px;
    margin: 0 0 18px;
    padding: 17px 18px;
    border: 1px solid rgba(10, 35, 66, .09);
    border-radius: 16px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 10px 28px rgba(7, 28, 55, .065);
    backdrop-filter: blur(8px);
}

.scvnp-submission-filter-bar.no-unit-filter {
    grid-template-columns: minmax(320px, 1.6fr) minmax(190px, .72fr) auto;
}

.scvnp-submission-search-field,
.scvnp-submission-filter-field {
    display: grid;
    gap: 7px;
}

.scvnp-submission-search-field span,
.scvnp-submission-filter-field span {
    color: #42516a;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.scvnp-submission-filter-bar input[type="search"],
.scvnp-submission-filter-bar select {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 13px;
    border: 1px solid #ced8e4;
    border-radius: 10px;
    background: #fff;
    color: #14233c;
    font: inherit;
    font-size: 13px;
    outline: none;
    box-shadow: none;
}

.scvnp-submission-filter-bar input[type="search"]:focus,
.scvnp-submission-filter-bar select:focus {
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .16);
}

.scvnp-submission-filter-reset {
    min-height: 44px;
    white-space: nowrap;
}

.scvnp-submission-filter-count {
    grid-column: 1 / -1;
    margin: -2px 1px 0;
    color: #66748a;
    font-size: 11px;
    font-weight: 700;
}

.scvnp-submission-filter-empty td {
    padding: 42px 20px !important;
    color: #68758a;
    text-align: center !important;
    font-weight: 650;
}

@media (max-width: 1180px) {
    .scvnp-submission-list-page {
        width: calc(100% - 24px);
    }

    .scvnp-submission-filter-bar,
    .scvnp-submission-filter-bar.no-unit-filter {
        grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(165px, .65fr));
    }

    .scvnp-submission-filter-bar.no-unit-filter {
        grid-template-columns: minmax(260px, 1fr) minmax(180px, .7fr) auto;
    }

    .scvnp-submission-filter-reset {
        grid-column: 1 / -1;
        width: max-content;
    }

    .scvnp-submission-filter-bar.no-unit-filter .scvnp-submission-filter-reset {
        grid-column: auto;
    }
}

@media (max-width: 820px) {
    .scvnp-submission-list-page {
        width: 100%;
        margin-bottom: 30px;
    }
}

@media (max-width: 720px) {
    .scvnp-submission-filter-bar,
    .scvnp-submission-filter-bar.no-unit-filter {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 15px;
    }

    .scvnp-submission-filter-reset,
    .scvnp-submission-filter-bar.no-unit-filter .scvnp-submission-filter-reset,
    .scvnp-submission-filter-count {
        grid-column: auto;
    }

    .scvnp-submission-filter-reset {
        width: 100%;
    }
}


/* v0.1.26 — conditional VNP address verification fields */
.scvnp-vnp-section-divider,
.scvnp-vnp-address-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 3px 0 -2px;
    color: #8a6500;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.scvnp-vnp-section-divider::after,
.scvnp-vnp-address-divider::after {
    content: '';
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, rgba(196, 154, 66, .48), rgba(196, 154, 66, .08));
}

.scvnp-vnp-address-details-row.is-disabled {
    opacity: .62;
}

.scvnp-vnp-address-details-row.is-disabled textarea {
    background: #f2f4f7;
    cursor: not-allowed;
}

.scvnp-vnp-address-details-row textarea {
    min-height: 104px;
}


/* v0.1.27 — Date of Incorporation field in Under VNP Verification */
.scvnp-simple-row input[type="date"] {
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid #ccd7e3;
    border-radius: 10px;
    background: #fff;
    color: var(--scvnp-ink);
    font: inherit;
    font-size: 13px;
    outline: none;
    box-shadow: none;
}
.scvnp-simple-row input[type="date"]:focus {
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .18);
}
.scvnp-simple-row input[type="date"]:disabled {
    background: #f2f4f6;
    color: #596660;
    opacity: 1;
}


/* v0.1.28 — compact conditional VNP verification fields */
.scvnp-vnp-address-details-row[hidden] {
    display: none !important;
}

.scvnp-vnp-address-details-row input[type="text"] {
    width: 100%;
}


/* v0.1.29 — consistent divider before VNP-only fields in every numbered section */
.scvnp-vnp-section-divider {
    grid-column: 1 / -1;
}


/* v0.1.30 — full-width VNP VERIFICATION divider in every numbered section */
.scvnp-simple-fields > .scvnp-vnp-section-divider,
.scvnp-vnp-section-divider {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    grid-column: 1 / -1;
    gap: 12px;
}

.scvnp-vnp-section-divider > span {
    flex: 0 0 auto;
    white-space: nowrap;
}

.scvnp-simple-fields > .scvnp-vnp-section-divider::after,
.scvnp-vnp-section-divider::after {
    content: '';
    display: block;
    flex: 1 1 auto;
    min-width: 24px;
    height: 1px;
    background: linear-gradient(90deg, rgba(196, 154, 66, .55), rgba(196, 154, 66, .08));
}


/* v0.1.32 — one Date of Registration for every JKDM registration row */
.scvnp-vnp-registration-dates {
    display: grid;
    gap: 10px;
    width: 100%;
}

.scvnp-vnp-registration-date-row {
    display: grid;
    grid-template-columns: minmax(250px, .9fr) minmax(320px, 1.1fr);
    align-items: end;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid #dde5ee;
    border-radius: 12px;
    background: linear-gradient(135deg, #fbfcfe, #fffdf7);
}

.scvnp-vnp-registration-identity {
    min-width: 0;
    display: grid;
    gap: 5px;
}

.scvnp-vnp-registration-identity strong,
.scvnp-vnp-registration-identity span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scvnp-vnp-registration-type-label {
    color: #765900;
    font-size: 12px;
    letter-spacing: .035em;
}

.scvnp-vnp-registration-number-label {
    color: #526078;
    font-size: 12px;
}

.scvnp-vnp-registration-date-field {
    display: grid;
    gap: 7px;
    margin: 0;
}

.scvnp-vnp-registration-date-field > span {
    color: #35445a;
    font-size: 11px;
    font-weight: 850;
}

.scvnp-vnp-registration-date-field input[type="date"] {
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 10px 13px;
    border: 1px solid #ccd7e3;
    border-radius: 10px;
    background: #fff;
    color: var(--scvnp-ink);
    font: inherit;
    font-size: 13px;
    outline: none;
}

.scvnp-vnp-registration-date-field input[type="date"]:focus {
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .18);
}

.scvnp-vnp-registration-date-field input[type="date"]:disabled {
    background: #f2f4f6;
    color: #596660;
    opacity: 1;
}

@media (max-width: 820px) {
    .scvnp-vnp-registration-date-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}


/* v0.1.33 — standard VNP divider breathing room in non-simple sections */
.scvnp-section-body > .scvnp-vnp-section-divider {
    margin-top: 21px;
    margin-bottom: 16px;
}

@media (max-width: 760px) {
    .scvnp-section-body > .scvnp-vnp-section-divider {
        margin-top: 18px;
        margin-bottom: 14px;
    }
}


/* v0.1.34 — lock File Reference Number after Start Verification */
.scvnp-field input.scvnp-locked-field[readonly] {
    background: #f3f6fa;
    border-color: #d4dce7;
    color: #34445a;
    cursor: not-allowed;
    font-weight: 750;
}

.scvnp-field input.scvnp-locked-field[readonly]:focus {
    border-color: #d4dce7;
    box-shadow: none;
}


/* v0.1.35 — Latest SSM Financial Statement and Revenue Amount */
.scvnp-currency-input {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: stretch;
}

.scvnp-currency-prefix {
    display: grid;
    place-items: center;
    min-width: 58px;
    padding: 0 14px;
    border: 1px solid #ccd7e3;
    border-right: 0;
    border-radius: 10px 0 0 10px;
    background: #f5f8fc;
    color: #765900;
    font-size: 12px;
    font-weight: 900;
}

.scvnp-simple-row .scvnp-currency-input input[type="number"] {
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 10px 13px;
    border: 1px solid #ccd7e3;
    border-radius: 0 10px 10px 0;
    background: #fff;
    color: var(--scvnp-ink);
    font: inherit;
    font-size: 13px;
    outline: none;
    box-shadow: none;
}

.scvnp-simple-row .scvnp-currency-input input[type="number"]:focus {
    position: relative;
    z-index: 1;
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .18);
}

.scvnp-simple-row .scvnp-currency-input input[type="number"]:disabled {
    background: #f2f4f6;
    color: #596660;
    opacity: 1;
}

.scvnp-currency-input:focus-within .scvnp-currency-prefix {
    border-color: #c69b0a;
}


/* v0.1.37 — Activity Log user and date filters */
.scvnp-activity-page {
    width: calc(100% - 36px);
    max-width: 1480px;
    margin: 0 auto 44px;
}

.scvnp-activity-head {
    margin-bottom: 18px;
}

.scvnp-activity-filter-bar {
    display: grid;
    grid-template-columns: minmax(320px, 1.55fr) minmax(190px, .65fr) auto;
    align-items: end;
    gap: 14px;
    margin: 0 0 18px;
    padding: 17px 18px;
    border: 1px solid rgba(10, 35, 66, .09);
    border-radius: 16px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 10px 28px rgba(7, 28, 55, .065);
    backdrop-filter: blur(8px);
}

.scvnp-activity-search-field,
.scvnp-activity-filter-field {
    display: grid;
    gap: 7px;
}

.scvnp-activity-search-field span,
.scvnp-activity-filter-field span {
    color: #42516a;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.scvnp-activity-filter-bar input[type="search"],
.scvnp-activity-filter-bar input[type="date"] {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 13px;
    border: 1px solid #ced8e4;
    border-radius: 10px;
    background: #fff;
    color: #14233c;
    font: inherit;
    font-size: 13px;
    outline: none;
    box-shadow: none;
}

.scvnp-activity-filter-bar input[type="search"]:focus,
.scvnp-activity-filter-bar input[type="date"]:focus {
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .16);
}

.scvnp-activity-filter-reset {
    min-height: 44px;
    white-space: nowrap;
}

.scvnp-activity-filter-count {
    grid-column: 1 / -1;
    margin: -2px 1px 0;
    color: #66748a;
    font-size: 11px;
    font-weight: 700;
}

.scvnp-activity-filter-empty td {
    padding: 42px 20px !important;
    color: #68758a;
    text-align: center !important;
    font-weight: 650;
}

@media (max-width: 920px) {
    .scvnp-activity-page {
        width: calc(100% - 24px);
    }

    .scvnp-activity-filter-bar {
        grid-template-columns: minmax(240px, 1fr) minmax(180px, .7fr);
    }

    .scvnp-activity-filter-reset {
        grid-column: 1 / -1;
        width: max-content;
    }
}

@media (max-width: 620px) {
    .scvnp-activity-page {
        width: 100%;
    }

    .scvnp-activity-filter-bar {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 15px;
    }

    .scvnp-activity-filter-reset,
    .scvnp-activity-filter-count {
        grid-column: auto;
    }

    .scvnp-activity-filter-reset {
        width: 100%;
    }
}


/* v0.1.38 — Business Status and conditional Date of Winding Up */
.scvnp-winding-up-date-row[hidden] {
    display: none !important;
}

.scvnp-winding-up-date-row {
    animation: scvnpWindingUpReveal .16s ease-out;
}

@keyframes scvnpWindingUpReveal {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}


/* v0.1.39 — centred premium dashboard for every portal role */
.scvnp-dashboard {
    width: calc(100% - 36px);
    max-width: 1480px;
    margin: 0 auto 48px;
    padding-top: 4px;
}

.scvnp-dashboard > .scvnp-hero-card,
.scvnp-dashboard > .scvnp-stat-grid,
.scvnp-dashboard > .scvnp-panel {
    width: 100%;
}

.scvnp-dashboard > .scvnp-hero-card,
.scvnp-dashboard > .scvnp-panel {
    border: 1px solid rgba(10, 35, 66, .09);
    box-shadow:
        0 18px 48px rgba(7, 28, 55, .10),
        0 3px 10px rgba(7, 28, 55, .04);
}

.scvnp-dashboard > .scvnp-hero-card {
    border-radius: 20px;
}

.scvnp-dashboard > .scvnp-panel {
    border-radius: 18px;
}

.scvnp-dashboard .scvnp-stat-card {
    border: 1px solid rgba(10, 35, 66, .08);
    box-shadow:
        0 14px 36px rgba(7, 28, 55, .085),
        0 2px 8px rgba(7, 28, 55, .035);
}

@media (max-width: 1180px) {
    .scvnp-dashboard {
        width: calc(100% - 24px);
        margin-bottom: 40px;
    }
}

@media (max-width: 820px) {
    .scvnp-dashboard {
        width: 100%;
        margin-bottom: 30px;
        padding-top: 0;
    }
}


/* v0.1.42 — guaranteed full-width gold line for every VNP VERIFICATION divider */
.scvnp-vnp-section-divider {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-column: 1 / -1 !important;
    gap: 12px !important;
}

.scvnp-vnp-section-divider::after {
    content: none !important;
    display: none !important;
}

.scvnp-vnp-section-divider > span {
    flex: 0 0 auto;
    white-space: nowrap;
}

.scvnp-vnp-divider-line {
    display: block;
    flex: 1 1 0;
    width: auto;
    min-width: 40px;
    height: 1px;
    margin: 0;
    border: 0;
    background: linear-gradient(90deg, rgba(196, 154, 66, .78), rgba(196, 154, 66, .16));
}


/* v0.1.43 — robust VNP divider line and navy RM prefix */
.scvnp-simple-fields > .scvnp-vnp-section-divider,
.scvnp-section-body > .scvnp-vnp-section-divider,
.scvnp-vnp-section-divider {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-column: 1 / -1 !important;
}

.scvnp-vnp-section-divider::after {
    content: none !important;
    display: none !important;
}

.scvnp-vnp-section-divider > span:first-child {
    display: block !important;
    white-space: nowrap !important;
}

.scvnp-vnp-section-divider > .scvnp-vnp-divider-line {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: linear-gradient(90deg, rgba(196,154,66,.82), rgba(196,154,66,.14)) !important;
}

.scvnp-currency-prefix {
    color: #0b2547 !important;
}


/* v0.1.44 — phone-perfect dashboards for every portal role */
@media (max-width: 620px) {
    html,
    body.scvnp-standalone,
    body.scvnp-portal-page {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body.scvnp-standalone #scvnp-root,
    body.scvnp-portal-page #scvnp-root,
    .scvnp-app,
    .scvnp-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .scvnp-main {
        padding: 14px 12px 30px !important;
        overflow-x: hidden !important;
    }

    .scvnp-mobile-head {
        width: auto !important;
        max-width: none !important;
        margin: -14px -12px 14px !important;
        padding: 12px 14px !important;
    }

    .scvnp-dashboard {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto 24px !important;
        padding: 0 !important;
        gap: 12px !important;
    }

    .scvnp-dashboard > .scvnp-hero-card,
    .scvnp-dashboard > .scvnp-stat-grid,
    .scvnp-dashboard > .scvnp-panel {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .scvnp-dashboard .scvnp-hero-card {
        gap: 16px !important;
        padding: 22px 18px !important;
        border-radius: 16px !important;
        overflow: hidden;
    }

    .scvnp-dashboard .scvnp-hero-card > div {
        width: 100%;
        min-width: 0;
    }

    .scvnp-dashboard .scvnp-hero-card h1 {
        max-width: 100%;
        margin-top: 4px;
        font-size: clamp(26px, 8vw, 34px) !important;
        line-height: 1.08;
        overflow-wrap: anywhere;
    }

    .scvnp-dashboard .scvnp-hero-card .scvnp-btn {
        width: 100%;
    }

    .scvnp-dashboard .scvnp-stat-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .scvnp-dashboard .scvnp-stat-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 84px !important;
        align-items: center !important;
        padding: 17px 18px !important;
        border-radius: 15px !important;
        overflow: hidden;
    }

    .scvnp-dashboard .scvnp-stat-card span {
        max-width: calc(100% - 58px) !important;
        font-size: 13px;
        line-height: 1.35;
    }

    .scvnp-dashboard .scvnp-stat-card strong {
        flex: 0 0 auto;
        font-size: 31px;
    }

    .scvnp-dashboard > .scvnp-panel {
        padding: 17px 14px !important;
        border-radius: 16px !important;
        overflow: hidden;
    }

    .scvnp-dashboard .scvnp-panel-head {
        align-items: flex-end;
        gap: 12px;
        margin-bottom: 16px;
    }

    .scvnp-dashboard .scvnp-panel-head > div {
        min-width: 0;
    }

    .scvnp-dashboard .scvnp-panel-head h2 {
        font-size: 23px;
        overflow-wrap: anywhere;
    }

    /* Tables stay inside their card and scroll sideways independently. */
    .scvnp-dashboard .scvnp-table-wrap {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
    }

    .scvnp-dashboard .scvnp-table {
        width: max-content !important;
        min-width: 760px !important;
    }
}

@media (max-width: 390px) {
    .scvnp-main {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .scvnp-mobile-head {
        margin-right: -10px !important;
        margin-left: -10px !important;
    }

    .scvnp-dashboard .scvnp-hero-card {
        padding: 20px 16px !important;
    }

    .scvnp-dashboard > .scvnp-panel {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }
}


/* v0.1.45 — VNP-initiated workflow and post-verification Auditor assignment */
.scvnp-auditor-assignment-card {
    width: 100%;
    margin-top: 22px;
    padding: 24px;
    border: 1px solid rgba(196, 154, 66, .48);
    border-top: 3px solid var(--scvnp-gold);
    border-radius: 16px;
    background: linear-gradient(135deg, #fff, #fffaf0);
    box-shadow: 0 14px 34px rgba(7, 28, 55, .08);
}

.scvnp-auditor-assignment-card h3 {
    margin: 2px 0 6px;
    color: #071a32;
    font-size: 20px;
}

.scvnp-auditor-assignment-card > div > p:last-child {
    margin: 0;
    color: var(--scvnp-muted);
    font-size: 12px;
}

.scvnp-auditor-assignment-form {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.3fr) auto;
    align-items: end;
    gap: 14px;
    margin-top: 20px;
}

.scvnp-assignment-current,
.scvnp-assignment-pending {
    margin: 15px 0 0;
    padding-top: 14px;
    border-top: 1px solid rgba(196, 154, 66, .25);
    color: #4d5c70;
    font-size: 12px;
}

.scvnp-assignment-pending {
    color: #8a6500;
    font-weight: 750;
}

.scvnp-table td small {
    margin-top: 5px;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

@media (max-width: 820px) {
    .scvnp-auditor-assignment-form {
        grid-template-columns: 1fr;
    }

    .scvnp-auditor-assignment-form .scvnp-btn {
        width: 100%;
    }
}


/* v0.1.46 — portal-only password reset requests and notification inbox */
.scvnp-nav a .scvnp-nav-label {
    min-width: 0;
    flex: 1 1 auto;
}

.scvnp-nav-badge {
    min-width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--scvnp-gold);
    color: #071a32;
    font-size: 10px;
    font-weight: 900;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .18);
}

.scvnp-forgot-panel {
    padding-top: 28px;
}

.scvnp-forgot-heading {
    margin-bottom: 20px;
}

.scvnp-forgot-heading h2 {
    margin: 4px 0 8px;
    color: #071a32;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
}

.scvnp-forgot-heading > p:last-child {
    margin: 0;
    color: #6f6240;
    font-size: 13px;
    line-height: 1.55;
}

.scvnp-forgot-form {
    display: grid;
    gap: 16px;
}

.scvnp-forgot-routing {
    display: grid;
    gap: 5px;
    margin-top: 20px;
    padding: 16px 18px;
    border: 1px solid #e6d9aa;
    border-radius: 12px;
    background: #fff8df;
    color: #65583a;
    font-size: 11px;
    line-height: 1.45;
}

.scvnp-forgot-routing strong {
    color: #071a32;
    font-size: 12px;
}

.scvnp-auth-back {
    display: inline-block;
    margin-top: 18px;
}

.scvnp-password-request-page {
    width: calc(100% - 36px);
    max-width: 1480px;
    margin: 0 auto 46px;
}

.scvnp-password-request-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
    padding: 2px 6px 0;
}

.scvnp-password-request-head h2 {
    margin: 2px 0 5px;
    color: var(--scvnp-ink);
    font-size: 28px;
}

.scvnp-password-request-head > div > p:last-child {
    max-width: 760px;
    margin: 0;
    color: var(--scvnp-muted);
    font-size: 12px;
}

.scvnp-password-request-total {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 13px;
    border: 1px solid rgba(196, 154, 66, .38);
    border-radius: 999px;
    background: #fff8df;
    color: #765800;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.scvnp-password-request-card,
.scvnp-password-request-history {
    overflow: visible;
    border: 1px solid rgba(10, 35, 66, .09);
    border-top: 3px solid var(--scvnp-gold);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(7, 28, 55, .10);
}

.scvnp-password-request-card > .scvnp-table-wrap,
.scvnp-password-request-history > .scvnp-table-wrap {
    border: 0;
    border-radius: 15px;
}

.scvnp-password-request-history {
    margin-top: 24px;
    padding-top: 0;
}

.scvnp-password-request-history h3 {
    margin: 0;
    padding: 20px 22px 13px;
    font-size: 17px;
}

.scvnp-password-reset-menu .scvnp-actions-popover {
    min-width: 310px;
}

.scvnp-actions-popover label,
.scvnp-inline-password-reset-form label {
    display: grid;
    gap: 5px;
    color: #4c5668;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

.scvnp-actions-popover input[type="password"],
.scvnp-inline-password-reset-form input[type="password"] {
    width: 100%;
    min-height: 40px;
    padding: 9px 10px;
    border: 1px solid #ccd7e4;
    border-radius: 8px;
    background: #fff;
    color: #071a32;
    font: inherit;
}

@media (max-width: 820px) {
    .scvnp-password-request-page {
        width: 100%;
        margin-bottom: 30px;
    }

    .scvnp-password-request-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding-inline: 2px;
    }

    .scvnp-password-request-card,
    .scvnp-password-request-history {
        border-radius: 14px;
    }
}

@media (max-width: 620px) {
    .scvnp-forgot-heading h2 {
        font-size: 24px;
    }
}

/* v0.1.48 — Urusetia SSM request and secure document workflow */
.scvnp-ssm-page {
    width: calc(100% - 36px);
    max-width: 1480px;
    margin: 0 auto 48px;
}

.scvnp-ssm-page-head {
    margin: 0 0 20px;
    padding: 4px 6px 0;
}

.scvnp-ssm-page-head h2 {
    margin: 2px 0 7px;
    color: #071a32;
    font-size: clamp(25px, 2.5vw, 34px);
}

.scvnp-ssm-page-head > p:last-child {
    margin: 0;
    color: #68758a;
}

.scvnp-ssm-filter-bar {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(210px, .38fr) auto;
    gap: 14px;
    align-items: end;
    margin: 0 0 18px;
    padding: 18px;
    border: 1px solid rgba(10, 35, 66, .09);
    border-radius: 17px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 14px 38px rgba(7, 28, 55, .075);
    backdrop-filter: blur(8px);
}

.scvnp-ssm-filter-field {
    display: grid;
    gap: 7px;
}

.scvnp-ssm-filter-field > span {
    color: #4a576b;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.scvnp-ssm-filter-field input,
.scvnp-ssm-filter-field select {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #cdd8e5;
    border-radius: 10px;
    background: #fff;
    color: #071a32;
    font: inherit;
    font-size: 13px;
    outline: 0;
}

.scvnp-ssm-filter-field input:focus,
.scvnp-ssm-filter-field select:focus {
    border-color: #d3a810;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .18);
}

.scvnp-ssm-filter-reset {
    min-height: 44px;
}

.scvnp-ssm-filter-count {
    grid-column: 1 / -1;
    color: #68758a;
    font-size: 11px;
    font-weight: 700;
}

.scvnp-ssm-table-wrap {
    overflow-x: auto;
    overflow-y: visible;
    border: 1px solid rgba(10, 35, 66, .10);
    border-top: 3px solid var(--scvnp-gold);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(7, 28, 55, .11);
}

.scvnp-ssm-table {
    min-width: 1180px;
}

.scvnp-ssm-table th,
.scvnp-ssm-table td {
    padding: 16px 17px;
    vertical-align: top;
}

.scvnp-ssm-table td:first-child strong,
.scvnp-ssm-record-files strong {
    color: #071a32;
}

.scvnp-ssm-request-form,
.scvnp-ssm-upload-form {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto;
    gap: 8px;
    align-items: center;
    margin: 0 0 9px;
}

.scvnp-ssm-request-form input[type="date"],
.scvnp-ssm-upload-form input[type="file"] {
    width: 100%;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid #ccd7e3;
    border-radius: 8px;
    background: #fff;
    color: #071a32;
    font: inherit;
    font-size: 11px;
}

.scvnp-ssm-upload-form input[type="file"]:disabled {
    background: #f1f4f8;
    color: #8a94a4;
}

.scvnp-ssm-status-not_requested {
    background: #eef1f4;
    color: #616b79;
}

.scvnp-ssm-status-requested {
    background: #fff4d8;
    color: #7f5d00;
}

.scvnp-ssm-status-received {
    background: #e5f6ee;
    color: #126144;
}

.scvnp-ssm-document-details {
    margin-top: 9px;
}

.scvnp-ssm-document-details summary {
    color: #765900;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}

.scvnp-ssm-document-list {
    display: grid;
    gap: 7px;
    margin-top: 9px;
}

.scvnp-ssm-document-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    padding: 8px 9px;
    border: 1px solid #e0e6ee;
    border-radius: 8px;
    background: #f9fbfd;
}

.scvnp-ssm-document-item a {
    min-width: 0;
    overflow: hidden;
    color: #0b315e;
    font-size: 11px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scvnp-ssm-document-item small {
    color: #768195;
    font-size: 9px;
    white-space: nowrap;
}

.scvnp-ssm-document-item form {
    margin: 0;
}

.scvnp-ssm-filter-empty td {
    padding: 34px !important;
    color: #68758a;
    text-align: center !important;
}

/* Read-only SSM documents shown inside Business Registration. */
.scvnp-ssm-record-panel {
    margin: 6px 0 2px 216px;
    padding: 15px 16px;
    border: 1px solid #d8e1ec;
    border-left: 4px solid #0b315e;
    border-radius: 12px;
    background: linear-gradient(135deg, #f8fbff, #fffdf6);
}

.scvnp-ssm-record-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.scvnp-ssm-record-head > div > strong,
.scvnp-ssm-record-head > div > span {
    display: block;
}

.scvnp-ssm-record-head > div > strong {
    color: #071a32;
    font-size: 12px;
}

.scvnp-ssm-record-head > div > span {
    margin-top: 3px;
    color: #6d788b;
    font-size: 10px;
}

.scvnp-ssm-record-files {
    display: grid;
    gap: 8px;
}

.scvnp-ssm-record-files a {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 10px 11px;
    border: 1px solid #dbe3ed;
    border-radius: 9px;
    background: #fff;
    color: #071a32;
    text-decoration: none;
    transition: border-color .16s ease, transform .16s ease;
}

.scvnp-ssm-record-files a:hover {
    border-color: #d1a610;
    transform: translateY(-1px);
}

.scvnp-ssm-file-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #0b315e;
    color: #ffe16b;
    font-size: 9px;
    font-weight: 900;
}

.scvnp-ssm-record-files a > span:last-child strong,
.scvnp-ssm-record-files a > span:last-child small {
    display: block;
}

.scvnp-ssm-record-files a > span:last-child small {
    margin-top: 3px;
    color: #718095;
    font-size: 9px;
}

@media (max-width: 1180px) {
    .scvnp-ssm-page {
        width: calc(100% - 24px);
    }

    .scvnp-ssm-filter-bar {
        grid-template-columns: 1fr 240px auto;
    }
}

@media (max-width: 820px) {
    .scvnp-ssm-page {
        width: 100%;
        margin-bottom: 32px;
    }

    .scvnp-ssm-filter-bar {
        grid-template-columns: 1fr;
        padding: 14px;
        border-radius: 14px;
    }

    .scvnp-ssm-filter-reset,
    .scvnp-ssm-filter-count {
        width: 100%;
        grid-column: auto;
    }

    .scvnp-ssm-table-wrap {
        border-radius: 14px;
    }

    .scvnp-ssm-record-panel {
        margin-left: 0;
    }
}


/* v0.1.50 — Ready for Audit locking and top-positioned Auditor assignment */
.scvnp-auditor-assignment-card-top {
    margin-top: 4px;
    margin-bottom: 24px;
}

.scvnp-auditor-assignment-card-top + .scvnp-record-form {
    margin-top: 0;
}

@media (max-width: 820px) {
    .scvnp-auditor-assignment-card-top {
        margin-bottom: 18px;
        padding: 19px 16px;
    }
}


/* v0.1.54 — premium yellow/gold gradient for Urusetia SSM dashboard summary */
.scvnp-dashboard-ssm-panel .scvnp-stat-grid-ssm {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scvnp-dashboard-ssm-panel .scvnp-ssm-summary-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(201, 151, 20, .28);
    color: #071a32;
    box-shadow:
        0 13px 30px rgba(112, 78, 0, .10),
        inset 0 1px 0 rgba(255, 255, 255, .75);
}

.scvnp-dashboard-ssm-panel .scvnp-ssm-summary-card::after {
    content: '';
    position: absolute;
    width: 150px;
    height: 150px;
    right: -64px;
    top: -82px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .34);
    pointer-events: none;
}

.scvnp-dashboard-ssm-panel .scvnp-ssm-summary-not-requested {
    background: linear-gradient(135deg, #fffef8 0%, #fff7d8 58%, #f8df8b 135%);
}

.scvnp-dashboard-ssm-panel .scvnp-ssm-summary-progress {
    background: linear-gradient(135deg, #fffdf2 0%, #ffeaa4 62%, #eab82f 140%);
}

.scvnp-dashboard-ssm-panel .scvnp-ssm-summary-completed {
    background: linear-gradient(135deg, #fff9df 0%, #f8d866 62%, #c99208 145%);
}

.scvnp-dashboard-ssm-panel .scvnp-ssm-summary-card span {
    position: relative;
    z-index: 1;
    color: #34445e;
}

.scvnp-dashboard-ssm-panel .scvnp-ssm-summary-card strong {
    position: relative;
    z-index: 1;
    color: #071a32;
}

.scvnp-dashboard-ssm-panel .scvnp-ssm-summary-card:hover {
    transform: translateY(-3px);
    box-shadow:
        0 18px 38px rgba(112, 78, 0, .16),
        inset 0 1px 0 rgba(255, 255, 255, .82);
}

@media (max-width: 820px) {
    .scvnp-dashboard-ssm-panel .scvnp-stat-grid-ssm {
        grid-template-columns: 1fr;
    }
}


/* v0.1.55 — premium blue gradient dashboard status cards for every role */
.scvnp-dashboard > .scvnp-stat-grid .scvnp-dashboard-status-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(28, 82, 135, .18);
    box-shadow:
        0 14px 32px rgba(7, 38, 75, .12),
        inset 0 1px 0 rgba(255, 255, 255, .72);
}

.scvnp-dashboard > .scvnp-stat-grid .scvnp-dashboard-status-card::before,
.scvnp-dashboard > .scvnp-stat-grid .scvnp-dashboard-status-card::after {
    content: '';
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
}

.scvnp-dashboard > .scvnp-stat-grid .scvnp-dashboard-status-card::before {
    width: 168px;
    height: 168px;
    right: -72px;
    top: -95px;
    background: rgba(255, 255, 255, .28);
}

.scvnp-dashboard > .scvnp-stat-grid .scvnp-dashboard-status-card::after {
    width: 100px;
    height: 100px;
    left: -58px;
    bottom: -62px;
    background: rgba(255, 255, 255, .13);
}

.scvnp-dashboard-status-draft {
    background: linear-gradient(135deg, #f8fcff 0%, #d9efff 58%, #9dcef0 140%);
}

.scvnp-dashboard-status-vnp_verification {
    background: linear-gradient(135deg, #eef8ff 0%, #b8ddf7 58%, #5b9ed0 140%);
}

.scvnp-dashboard-status-under_vnp_verification {
    background: linear-gradient(135deg, #dceeff 0%, #78acd8 56%, #174d83 135%);
}

.scvnp-dashboard-status-ready_to_audit {
    background: linear-gradient(135deg, #d8ebff 0%, #4d89bd 57%, #082c56 135%);
}

.scvnp-dashboard > .scvnp-stat-grid .scvnp-dashboard-status-card span,
.scvnp-dashboard > .scvnp-stat-grid .scvnp-dashboard-status-card strong {
    position: relative;
    z-index: 1;
}

.scvnp-dashboard-status-draft span,
.scvnp-dashboard-status-vnp_verification span {
    color: #23496e !important;
}

.scvnp-dashboard-status-draft strong,
.scvnp-dashboard-status-vnp_verification strong {
    color: #071f3d !important;
}

.scvnp-dashboard-status-under_vnp_verification span,
.scvnp-dashboard-status-ready_to_audit span {
    color: rgba(255, 255, 255, .92) !important;
    text-shadow: 0 1px 2px rgba(2, 24, 48, .20);
}

.scvnp-dashboard-status-under_vnp_verification strong,
.scvnp-dashboard-status-ready_to_audit strong {
    color: #ffffff !important;
    text-shadow: 0 2px 5px rgba(2, 24, 48, .28);
}

.scvnp-dashboard > .scvnp-stat-grid .scvnp-dashboard-status-card:hover {
    transform: translateY(-3px);
    box-shadow:
        0 20px 42px rgba(7, 38, 75, .20),
        inset 0 1px 0 rgba(255, 255, 255, .82);
}

@media (max-width: 620px) {
    .scvnp-dashboard > .scvnp-stat-grid .scvnp-dashboard-status-card::before {
        width: 132px;
        height: 132px;
        right: -54px;
        top: -78px;
    }
}


/* v0.1.56 — consistent dark navy text on all blue dashboard cards */
.scvnp-dashboard-status-draft span,
.scvnp-dashboard-status-vnp_verification span,
.scvnp-dashboard-status-under_vnp_verification span,
.scvnp-dashboard-status-ready_to_audit span {
    color: #23496e !important;
    text-shadow: none !important;
}

.scvnp-dashboard-status-draft strong,
.scvnp-dashboard-status-vnp_verification strong,
.scvnp-dashboard-status-under_vnp_verification strong,
.scvnp-dashboard-status-ready_to_audit strong {
    color: #071f3d !important;
    text-shadow: none !important;
}


/* v0.1.57 — dedicated compact File Initiative column for submission tables */
.scvnp-file-initiative-head,
.scvnp-file-initiative-cell {
    width: 92px;
    min-width: 92px;
    text-align: center !important;
}

.scvnp-file-initiative-badge {
    display: inline-grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid rgba(7, 26, 50, .12);
    border-radius: 9px;
    color: #071a32;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
}

.scvnp-file-initiative-auditor {
    background: linear-gradient(145deg, #eef5ff, #d8e8fb);
}

.scvnp-file-initiative-vnp {
    background: linear-gradient(145deg, #fff7d7, #f2cf58);
    border-color: rgba(196, 154, 66, .34);
}

/* v0.1.61 — compact one-line JKDM registration rows with inline date */
.scvnp-registration-rows-inline-date {
    gap: 11px;
}

.scvnp-registration-complete-row {
    display: grid;
    grid-template-columns:
        minmax(230px, .9fr)
        minmax(280px, 1.15fr)
        minmax(210px, .8fr)
        minmax(175px, auto)
        46px;
    align-items: end;
    gap: 10px;
}

.scvnp-registration-complete-row .scvnp-registration-type-group {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.scvnp-registration-other-inline {
    width: 100%;
    min-height: 44px;
    text-transform: uppercase;
    background: #fffaf0 !important;
    border-color: #dccd9f !important;
}

.scvnp-registration-other-inline.is-hidden {
    display: none !important;
}

.scvnp-registration-date-inline {
    display: grid;
    gap: 6px;
    min-width: 0;
    margin: 0;
}

.scvnp-registration-date-inline > span {
    color: #35445a;
    font-size: 11px;
    font-weight: 850;
}

.scvnp-registration-date-inline input[type="date"] {
    width: 100%;
    min-height: 44px;
}

.scvnp-registration-complete-row .scvnp-add-registration-inline,
.scvnp-registration-complete-row .scvnp-repeat-remove {
    min-height: 44px;
}

@media (max-width: 1250px) {
    .scvnp-registration-complete-row {
        grid-template-columns:
            minmax(190px, .85fr)
            minmax(235px, 1.05fr)
            minmax(190px, .78fr)
            minmax(160px, auto)
            44px;
    }
}

@media (max-width: 900px) {
    .scvnp-registration-complete-row {
        grid-template-columns: minmax(0, 1fr) 44px;
        align-items: stretch;
    }

    .scvnp-registration-complete-row .scvnp-registration-type-group,
    .scvnp-registration-complete-row > input[name="registration_number[]"],
    .scvnp-registration-complete-row .scvnp-registration-date-inline,
    .scvnp-registration-complete-row .scvnp-add-registration-inline,
    .scvnp-registration-complete-row .scvnp-registration-add-spacer {
        grid-column: 1;
    }

    .scvnp-registration-complete-row .scvnp-repeat-remove {
        grid-column: 2;
        grid-row: 1 / span 4;
    }
}


/* v0.1.62 — compact SSM workflow status below SSM number in every submission table */
.scvnp-ssm-inline-status {
    margin-top: 5px !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .045em;
    line-height: 1.25;
    text-transform: uppercase;
}

.scvnp-ssm-inline-status-no_ssm {
    color: #7b8798 !important;
}

.scvnp-ssm-inline-status-requested {
    color: #9a6c00 !important;
}

.scvnp-ssm-inline-status-uploaded {
    color: #087055 !important;
}


/* v0.1.64 — use one neutral grey tone for all compact SSM table statuses */
.scvnp-ssm-inline-status-no_ssm,
.scvnp-ssm-inline-status-requested,
.scvnp-ssm-inline-status-uploaded {
    color: #7b8798 !important;
}


/* v0.1.65 — VERIPRO SST-02 declaration analysis */
.scvnp-veripro-section .scvnp-section-body {
    min-width: 0;
}

.scvnp-veripro-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 22px;
}

.scvnp-veripro-block {
    margin-top: 24px;
    padding: 20px;
    border: 1px solid var(--scvnp-border);
    border-radius: 16px;
    background: linear-gradient(135deg, #fff 0%, #fbfcff 100%);
}

.scvnp-veripro-block-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.scvnp-veripro-block-head h4 {
    margin: 0 0 4px;
    color: var(--scvnp-navy);
    font-size: 14px;
    letter-spacing: .04em;
}

.scvnp-veripro-block-head p {
    margin: 0;
    color: var(--scvnp-muted);
    font-size: 12px;
}

.scvnp-veripro-code-rows {
    display: grid;
    gap: 10px;
}

.scvnp-veripro-code-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 96px 48px;
    gap: 10px;
    align-items: stretch;
    padding: 4px;
    border: 1px solid transparent;
    border-radius: 10px;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.scvnp-veripro-code-row.is-focus {
    border-color: rgba(213, 163, 0, .55);
    background: linear-gradient(90deg, rgba(255, 248, 211, .95), rgba(255, 255, 255, .98));
    box-shadow: 0 5px 14px rgba(130, 96, 0, .08);
}

.scvnp-revenue-focus-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 0 10px;
    border: 1px solid var(--scvnp-border);
    border-radius: 9px;
    background: #fff;
    color: var(--scvnp-navy);
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.scvnp-revenue-focus-toggle input {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: #d6a900;
}

.scvnp-revenue-focus-alert {
    margin-top: 10px;
    padding: 10px 12px;
    border-left: 3px solid #d6a900;
    border-radius: 8px;
    background: #fff8da;
    color: var(--scvnp-navy);
    font-size: 11px;
    line-height: 1.5;
}

.scvnp-veripro-year-scroll {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--scvnp-border);
    border-radius: 14px;
    background: #fff;
}

.scvnp-veripro-year-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.scvnp-veripro-year-table th,
.scvnp-veripro-year-table td {
    min-width: 160px;
    padding: 10px;
    border-right: 1px solid var(--scvnp-border);
    border-bottom: 1px solid var(--scvnp-border);
    text-align: center;
    vertical-align: middle;
}

.scvnp-veripro-year-table th:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 260px;
    max-width: 260px;
    background: #e7e2f2;
    color: var(--scvnp-navy);
    text-align: center;
    font-weight: 800;
}

.scvnp-veripro-year-table thead th {
    background: #f6f8fb;
}

.scvnp-veripro-year-table tr:last-child th,
.scvnp-veripro-year-table tr:last-child td {
    border-bottom: 0;
}

.scvnp-veripro-year-table th:last-child,
.scvnp-veripro-year-table td:last-child {
    border-right: 0;
}

.scvnp-veripro-year-table input {
    width: 100%;
    min-width: 120px;
    text-align: center;
}

.scvnp-veripro-year-column {
    position: relative;
    padding-right: 36px !important;
}

.scvnp-veripro-remove-year {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 26px;
    height: 26px;
    padding: 0;
    transform: translateY(-50%);
    border: 1px solid #efbcbc;
    border-radius: 8px;
    background: #fff4f4;
    color: #b42318;
    cursor: pointer;
}

@media (max-width: 1100px) {
    .scvnp-veripro-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .scvnp-veripro-summary-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .scvnp-veripro-block {
        padding: 14px;
    }

    .scvnp-veripro-block-head {
        flex-direction: column;
    }

    .scvnp-veripro-code-row {
        grid-template-columns: minmax(0, 1fr) 84px 44px;
    }

    .scvnp-veripro-year-table th:first-child {
        min-width: 210px;
        max-width: 210px;
    }
}

/* v0.1.66 — VERIPRO text-PDF import and browser auto-fill */
.scvnp-veripro-pdf-import {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px 24px;
    align-items: center;
    margin: 0 0 24px;
    padding: 18px 20px;
    border: 1px solid rgba(10, 35, 66, .12);
    border-left: 4px solid var(--scvnp-gold);
    border-radius: 14px;
    background: linear-gradient(135deg, #f8fbff 0%, #fffaf0 100%);
    box-shadow: 0 10px 28px rgba(7, 28, 55, .06);
}

.scvnp-veripro-pdf-copy {
    display: flex;
    gap: 14px;
    align-items: center;
    min-width: 0;
}

.scvnp-veripro-pdf-copy h4,
.scvnp-veripro-pdf-copy p {
    margin: 0;
}

.scvnp-veripro-pdf-copy h4 {
    color: var(--scvnp-navy);
    font-size: 15px;
    font-weight: 800;
}

.scvnp-veripro-pdf-copy p {
    margin-top: 4px;
    color: var(--scvnp-muted);
    font-size: 12px;
    line-height: 1.55;
}

.scvnp-veripro-pdf-icon {
    display: inline-grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border-radius: 12px;
    background: var(--scvnp-navy);
    color: var(--scvnp-gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
}

.scvnp-veripro-pdf-actions {
    display: flex;
    gap: 10px;
    align-items: stretch;
    justify-content: flex-end;
}

.scvnp-veripro-pdf-file {
    position: relative;
    display: inline-flex;
    min-width: 190px;
    align-items: center;
    justify-content: center;
    padding: 11px 16px;
    overflow: hidden;
    border: 1px solid var(--scvnp-border);
    border-radius: 10px;
    background: #fff;
    color: var(--scvnp-navy);
    cursor: pointer;
    font-weight: 700;
}

.scvnp-veripro-pdf-file input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.scvnp-veripro-pdf-status {
    grid-column: 1 / -1;
    min-height: 20px;
    padding-top: 12px;
    border-top: 1px solid rgba(10, 35, 66, .08);
    color: var(--scvnp-muted);
    font-size: 12px;
    line-height: 1.5;
}

.scvnp-veripro-pdf-status.is-working {
    color: #7a5a00;
}

.scvnp-veripro-pdf-status.is-success {
    color: #087443;
    font-weight: 700;
}

.scvnp-veripro-pdf-status.is-error {
    color: #b42318;
    font-weight: 700;
}

@media (max-width: 900px) {
    .scvnp-veripro-pdf-import {
        grid-template-columns: 1fr;
    }

    .scvnp-veripro-pdf-actions {
        justify-content: stretch;
    }

    .scvnp-veripro-pdf-actions > * {
        flex: 1 1 0;
    }
}

@media (max-width: 640px) {
    .scvnp-veripro-pdf-import {
        padding: 14px;
    }

    .scvnp-veripro-pdf-copy {
        align-items: flex-start;
    }

    .scvnp-veripro-pdf-actions {
        flex-direction: column;
    }

    .scvnp-veripro-pdf-file,
    .scvnp-veripro-pdf-actions .scvnp-btn {
        width: 100%;
    }
}


/* v0.1.67 — reliable VERIPRO file selection feedback */
.scvnp-veripro-pdf-file #scvnp-veripro-pdf-label {
    display: block;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#scvnp-veripro-pdf-read:disabled {
    cursor: not-allowed;
    opacity: .48;
}


/* v0.1.70 — consistent RM formatting with thousands separators */
.scvnp-currency-input input.scvnp-money-input {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    padding: 10px 13px;
    border: 1px solid #ccd7e3;
    border-radius: 0 10px 10px 0;
    background: #fff;
    color: var(--scvnp-ink);
    font: inherit;
    font-size: 13px;
    outline: none;
    box-shadow: none;
}

.scvnp-currency-input input.scvnp-money-input:focus {
    position: relative;
    z-index: 1;
    border-color: #c69b0a;
    box-shadow: 0 0 0 3px rgba(242, 199, 68, .18);
}

.scvnp-currency-input input.scvnp-money-input:disabled {
    background: #f2f4f6;
    color: #596660;
    opacity: 1;
}

.scvnp-veripro-year-currency {
    min-width: 180px;
}

.scvnp-veripro-year-currency .scvnp-currency-prefix {
    min-width: 42px;
    padding-inline: 8px;
    border-radius: 8px 0 0 8px;
    color: var(--scvnp-navy);
}

.scvnp-veripro-year-currency input.scvnp-money-input {
    min-width: 132px;
    min-height: 40px;
    padding: 8px 9px;
    border-radius: 0 8px 8px 0;
    text-align: right;
}


/* v0.1.74 — one shared VNP phase divider before Box 5 and all later VNP sections */
.scvnp-vnp-phase-divider {
    padding: 2px 22px 0 74px;
}

.scvnp-vnp-phase-divider .scvnp-vnp-section-divider {
    margin: 0 !important;
}

@media (max-width: 560px) {
    .scvnp-vnp-phase-divider {
        padding: 2px 16px 0 54px;
    }
}


/* v0.1.75 — compact VERIPRO importer in the Box 6 header */
.scvnp-veripro-section-head {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 22px;
}

.scvnp-veripro-section-head > h3 {
    margin: 0;
    padding-top: 7px;
}

.scvnp-veripro-pdf-import.scvnp-veripro-pdf-import-compact {
    position: relative;
    display: inline-flex;
    width: auto;
    max-width: min(100%, 520px);
    min-height: 42px;
    gap: 8px;
    align-items: center;
    margin: 0;
    padding: 5px 6px 5px 8px;
    border: 1px solid rgba(10, 35, 66, .10);
    border-left: 3px solid var(--scvnp-gold);
    border-radius: 11px;
    background: linear-gradient(135deg, #f9fbfe 0%, #fff9ea 100%);
    box-shadow: 0 5px 16px rgba(7, 28, 55, .05);
}

.scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-icon {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 8px;
    font-size: 9px;
}

.scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-actions {
    gap: 7px;
    align-items: center;
}

.scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-file {
    min-width: 118px;
    max-width: 210px;
    min-height: 32px;
    padding: 7px 11px;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.15;
}

.scvnp-veripro-pdf-import-compact .scvnp-btn {
    min-height: 32px;
    padding: 7px 11px;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.15;
    white-space: nowrap;
}

.scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-status {
    position: absolute;
    top: calc(100% + 5px);
    right: 0;
    z-index: 3;
    display: none;
    width: max-content;
    max-width: min(520px, 75vw);
    min-height: 0;
    padding: 6px 9px;
    border: 1px solid rgba(10, 35, 66, .10);
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(7, 28, 55, .09);
    font-size: 10px;
    line-height: 1.35;
}

.scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-status.is-working,
.scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-status.is-success,
.scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-status.is-error {
    display: block;
}

@media (max-width: 900px) {
    .scvnp-veripro-section-head {
        align-items: stretch;
    }

    .scvnp-veripro-pdf-import.scvnp-veripro-pdf-import-compact {
        display: inline-flex;
        grid-template-columns: none;
    }
}

@media (max-width: 720px) {
    .scvnp-veripro-section-head {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 18px;
    }

    .scvnp-veripro-section-head > h3 {
        padding-top: 0;
    }

    .scvnp-veripro-pdf-import.scvnp-veripro-pdf-import-compact {
        width: 100%;
        max-width: none;
    }

    .scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-actions {
        flex: 1 1 auto;
        flex-direction: row;
    }

    .scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-file,
    .scvnp-veripro-pdf-import-compact .scvnp-veripro-pdf-actions .scvnp-btn {
        width: auto;
        flex: 1 1 0;
    }
}


/* v0.1.77 — VNP Business Activity field */
.scvnp-record-form textarea[name="business_activity"] {
    min-height: 92px;
    resize: vertical;
}


/* v0.1.78 — Box 7 Targeting Criteria and Indicators */
.scvnp-targeting-section .scvnp-section-body > h3 {
    margin-bottom: 22px;
}

.scvnp-targeting-block {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid var(--scvnp-border);
    border-radius: 16px;
    background: linear-gradient(135deg, #fff 0%, #fbfcff 100%);
}

.scvnp-targeting-block + .scvnp-targeting-block {
    margin-top: 18px;
}

.scvnp-targeting-block-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.scvnp-targeting-block-head h4 {
    margin: 0 0 4px;
    color: var(--scvnp-navy);
    font-size: 14px;
    letter-spacing: .04em;
}

.scvnp-targeting-block-head p {
    margin: 0;
    color: var(--scvnp-muted);
    font-size: 12px;
}

.scvnp-targeting-rows {
    display: grid;
    gap: 10px;
}

.scvnp-targeting-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px 48px;
    gap: 10px;
    align-items: stretch;
}

.scvnp-targeting-row textarea {
    min-height: 58px;
    resize: vertical;
}

.scvnp-targeting-row .scvnp-targeting-add,
.scvnp-targeting-row .scvnp-repeat-remove {
    min-height: 58px;
}

.scvnp-targeting-action-spacer {
    display: block;
    width: 100%;
}

@media (max-width: 760px) {
    .scvnp-targeting-block {
        padding: 15px;
    }

    .scvnp-targeting-row {
        grid-template-columns: minmax(0, 1fr) 44px;
    }

    .scvnp-targeting-row .scvnp-targeting-add {
        grid-column: 1 / -1;
        grid-row: 2;
        min-height: 44px;
    }

    .scvnp-targeting-row .scvnp-targeting-action-spacer {
        display: none;
    }

    .scvnp-targeting-row .scvnp-repeat-remove {
        grid-column: 2;
        grid-row: 1;
        min-height: 58px;
    }
}


/* v0.1.79 — SST-02 auto-generated issue / indicator */
.scvnp-auto-indicator-builder {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 10px 12px;
    align-items: end;
    margin: 2px 0 14px;
    padding: 14px;
    border: 1px solid rgba(13, 45, 82, .12);
    border-left: 3px solid var(--scvnp-gold);
    border-radius: 12px;
    background: linear-gradient(100deg, rgba(247, 249, 252, .96), rgba(255, 249, 227, .72));
}
.scvnp-auto-indicator-select {
    display: grid;
    gap: 7px;
}
.scvnp-auto-indicator-select > span {
    color: var(--scvnp-navy);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.scvnp-auto-indicator-select select {
    width: 100%;
    min-height: 42px;
}
.scvnp-auto-indicator-builder .scvnp-btn {
    min-height: 42px;
    white-space: nowrap;
}
.scvnp-auto-indicator-status {
    grid-column: 1 / -1;
    color: #607087;
    font-size: 11px;
}
.scvnp-auto-indicator-status.is-success { color: #14734a; font-weight: 700; }
.scvnp-auto-indicator-status.is-error { color: #a52a2a; font-weight: 700; }
@media (max-width: 720px) {
    .scvnp-auto-indicator-builder { grid-template-columns: 1fr; }
    .scvnp-auto-indicator-builder .scvnp-btn { width: 100%; }
}


/* v0.1.80 — compact inline SST-02 auto indicator */
.scvnp-indicator-entry-layout {
    display: grid;
    grid-template-columns: minmax(270px, 350px) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.scvnp-indicator-entry-layout.is-readonly {
    grid-template-columns: minmax(0, 1fr);
}

.scvnp-auto-indicator-builder {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 70px;
    gap: 8px;
    align-items: stretch;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.scvnp-auto-indicator-select {
    display: block;
    min-width: 0;
}

.scvnp-auto-indicator-select select,
.scvnp-auto-indicator-builder .scvnp-btn {
    width: 100%;
    min-height: 58px;
    height: 58px;
}

.scvnp-auto-indicator-select select {
    padding-inline: 12px 34px;
    border-color: rgba(13, 45, 82, .16);
    background-color: #f7f9fc;
    font-size: 12px;
    font-weight: 700;
}

.scvnp-auto-indicator-builder .scvnp-btn {
    padding-inline: 10px;
}

.scvnp-auto-indicator-status {
    display: none;
    grid-column: 1 / -1;
    margin: -2px 2px 0;
    font-size: 10px;
    line-height: 1.3;
}

.scvnp-auto-indicator-status:not(:empty) {
    display: block;
}

@media (max-width: 1180px) {
    .scvnp-indicator-entry-layout {
        grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
    }
}

@media (max-width: 860px) {
    .scvnp-indicator-entry-layout {
        grid-template-columns: 1fr;
    }

    .scvnp-auto-indicator-builder {
        grid-template-columns: minmax(0, 1fr) 82px;
    }

    .scvnp-auto-indicator-select select,
    .scvnp-auto-indicator-builder .scvnp-btn {
        min-height: 46px;
        height: 46px;
    }
}

/* v0.1.84 — Workflow Tracking for Urusetia, KU VNP and Admin. */
.scvnp-tracking-page {
    max-width: 1500px;
    margin-inline: auto;
}

.scvnp-tracking-note {
    margin: 7px 0 0;
    color: #66758b;
    font-size: 12px;
    line-height: 1.55;
}

.scvnp-tracking-filter-bar {
    display: grid;
    grid-template-columns: minmax(320px, 1.6fr) minmax(180px, .7fr) minmax(210px, .8fr) auto;
    gap: 12px;
    align-items: end;
    padding: 18px;
    margin: 22px 0 18px;
    border: 1px solid #dce5ef;
    border-radius: 18px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 72%, #fffaf0 100%);
    box-shadow: 0 10px 28px rgba(8, 38, 72, .07);
}

.scvnp-tracking-filter-field {
    display: grid;
    gap: 7px;
}

.scvnp-tracking-filter-field span {
    color: #40516a;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.scvnp-tracking-filter-field input,
.scvnp-tracking-filter-field select {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid #cfdbe8;
    border-radius: 12px;
    background: #fff;
    color: #092544;
    font: inherit;
    outline: none;
}

.scvnp-tracking-filter-field input:focus,
.scvnp-tracking-filter-field select:focus {
    border-color: #e5b62f;
    box-shadow: 0 0 0 3px rgba(229, 182, 47, .14);
}

.scvnp-tracking-filter-reset {
    min-height: 46px;
}

.scvnp-tracking-filter-count {
    grid-column: 1 / -1;
    margin: 0;
    color: #6a788b;
    font-size: 11px;
    font-weight: 700;
}

.scvnp-tracking-table-wrap {
    border-radius: 18px;
    box-shadow: 0 16px 35px rgba(8, 38, 72, .09);
}

.scvnp-tracking-table {
    min-width: 1280px;
}

.scvnp-tracking-table th:nth-child(1) { min-width: 230px; }
.scvnp-tracking-table th:nth-child(2) { min-width: 160px; }
.scvnp-tracking-table th:nth-child(3) { min-width: 190px; }
.scvnp-tracking-table th:nth-child(n+4) { min-width: 175px; text-align: center; }

.scvnp-tracking-entity {
    color: #092544;
    font-weight: 800;
    text-decoration: none;
}

.scvnp-tracking-entity:hover {
    color: #9a6b00;
}

.scvnp-tracking-table td small {
    display: block;
    margin-top: 6px;
    color: #758398;
    font-size: 10px;
    line-height: 1.45;
}

.scvnp-tracking-duration {
    text-align: center;
    vertical-align: middle;
}

.scvnp-tracking-days {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    min-width: 82px;
    padding: 7px 11px;
    border-radius: 999px;
    color: #092544;
    background: #eaf3ff;
    border: 1px solid #cfe2f7;
}

.scvnp-tracking-days.is-progress {
    background: #fff6dc;
    border-color: #f1d88b;
}

.scvnp-tracking-days strong {
    font-size: 17px;
    line-height: 1;
}

.scvnp-tracking-days em {
    margin-left: 4px;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
}

.scvnp-tracking-total .scvnp-tracking-days {
    background: linear-gradient(135deg, #dceeff, #aad2f5);
    border-color: #8ebee7;
    box-shadow: 0 6px 14px rgba(32, 93, 148, .12);
}

.scvnp-tracking-na {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #f0f2f5;
    color: #788392;
    font-size: 11px;
    font-weight: 800;
}

.scvnp-tracking-filter-empty td {
    padding: 34px !important;
    text-align: center;
    color: #6f7d90;
}

@media (max-width: 980px) {
    .scvnp-tracking-filter-bar {
        grid-template-columns: 1fr 1fr;
    }

    .scvnp-tracking-filter-field:first-child,
    .scvnp-tracking-filter-count {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .scvnp-tracking-filter-bar {
        grid-template-columns: 1fr;
        padding: 14px;
        border-radius: 15px;
    }

    .scvnp-tracking-filter-field:first-child,
    .scvnp-tracking-filter-count {
        grid-column: auto;
    }

    .scvnp-tracking-filter-reset {
        width: 100%;
    }
}

/* v0.1.85 — Refined workflow tracking milestones and highlighted current status. */
.scvnp-tracking-record-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 7px;
}

.scvnp-tracking-source {
    color: #758398;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1.3;
    text-transform: uppercase;
}

.scvnp-tracking-current-status {
    min-height: 22px;
    padding: 4px 8px;
    font-size: 9px;
    letter-spacing: 0;
    text-transform: none;
}


/* v0.1.86 — Simplified tracking headings and unified duration status colours. */
.scvnp-tracking-days,
.scvnp-tracking-total .scvnp-tracking-days {
    color: #092544;
    background: #eaf3ff;
    border-color: #cfe2f7;
    box-shadow: none;
}

.scvnp-tracking-days.is-progress,
.scvnp-tracking-total .scvnp-tracking-days.is-progress {
    color: #092544;
    background: #fff6dc;
    border-color: #f1d88b;
    box-shadow: none;
}

/* v0.1.87 - Live profiling report actions */
.scvnp-report-ready-card { align-items: flex-start; gap: 24px; }
.scvnp-report-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
@media (max-width: 720px) {
  .scvnp-report-ready-card { display: block; }
  .scvnp-report-ready-card > .scvnp-status { display: inline-flex; margin-top: 14px; }
  .scvnp-report-actions .scvnp-btn { width: 100%; justify-content: center; text-align: center; }
}


/* v0.1.89 — Box 8 Risk Level */
.scvnp-risk-section .scvnp-section-body {
    padding-bottom: 24px;
}
.scvnp-risk-help {
    margin: 3px 0 14px;
    color: var(--scvnp-muted, #61708a);
    font-size: 13px;
}
.scvnp-risk-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    max-width: 980px;
}
.scvnp-risk-option {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 68px;
    padding: 14px 18px;
    border: 1px solid #cfd9e7;
    border-radius: 15px;
    background: linear-gradient(135deg, #ffffff 0%, #f3f7fc 100%);
    color: #0a2548;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.scvnp-risk-option:hover {
    transform: translateY(-1px);
    border-color: #93b7dd;
    box-shadow: 0 10px 24px rgba(14, 49, 88, .10);
}
.scvnp-risk-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.scvnp-risk-check {
    width: 22px;
    height: 22px;
    border: 2px solid #9aabc0;
    border-radius: 6px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
}
.scvnp-risk-option input:checked + .scvnp-risk-check,
.scvnp-risk-option.is-selected .scvnp-risk-check {
    border-color: #d59f00;
    background: #f4c62f;
}
.scvnp-risk-option input:checked + .scvnp-risk-check::after,
.scvnp-risk-option.is-selected .scvnp-risk-check::after {
    content: "✓";
    color: #082343;
    font-size: 15px;
    line-height: 1;
    font-weight: 900;
}
.scvnp-risk-option:has(input:checked),
.scvnp-risk-option.is-selected {
    border-color: #d8a400;
    background: linear-gradient(135deg, #fff9e4 0%, #f5d96f 100%);
    box-shadow: 0 10px 26px rgba(191, 139, 0, .15);
}
.scvnp-risk-options.is-readonly .scvnp-risk-option {
    cursor: default;
}
.scvnp-risk-options.is-readonly .scvnp-risk-option:hover {
    transform: none;
}
@media (max-width: 720px) {
    .scvnp-risk-options {
        grid-template-columns: 1fr;
        gap: 9px;
    }
    .scvnp-risk-option {
        justify-content: flex-start;
        min-height: 54px;
    }
}

/* v0.1.90 — Taxable period and SST-02 analysis cut-off controls. */
.scvnp-taxable-period-field {
    margin-top: 18px;
}
.scvnp-analysis-through-row {
    display: grid;
    grid-template-columns: minmax(190px, .9fr) minmax(180px, .7fr) minmax(130px, .45fr);
    gap: 12px;
    align-items: center;
    margin: 4px 0 20px;
    padding: 13px 15px;
    border: 1px solid #d8e1ed;
    border-radius: 12px;
    background: linear-gradient(135deg, #f8fbff 0%, #fffaf0 100%);
}
.scvnp-analysis-through-label {
    color: #0a2548;
    font-weight: 800;
}
.scvnp-analysis-through-row select {
    width: 100%;
    min-height: 46px;
}
@media (max-width: 720px) {
    .scvnp-analysis-through-row {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 12px;
    }
}


/* v0.1.91 — Registration-year summary and late-SST warning in Box 7. */
.scvnp-targeting-registration-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 12px 0 18px;
}
.scvnp-targeting-registration-year {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid #d7e0ec;
    border-radius: 10px;
    background: #f6f9fd;
    color: #10294a;
}
.scvnp-targeting-registration-year span {
    font-size: 12px;
    font-weight: 700;
}
.scvnp-targeting-registration-year strong {
    font-size: 14px;
    color: #061d3c;
}
.scvnp-targeting-registration-warning {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 7px 13px;
    border: 1px solid #e8b849;
    border-radius: 10px;
    background: linear-gradient(135deg, #fff8dd 0%, #ffe8a6 100%);
    color: #8a4f00;
    font-size: 12px;
    font-weight: 800;
}
.scvnp-targeting-registration-warning[hidden] {
    display: none !important;
}
@media (max-width: 720px) {
    .scvnp-targeting-registration-summary {
        align-items: stretch;
    }
    .scvnp-targeting-registration-year,
    .scvnp-targeting-registration-warning {
        width: 100%;
        justify-content: space-between;
    }
}


/* v0.2.00 — role-specific unit assignment controls */
.scvnp-role-unit-selector {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 11px;
    border: 1px solid #d6deea;
    border-radius: 10px;
    background: #f7f9fc;
}
.scvnp-role-unit-selector > span { color: #172947; font-size: 11px; font-weight: 850; }
.scvnp-role-unit-selector small { color: #66738a; font-size: 10px; line-height: 1.4; }
.scvnp-role-unit-selector[hidden], .scvnp-vnp-unit-selector[hidden] { display: none !important; }

/* v0.2.07 — VNP Live Targetting access profile */
.scvnp-vnp-unit-grid .scvnp-vnp-live-targetting-option {
    grid-column: 1 / -1;
    min-height: 42px;
    border-color: #e2bd3d;
    background: linear-gradient(135deg, #fff9e6 0%, #fff0b8 100%);
}

.scvnp-vnp-live-targetting-option span {
    display: grid;
    gap: 2px;
}

.scvnp-vnp-live-targetting-option strong {
    color: #142846;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

.scvnp-vnp-live-targetting-option small {
    color: #66738a;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.3;
}

.scvnp-live-targetting-access {
    color: #735600;
}

