:root {
    --memberapp-bg: #edf2f8;
    --memberapp-surface: #ffffff;
    --memberapp-surface-2: #f5f8fc;
    --memberapp-border: #d7e2ef;
    --memberapp-text: #19324d;
    --memberapp-muted: #61758b;
    --memberapp-primary: #0f766e;
    --memberapp-primary-2: #103255;
    --memberapp-accent: #ea580c;
    --memberapp-shadow: 0 18px 48px rgba(16, 41, 68, 0.12);
}

* { box-sizing: border-box; }
body.memberapp-body {
    margin: 0;
    font-family: 'Manrope', sans-serif;
    color: var(--memberapp-text);
    background:
        radial-gradient(circle at top left, rgba(15, 118, 110, 0.12), transparent 24%),
        radial-gradient(circle at bottom right, rgba(234, 88, 12, 0.1), transparent 22%),
        var(--memberapp-bg);
}
a { color: inherit; text-decoration: none; }
.memberapp-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
}
.memberapp-sidebar {
    background: linear-gradient(180deg, #10253d 0%, #163d62 100%);
    color: #fff;
    padding: 28px 22px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    position: sticky;
    top: 0;
    height: 100vh;
}
.memberapp-sidebar__brand {
    display: flex;
    align-items: center;
    gap: 12px;
}
.memberapp-sidebar__brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f766e, #ea580c);
    font-family: 'Barlow', sans-serif;
    font-weight: 700;
}
.memberapp-sidebar__brand strong,
.memberapp-sidebar__brand span {
    display: block;
}
.memberapp-sidebar__brand span { color: rgba(255,255,255,.68); font-size: 13px; }
.memberapp-sidebar__profile {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    padding: 18px;
    text-align: center;
}
.memberapp-sidebar__avatar {
    width: 94px;
    height: 94px;
    border-radius: 24px;
    object-fit: cover;
    display: block;
    margin: 0 auto 12px;
}
.memberapp-sidebar__avatar--empty {
    background: rgba(255,255,255,.12);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}
.memberapp-sidebar__profile h3 {
    margin: 0 0 4px;
    font-size: 20px;
    color: #fff;
}
.memberapp-sidebar__profile p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
}
.memberapp-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.memberapp-nav__link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 16px;
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.04);
    border: 1px solid transparent;
}
.memberapp-nav__link.is-active,
.memberapp-nav__link:hover {
    background: linear-gradient(135deg, rgba(15,118,110,.22), rgba(234,88,12,.16));
    color: #fff;
    border-color: rgba(255,255,255,.08);
}
.memberapp-sidebar__logout {
    margin-top: auto;
    text-align: center;
    padding: 13px 16px;
    border-radius: 16px;
    background: rgba(255,255,255,.08);
    color: #fff;
}
.memberapp-main {
    padding: 34px;
}
.memberapp-pagehead {
    margin-bottom: 22px;
}
.memberapp-pagehead__eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--memberapp-primary);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 12px;
    font-weight: 700;
}
.memberapp-pagehead h1 {
    margin: 0 0 8px;
    font-family: 'Barlow', sans-serif;
    font-size: 40px;
}
.memberapp-pagehead p {
    margin: 0;
    color: var(--memberapp-muted);
    max-width: 760px;
}
.memberapp-card {
    background: var(--memberapp-surface);
    border: 1px solid var(--memberapp-border);
    border-radius: 28px;
    box-shadow: var(--memberapp-shadow);
    padding: 24px;
}
.memberapp-grid {
    display: grid;
    gap: 18px;
}
.memberapp-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.memberapp-stat {
    background: linear-gradient(180deg, #fff, #f8fbff);
    border: 1px solid var(--memberapp-border);
    border-radius: 22px;
    padding: 20px;
}
.memberapp-stat span {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--memberapp-muted);
}
.memberapp-stat strong {
    display: block;
    margin-top: 10px;
    font-size: 26px;
    font-family: 'Barlow', sans-serif;
}
.memberapp-form label {
    display: block;
    margin-bottom: 7px;
    font-weight: 700;
}
.memberapp-form .form-control {
    border-radius: 16px;
    min-height: 48px;
    border: 1px solid var(--memberapp-border);
    background: var(--memberapp-surface-2);
}
.memberapp-form textarea.form-control { min-height: 120px; }
.memberapp-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.memberapp-btn {
    border: 0;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.memberapp-btn--primary { background: linear-gradient(135deg, var(--memberapp-primary-2), var(--memberapp-primary)); color: #fff; }
.memberapp-btn--ghost { background: #fff; color: var(--memberapp-primary-2); border: 1px solid var(--memberapp-border); }
.memberapp-alert {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 16px;
    font-weight: 600;
}
.memberapp-alert--success { background: #e7f8f2; color: #0b6b4f; }
.memberapp-alert--error { background: #fdecec; color: #a43737; }
.memberapp-certificate {
    padding: 34px;
    border-radius: 28px;
    background: linear-gradient(180deg, #fffefb, #f6fbff);
    border: 2px solid #d6c28e;
    text-align: center;
}
.memberapp-id {
    max-width: 740px;
    padding: 0;
    overflow: hidden;
}
.memberapp-tax {
    line-height: 1.85;
    color: var(--memberapp-muted);
}
.memberapp-login {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 28px;
}
.memberapp-login__panel {
    width: 100%;
    max-width: 460px;
    background: var(--memberapp-surface);
    border: 1px solid var(--memberapp-border);
    border-radius: 30px;
    box-shadow: var(--memberapp-shadow);
    padding: 28px;
}
.memberapp-login__panel h1 {
    margin: 0 0 10px;
    font-family: 'Barlow', sans-serif;
}
.memberapp-login__panel p {
    margin: 0 0 20px;
    color: var(--memberapp-muted);
}
@media (max-width: 991px) {
    .memberapp-shell { grid-template-columns: 1fr; }
    .memberapp-sidebar { position: static; height: auto; }
}
@media (max-width: 767px) {
    .memberapp-main { padding: 18px; }
    .memberapp-grid--2 { grid-template-columns: 1fr; }
    .memberapp-pagehead h1 { font-size: 30px; }
}

.memberapp-certprint-page {
    min-height: 100vh;
    margin: 0;
    font-family: 'Manrope', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(15, 118, 110, 0.12), transparent 22%),
        radial-gradient(circle at bottom right, rgba(234, 88, 12, 0.10), transparent 24%),
        #edf2f8;
    color: var(--memberapp-text);
}
.memberapp-certprint-toolbar {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 32px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.memberapp-certprint-toolbar span {
    display: block;
    color: var(--memberapp-muted);
    margin-top: 4px;
}
.memberapp-certprint-stage {
    width: 100%;
    min-height: calc(100vh - 92px);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 36px;
}
.memberapp-certprint-sheet {
    position: relative;
    width: min(860px, calc(100vw - 120px));
    min-height: 1120px;
    background: linear-gradient(180deg, #fffdf8 0%, #ffffff 50%, #f7fbff 100%);
    border-radius: 18px;
    box-shadow: 0 28px 72px rgba(16, 41, 68, 0.14);
    padding: 56px 54px 48px;
    overflow: hidden;
}
.memberapp-certprint-sheet__outer,
.memberapp-certprint-sheet__inner {
    position: absolute;
    pointer-events: none;
}
.memberapp-certprint-sheet__outer {
    inset: 16px;
    border: 2px solid #214265;
}
.memberapp-certprint-sheet__inner {
    inset: 32px;
    border: 1px solid rgba(33, 66, 101, 0.28);
}
.memberapp-certprint-sheet__corner {
    position: absolute;
    width: 56px;
    height: 56px;
}
.memberapp-certprint-sheet__corner::before,
.memberapp-certprint-sheet__corner::after {
    content: '';
    position: absolute;
    background: #c5973a;
}
.memberapp-certprint-sheet__corner::before { width: 56px; height: 3px; }
.memberapp-certprint-sheet__corner::after { width: 3px; height: 56px; }
.memberapp-certprint-sheet__corner--tl { top: 28px; left: 28px; }
.memberapp-certprint-sheet__corner--tr { top: 28px; right: 28px; }
.memberapp-certprint-sheet__corner--tr::before, .memberapp-certprint-sheet__corner--tr::after { right: 0; }
.memberapp-certprint-sheet__corner--bl { left: 28px; bottom: 28px; }
.memberapp-certprint-sheet__corner--bl::before, .memberapp-certprint-sheet__corner--br::before { bottom: 0; }
.memberapp-certprint-sheet__corner--bl::after, .memberapp-certprint-sheet__corner--br::after { bottom: 0; }
.memberapp-certprint-sheet__corner--br { right: 28px; bottom: 28px; }
.memberapp-certprint-sheet__corner--br::before, .memberapp-certprint-sheet__corner--br::after { right: 0; }
.memberapp-certprint-head,
.memberapp-certprint-body,
.memberapp-certprint-foot {
    position: relative;
    z-index: 1;
}
.memberapp-certprint-head {
    text-align: center;
    padding-bottom: 24px;
    margin-bottom: 26px;
    border-bottom: 1px solid rgba(33, 66, 101, 0.16);
}
.memberapp-certprint-mark {
    width: 90px;
    height: 90px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cormorant Garamond', serif;
    font-size: 40px;
    font-weight: 700;
    color: #214265;
    border: 1px solid rgba(33, 66, 101, 0.2);
    background: linear-gradient(180deg, #ffffff, #f1f5fa);
}
.memberapp-certprint-head__eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: var(--memberapp-primary);
    font-size: 12px;
    font-weight: 700;
}
.memberapp-certprint-head h1,
.memberapp-certprint-body h2 {
    font-family: 'Cormorant Garamond', serif;
}
.memberapp-certprint-head h1 {
    margin: 0 0 10px;
    font-size: 58px;
    color: #16334f;
}
.memberapp-certprint-head p {
    margin: 0 auto;
    max-width: 660px;
    color: var(--memberapp-muted);
    line-height: 1.75;
}
.memberapp-certprint-body {
    text-align: center;
}
.memberapp-certprint-intro {
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #64798f;
    font-size: 14px;
}
.memberapp-certprint-body h2 {
    margin: 0 0 16px;
    font-size: 64px;
    color: #16334f;
}
.memberapp-certprint-copy {
    max-width: 700px;
    margin: 0 auto 26px;
    line-height: 1.9;
    font-size: 17px;
    color: #425a70;
}
.memberapp-certprint-meta {
    max-width: 740px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 20px;
    align-items: start;
}
.memberapp-certprint-meta__grid {
    border: 1px solid rgba(33, 66, 101, 0.16);
    background: rgba(255,255,255,0.8);
}
.memberapp-certprint-meta__grid div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(33, 66, 101, 0.10);
}
.memberapp-certprint-meta__grid div:last-child { border-bottom: none; }
.memberapp-certprint-meta__grid span {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
    color: #6a7c8f;
}
.memberapp-certprint-meta__grid strong {
    color: #16334f;
    text-align: right;
}
.memberapp-certprint-photo {
    text-align: center;
}
.memberapp-certprint-photo img,
.memberapp-certprint-photo__empty {
    width: 220px;
    height: 250px;
    object-fit: cover;
    border: 1px solid rgba(33, 66, 101, 0.16);
    background: #f5f8fc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7d8ea1;
    font-size: 64px;
}
.memberapp-certprint-photo span {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #6a7c8f;
}
.memberapp-certprint-issue {
    margin: 28px auto 0;
    max-width: 620px;
    color: #64798f;
    line-height: 1.8;
}
.memberapp-certprint-foot {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    max-width: 720px;
    margin: 46px auto 0;
}
.memberapp-certprint-sign {
    width: 240px;
    text-align: center;
}
.memberapp-certprint-sign__line {
    height: 2px;
    background: #214265;
    margin-bottom: 10px;
}
.memberapp-certprint-sign span {
    color: #214265;
    font-weight: 700;
}
@media (max-width: 991px) {
    .memberapp-certprint-toolbar {
        padding: 20px 18px 0;
        flex-direction: column;
        align-items: flex-start;
    }
    .memberapp-certprint-stage {
        padding: 18px;
    }
    .memberapp-certprint-sheet {
        width: 100%;
        min-height: auto;
        padding: 32px 24px;
    }
    .memberapp-certprint-head h1 { font-size: 42px; }
    .memberapp-certprint-body h2 { font-size: 44px; }
    .memberapp-certprint-meta { grid-template-columns: 1fr; }
    .memberapp-certprint-photo img,
    .memberapp-certprint-photo__empty { width: 220px; margin: 0 auto; }
    .memberapp-certprint-foot { flex-direction: column; }
    .memberapp-certprint-sign { width: 100%; }
}
@media print {
    @page {
        size: A4 portrait;
        margin: 10mm;
    }
    .memberapp-certprint-page {
        background: #fff !important;
    }
    .memberapp-certprint-toolbar {
        display: none !important;
    }
    .memberapp-certprint-stage {
        padding: 0;
        display: block;
    }
    .memberapp-certprint-sheet {
        width: 210mm;
        min-height: 297mm;
        border-radius: 0;
        box-shadow: none;
        padding: 24mm 18mm 18mm;
    }
}

.memberapp-idprint-page {
    min-height: 100vh;
    margin: 0;
    font-family: 'Manrope', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(16, 50, 85, 0.12), transparent 24%),
        radial-gradient(circle at bottom right, rgba(15, 118, 110, 0.12), transparent 24%),
        #edf2f8;
    color: var(--memberapp-text);
}
.memberapp-idprint-toolbar {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 32px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.memberapp-idprint-toolbar span {
    display: block;
    color: var(--memberapp-muted);
    margin-top: 4px;
}
.memberapp-idprint-stage {
    min-height: calc(100vh - 92px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 36px;
}
.memberapp-idprint-sheet {
    width: 86mm;
    min-width: 86mm;
    max-width: 86mm;
}
.memberapp-idprint-card {
    width: 86mm;
    min-height: 54mm;
    position: relative;
    overflow: hidden;
    border-radius: 4.5mm;
    background: linear-gradient(135deg, #0c2237 0%, #14314d 40%, #f4f7fb 40%, #fdfefe 100%);
    box-shadow: 0 22px 50px rgba(16, 41, 68, 0.18);
}
.memberapp-idprint-card::before {
    content: '';
    position: absolute;
    inset: 2.2mm;
    border: 0.35mm solid rgba(255, 255, 255, 0.35);
    border-radius: 3.6mm;
    pointer-events: none;
}
.memberapp-idprint-card__mesh {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.memberapp-idprint-card__mesh--one {
    width: 24mm;
    height: 24mm;
    top: -9mm;
    right: -6mm;
    background: radial-gradient(circle, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.02) 72%, transparent 74%);
}
.memberapp-idprint-card__mesh--two {
    width: 20mm;
    height: 20mm;
    bottom: -8mm;
    left: 22mm;
    background: radial-gradient(circle, rgba(15,118,110,0.16) 0%, rgba(15,118,110,0.02) 72%, transparent 74%);
}
.memberapp-idprint-card__header,
.memberapp-idprint-card__body,
.memberapp-idprint-card__footer {
    position: relative;
    z-index: 1;
}
.memberapp-idprint-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3mm;
    padding: 3.6mm 4mm 1.8mm;
}
.memberapp-idprint-card__brand {
    display: flex;
    align-items: center;
    gap: 2.4mm;
    min-width: 0;
}
.memberapp-idprint-card__brandmark {
    width: 8.5mm;
    height: 8.5mm;
    border-radius: 2.6mm;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f766e, #ea580c);
    color: #fff;
    font-family: 'Barlow', sans-serif;
    font-size: 3.6mm;
    font-weight: 700;
    flex-shrink: 0;
}
.memberapp-idprint-card__brand p {
    margin: 0 0 0.4mm;
    font-size: 2.2mm;
    text-transform: uppercase;
    letter-spacing: 0.16mm;
    color: rgba(255,255,255,0.74);
}
.memberapp-idprint-card__brand h1 {
    margin: 0;
    color: #fff;
    font-family: 'Barlow', sans-serif;
    font-size: 4.2mm;
    line-height: 1.05;
}
.memberapp-idprint-card__badge {
    padding: 0.7mm 2mm;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 0.25mm solid rgba(255,255,255,0.18);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.12mm;
    font-size: 2.1mm;
    font-weight: 700;
}
.memberapp-idprint-card__body {
    display: grid;
    grid-template-columns: 24mm 1fr;
    gap: 3.4mm;
    padding: 1.6mm 4mm 4mm;
}
.memberapp-idprint-card__photoWrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.4mm;
}
.memberapp-idprint-card__photo {
    width: 24mm;
    height: 28mm;
    border-radius: 3mm;
    overflow: hidden;
    border: 0.35mm solid rgba(255,255,255,0.28);
    background: rgba(255,255,255,0.12);
    box-shadow: 0 2.5mm 5mm rgba(8, 23, 39, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
}
.memberapp-idprint-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.memberapp-idprint-card__photo--empty {
    color: rgba(255,255,255,0.88);
    font-size: 7mm;
}
.memberapp-idprint-card__memberid {
    display: inline-block;
    padding: 0.6mm 1.6mm;
    border-radius: 999px;
    background: rgba(255,255,255,0.92);
    color: #14314d;
    font-size: 1.95mm;
    font-weight: 800;
    letter-spacing: 0.14mm;
    text-transform: uppercase;
}
.memberapp-idprint-card__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
}
.memberapp-idprint-card__identity h2 {
    margin: 0 0 0.8mm;
    font-family: 'Barlow', sans-serif;
    font-size: 4.8mm;
    line-height: 1.05;
    color: #16334f;
}
.memberapp-idprint-card__identity p {
    margin: 0 0 2.2mm;
    color: #587088;
    font-size: 2.35mm;
    line-height: 1.35;
}
.memberapp-idprint-card__infoGrid {
    display: grid;
    gap: 1.3mm;
    padding: 2.3mm 2.6mm;
    border-radius: 2.8mm;
    background: rgba(255,255,255,0.86);
    border: 0.28mm solid rgba(19, 49, 77, 0.08);
}
.memberapp-idprint-card__infoGrid div {
    display: grid;
    grid-template-columns: 13mm 1fr;
    gap: 1.4mm;
    align-items: baseline;
}
.memberapp-idprint-card__infoGrid span {
    font-size: 2.05mm;
    text-transform: uppercase;
    letter-spacing: 0.12mm;
    color: #73879b;
}
.memberapp-idprint-card__infoGrid strong {
    font-size: 2.35mm;
    color: #16334f;
    font-weight: 700;
    line-height: 1.2;
}
.memberapp-idprint-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2mm;
    margin-top: 2mm;
}
.memberapp-idprint-card__tag {
    color: #5c7288;
    font-size: 2mm;
    letter-spacing: 0.06mm;
}
.memberapp-idprint-card__sign {
    color: var(--memberapp-primary);
    text-transform: uppercase;
    font-weight: 800;
    font-size: 2.05mm;
    letter-spacing: 0.16mm;
}
@media (max-width: 767px) {
    .memberapp-idprint-toolbar {
        padding: 18px 16px 0;
        flex-direction: column;
        align-items: flex-start;
    }
    .memberapp-idprint-stage {
        padding: 18px;
        overflow-x: auto;
    }
}
@media print {
    @page {
        size: 86mm 54mm;
        margin: 0;
    }
    .memberapp-idprint-page {
        background: #fff !important;
    }
    .memberapp-idprint-toolbar {
        display: none !important;
    }
    .memberapp-idprint-stage {
        padding: 0;
        display: block;
    }
    .memberapp-idprint-sheet {
        width: 86mm;
        min-width: 86mm;
        max-width: 86mm;
    }
    .memberapp-idprint-card {
        box-shadow: none;
        border-radius: 0;
    }
}

.memberapp-taxprint-page {
    min-height: 100vh;
    margin: 0;
    font-family: 'Manrope', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(15, 118, 110, 0.12), transparent 22%),
        radial-gradient(circle at bottom right, rgba(234, 88, 12, 0.10), transparent 24%),
        #edf2f8;
    color: var(--memberapp-text);
}
.memberapp-taxprint-toolbar {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 32px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.memberapp-taxprint-toolbar span {
    display: block;
    color: var(--memberapp-muted);
    margin-top: 4px;
}
.memberapp-taxprint-stage {
    width: 100%;
    min-height: calc(100vh - 92px);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 36px;
}
.memberapp-taxprint-sheet {
    position: relative;
    width: min(860px, calc(100vw - 120px));
    min-height: 1120px;
    background: linear-gradient(180deg, #fffdf8 0%, #ffffff 55%, #f7fbff 100%);
    border-radius: 18px;
    box-shadow: 0 28px 72px rgba(16, 41, 68, 0.14);
    padding: 56px 54px 48px;
    overflow: hidden;
}
.memberapp-taxprint-sheet__outer,
.memberapp-taxprint-sheet__inner {
    position: absolute;
    pointer-events: none;
}
.memberapp-taxprint-sheet__outer {
    inset: 16px;
    border: 2px solid #214265;
}
.memberapp-taxprint-sheet__inner {
    inset: 32px;
    border: 1px solid rgba(33, 66, 101, 0.28);
}
.memberapp-taxprint-head,
.memberapp-taxprint-body,
.memberapp-taxprint-foot,
.memberapp-taxprint-meta {
    position: relative;
    z-index: 1;
}
.memberapp-taxprint-head {
    text-align: center;
    padding-bottom: 24px;
    margin-bottom: 26px;
    border-bottom: 1px solid rgba(33, 66, 101, 0.16);
}
.memberapp-taxprint-head__eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: var(--memberapp-primary);
    font-size: 12px;
    font-weight: 700;
}
.memberapp-taxprint-head h1 {
    margin: 0 0 10px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 54px;
    color: #16334f;
}
.memberapp-taxprint-head p {
    margin: 0 auto;
    max-width: 680px;
    color: var(--memberapp-muted);
    line-height: 1.8;
}
.memberapp-taxprint-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}
.memberapp-taxprint-meta div {
    border: 1px solid rgba(33, 66, 101, 0.14);
    background: rgba(255,255,255,0.82);
    padding: 16px 18px;
}
.memberapp-taxprint-meta span {
    display: block;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
    color: #6a7c8f;
    margin-bottom: 6px;
}
.memberapp-taxprint-meta strong {
    color: #16334f;
}
.memberapp-taxprint-body {
    max-width: 720px;
    margin: 0 auto;
    text-align: left;
    color: #425a70;
    line-height: 2;
    font-size: 17px;
}
.memberapp-taxprint-note {
    margin-top: 24px;
    padding: 16px 18px;
    border-left: 4px solid var(--memberapp-primary);
    background: #f5faf9;
}
.memberapp-taxprint-note span {
    display: block;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
    color: #6a7c8f;
    margin-bottom: 6px;
}
.memberapp-taxprint-note strong {
    color: #16334f;
}
.memberapp-taxprint-foot {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    max-width: 720px;
    margin: 52px auto 0;
}
.memberapp-taxprint-sign {
    width: 240px;
    text-align: center;
}
.memberapp-taxprint-sign__line {
    height: 2px;
    background: #214265;
    margin-bottom: 10px;
}
.memberapp-taxprint-sign span {
    color: #214265;
    font-weight: 700;
}
@media (max-width: 991px) {
    .memberapp-taxprint-toolbar {
        padding: 20px 18px 0;
        flex-direction: column;
        align-items: flex-start;
    }
    .memberapp-taxprint-stage {
        padding: 18px;
    }
    .memberapp-taxprint-sheet {
        width: 100%;
        min-height: auto;
        padding: 32px 24px;
    }
    .memberapp-taxprint-head h1 { font-size: 40px; }
    .memberapp-taxprint-meta { grid-template-columns: 1fr; }
    .memberapp-taxprint-foot { flex-direction: column; }
    .memberapp-taxprint-sign { width: 100%; }
}
@media print {
    @page {
        size: A4 portrait;
        margin: 10mm;
    }
    .memberapp-taxprint-page {
        background: #fff !important;
    }
    .memberapp-taxprint-toolbar {
        display: none !important;
    }
    .memberapp-taxprint-stage {
        padding: 0;
        display: block;
    }
    .memberapp-taxprint-sheet {
        width: 210mm;
        min-height: 297mm;
        border-radius: 0;
        box-shadow: none;
        padding: 24mm 18mm 18mm;
    }
}

.memberapp-dochead {
    margin-bottom: 18px;
}
.memberapp-docgrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.memberapp-doccard {
    display: block;
    padding: 22px;
    border-radius: 24px;
    border: 1px solid var(--memberapp-border);
    background: linear-gradient(180deg, #ffffff, #f7fbff);
    box-shadow: 0 12px 28px rgba(16, 41, 68, 0.06);
}
.memberapp-doccard i {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    background: linear-gradient(135deg, rgba(16, 50, 85, 0.12), rgba(15, 118, 110, 0.12));
    color: var(--memberapp-primary-2);
    font-size: 20px;
}
.memberapp-doccard strong,
.memberapp-doccard span {
    display: block;
}
.memberapp-doccard strong {
    font-size: 18px;
    margin-bottom: 8px;
    font-family: 'Barlow', sans-serif;
}
.memberapp-doccard span {
    color: var(--memberapp-muted);
    line-height: 1.7;
}
.memberapp-doccard:hover {
    transform: translateY(-2px);
    transition: .2s ease;
    box-shadow: 0 18px 34px rgba(16, 41, 68, 0.10);
}
@media (max-width: 991px) {
    .memberapp-docgrid {
        grid-template-columns: 1fr;
    }
}
