:root {
    color-scheme: light;
    --bg: #f5f5f7;
    --bg-soft: #fbfbfd;
    --surface: rgba(255, 255, 255, .82);
    --surface-solid: #ffffff;
    --surface-2: #f2f2f4;
    --glass: rgba(251, 251, 253, .72);
    --text: #1d1d1f;
    --muted: #6e6e73;
    --line: rgba(0, 0, 0, .10);
    --line-strong: rgba(0, 0, 0, .16);
    --primary: #0071e3;
    --primary-2: #2997ff;
    --primary-hover: #0077ed;
    --danger: #ff3b30;
    --success: #34c759;
    --warning: #ff9f0a;
    --radius: 28px;
    --radius-lg: 36px;
    --shadow-sm: 0 8px 22px rgba(0, 0, 0, .06);
    --shadow: 0 24px 70px rgba(0, 0, 0, .10);
    --shadow-strong: 0 34px 90px rgba(0, 0, 0, .16);
    --nav-height: 52px;
    --ease: cubic-bezier(.16, 1, .3, 1);
}

@media (prefers-color-scheme: dark) {
    :root {
        color-scheme: dark;
        --bg: #000000;
        --bg-soft: #050505;
        --surface: rgba(29, 29, 31, .78);
        --surface-solid: #1d1d1f;
        --surface-2: #161617;
        --glass: rgba(22, 22, 23, .70);
        --text: #f5f5f7;
        --muted: #a1a1a6;
        --line: rgba(255, 255, 255, .14);
        --line-strong: rgba(255, 255, 255, .22);
        --shadow-sm: 0 8px 22px rgba(0, 0, 0, .32);
        --shadow: 0 28px 80px rgba(0, 0, 0, .42);
        --shadow-strong: 0 38px 110px rgba(0, 0, 0, .56);
    }
}

* { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 50% -18rem, rgba(0, 113, 227, .14), transparent 38rem),
        linear-gradient(180deg, var(--bg-soft), var(--bg) 32rem);
    color: var(--text);
    font-family: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 17px;
    line-height: 1.47059;
    letter-spacing: -.022em;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 18%, rgba(41, 151, 255, .10), transparent 24rem),
        radial-gradient(circle at 84% 8%, rgba(255, 255, 255, .18), transparent 20rem);
    opacity: .75;
    z-index: -1;
}

@media (prefers-color-scheme: dark) {
    body {
        background:
            radial-gradient(circle at 50% -18rem, rgba(41, 151, 255, .18), transparent 34rem),
            linear-gradient(180deg, #050505, #000 34rem);
    }

    body::before {
        background:
            radial-gradient(circle at 18% 16%, rgba(41, 151, 255, .14), transparent 24rem),
            radial-gradient(circle at 84% 8%, rgba(255, 255, 255, .05), transparent 20rem);
    }
}

a {
    color: inherit;
    text-decoration: none;
    transition: color .22s var(--ease), opacity .22s var(--ease);
}

a:hover { color: var(--primary); }

img { max-width: 100%; }

.container {
    max-width: 1180px;
}

.main-wrap {
    padding: clamp(1.35rem, 3vw, 2.7rem) 0 clamp(4rem, 7vw, 6rem);
}

.muted { color: var(--muted) !important; }
.min-w-0 { min-width: 0; }

/* Apple-like translucent navigation */
.flog-navbar {
    min-height: var(--nav-height);
    background: var(--glass);
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    backdrop-filter: saturate(180%) blur(22px);
    -webkit-backdrop-filter: saturate(180%) blur(22px);
    transition: background-color .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease);
}

@media (prefers-color-scheme: dark) {
    .flog-navbar { border-bottom-color: rgba(255, 255, 255, .10); }
}

.flog-navbar.is-scrolled {
    box-shadow: 0 8px 32px rgba(0, 0, 0, .08);
    border-bottom-color: var(--line);
}

.navbar .container { min-height: var(--nav-height); }

.brand {
    display: inline-flex;
    align-items: center;
    gap: .62rem;
    color: var(--text) !important;
    font-size: .98rem;
    font-weight: 650;
    letter-spacing: -.03em;
}

.brand-mark {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(180deg, #fdfdfd, #e9e9eb);
    border: 1px solid var(--line);
    color: var(--text);
    font-size: .84rem;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 8px 20px rgba(0, 0, 0, .08);
}

@media (prefers-color-scheme: dark) {
    .brand-mark {
        background: linear-gradient(180deg, #303033, #1d1d1f);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 8px 24px rgba(0, 0, 0, .35);
    }
}

.navbar-toggler {
    border: 0;
    border-radius: 999px;
    padding: .46rem .62rem;
    transition: background .22s var(--ease), transform .22s var(--ease);
}
.navbar-toggler:focus { box-shadow: 0 0 0 4px rgba(0, 113, 227, .18); }
.navbar-toggler:hover { background: var(--surface-2); transform: scale(1.02); }

.navbar-nav { row-gap: .4rem; }
.nav-link {
    color: var(--muted) !important;
    font-size: .82rem;
    font-weight: 500;
    line-height: 1;
    border-radius: 999px;
    padding: .64rem .88rem !important;
    transition: color .22s var(--ease), background-color .22s var(--ease), transform .22s var(--ease);
}
.nav-link.active,
.nav-link:hover {
    color: var(--text) !important;
    background: rgba(0, 0, 0, .055);
}
.nav-link:hover { transform: translateY(-1px); }

@media (prefers-color-scheme: dark) {
    .nav-link.active,
    .nav-link:hover { background: rgba(255, 255, 255, .10); }
}

.user-chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}
.user-chip img,
.avatar-mini img {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid var(--line);
    background: var(--surface-2);
}

.dropdown-menu {
    padding: .55rem;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: var(--shadow);
    backdrop-filter: saturate(180%) blur(22px);
    -webkit-backdrop-filter: saturate(180%) blur(22px);
}
.dropdown-item {
    border-radius: 12px;
    color: var(--text);
    font-size: .9rem;
    padding: .58rem .72rem;
}
.dropdown-item:hover,
.dropdown-item:focus {
    background: var(--surface-2);
    color: var(--text);
}
.dropdown-divider { border-color: var(--line); }

/* Buttons and Bootstrap refinements */
.btn {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: -.01em;
    transition: transform .22s var(--ease), box-shadow .22s var(--ease), background-color .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease);
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(.99); }
.btn:focus-visible { box-shadow: 0 0 0 4px rgba(0, 113, 227, .18) !important; }

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-active-bg: #006edb;
    --bs-btn-active-border-color: #006edb;
    box-shadow: 0 10px 24px rgba(0, 113, 227, .20);
}
.btn-primary:hover { box-shadow: 0 14px 32px rgba(0, 113, 227, .28); }

.btn-light,
.btn-outline-dark,
.btn-dark {
    --bs-btn-color: var(--text);
    --bs-btn-bg: rgba(255, 255, 255, .72);
    --bs-btn-border-color: var(--line);
    --bs-btn-hover-color: var(--text);
    --bs-btn-hover-bg: var(--surface-solid);
    --bs-btn-hover-border-color: var(--line-strong);
    --bs-btn-active-bg: var(--surface-2);
    --bs-btn-active-border-color: var(--line-strong);
    color: var(--text) !important;
    border-color: var(--line) !important;
    background: rgba(255, 255, 255, .72) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

@media (prefers-color-scheme: dark) {
    .btn-light,
    .btn-outline-dark,
    .btn-dark {
        background: rgba(255, 255, 255, .10) !important;
        border-color: rgba(255, 255, 255, .16) !important;
    }
    .btn-light:hover,
    .btn-outline-dark:hover,
    .btn-dark:hover { background: rgba(255, 255, 255, .16) !important; }
}

.btn-danger {
    --bs-btn-bg: var(--danger);
    --bs-btn-border-color: var(--danger);
    --bs-btn-hover-bg: #ff453a;
    --bs-btn-hover-border-color: #ff453a;
}

/* Cards */
.hero-card,
.panel-card,
.toolbar-card,
.auth-card,
.empty-state {
    position: relative;
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    backdrop-filter: saturate(160%) blur(18px);
    -webkit-backdrop-filter: saturate(160%) blur(18px);
}

.hero-card {
    min-height: clamp(390px, 56vw, 640px);
    padding: clamp(2.2rem, 7vw, 6rem) clamp(1.25rem, 5vw, 4rem);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 255, 255, .88), rgba(255, 255, 255, .18) 22rem, transparent 38rem),
        radial-gradient(circle at 50% 100%, rgba(0, 113, 227, .17), transparent 31rem),
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(245, 245, 247, .70));
    box-shadow: var(--shadow);
}

@media (prefers-color-scheme: dark) {
    .hero-card {
        background:
            radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .16), transparent 22rem),
            radial-gradient(circle at 50% 100%, rgba(41, 151, 255, .24), transparent 31rem),
            linear-gradient(180deg, rgba(29, 29, 31, .92), rgba(0, 0, 0, .78));
    }
}

.hero-card::after {
    content: "";
    position: absolute;
    inset: auto 13% -32% 13%;
    height: 42%;
    border-radius: 999px;
    background: rgba(0, 113, 227, .20);
    filter: blur(70px);
    transform: translateZ(0);
}

.hero-card > div { position: relative; z-index: 1; }

.eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    color: var(--primary);
    font-size: .82rem;
    line-height: 1;
    text-transform: none;
    letter-spacing: .01em;
    font-weight: 650;
    margin-bottom: .8rem;
}

.eyebrow::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 6px rgba(0, 113, 227, .12);
}

.hero-card h1,
.auth-card h1,
.form-header h1,
.detail-side h1,
.profile-hero h1,
.dashboard-hero h1 {
    color: var(--text);
    font-family: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    letter-spacing: -.065em;
    line-height: .94;
    margin: 0 0 1rem;
}

.hero-card h1 {
    max-width: 920px;
    margin-inline: auto;
    font-size: clamp(3.25rem, 9vw, 6.8rem);
}

.hero-card p {
    max-width: 760px;
    margin-inline: auto;
    color: var(--muted);
    font-size: clamp(1.18rem, 2.2vw, 1.55rem);
    line-height: 1.25;
    letter-spacing: -.035em;
}

.toolbar-card,
.panel-card { padding: clamp(1.1rem, 2.5vw, 1.6rem); }
.panel-card { box-shadow: var(--shadow-sm); }

/* Forms */
.form-control,
.form-select {
    min-height: 48px;
    border-radius: 16px;
    border: 1px solid var(--line);
    background-color: rgba(255, 255, 255, .70);
    color: var(--text);
    font-size: 1rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65);
    transition: border-color .22s var(--ease), box-shadow .22s var(--ease), background-color .22s var(--ease);
}

.form-control::placeholder { color: color-mix(in srgb, var(--muted) 76%, transparent); }
.form-control:focus,
.form-select:focus {
    border-color: var(--primary);
    background-color: var(--surface-solid);
    color: var(--text);
    box-shadow: 0 0 0 4px rgba(0, 113, 227, .16);
}
.form-label {
    color: var(--text);
    font-size: .93rem;
    font-weight: 620;
    margin-bottom: .45rem;
}
textarea.form-control { line-height: 1.45; }

@media (prefers-color-scheme: dark) {
    .form-control,
    .form-select {
        background-color: rgba(255, 255, 255, .08);
        color: var(--text);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
    }
    .form-control:focus,
    .form-select:focus { background-color: rgba(255, 255, 255, .12); }
    .form-control::placeholder { color: rgba(245, 245, 247, .50); }
}

/* Photo feed */
.photo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
}
.photo-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.photo-card {
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--surface);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    transform: translateY(0) scale(1);
    transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease), background-color .45s var(--ease);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.photo-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: var(--shadow-strong);
    border-color: var(--line-strong);
}
.photo-link {
    display: block;
    aspect-ratio: 1 / .92;
    overflow: hidden;
    background: linear-gradient(135deg, var(--surface-2), var(--surface-solid));
}
.photo-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.0001);
    transition: transform .75s var(--ease), filter .75s var(--ease);
}
.photo-card:hover .photo-link img {
    transform: scale(1.055);
    filter: saturate(1.05) contrast(1.02);
}
.photo-card-body { padding: 1.05rem; }
.photo-card h2 {
    color: var(--text);
    font-size: clamp(1.08rem, 1.5vw, 1.24rem);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -.04em;
    margin-bottom: .9rem;
}
.author-link {
    color: var(--text);
    font-weight: 650;
    letter-spacing: -.02em;
}
.avatar-mini { flex: 0 0 auto; }
.avatar-mini.lg img { width: 46px; height: 46px; }

.card-actions,
.stats-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .52rem .72rem;
    color: var(--muted);
}
.stats-row {
    font-size: .95rem;
    padding: .75rem 0;
}
.icon-btn {
    border: 1px solid var(--line);
    background: var(--surface-2);
    color: var(--text);
    border-radius: 999px;
    padding: .46rem .74rem;
    font-size: .91rem;
    font-weight: 650;
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    line-height: 1;
    transition: transform .22s var(--ease), background-color .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease);
}
.icon-btn:hover {
    transform: translateY(-1px);
    background: var(--surface-solid);
    border-color: var(--line-strong);
}
.icon-btn.liked { color: var(--danger); }
.like-form { display: inline-block; }

/* Auth / content forms */
.auth-wrap,
.form-shell {
    max-width: 720px;
    margin: 0 auto;
}
.auth-card {
    padding: clamp(1.7rem, 4vw, 2.8rem);
    box-shadow: var(--shadow);
}
.auth-card h1,
.form-header h1 { font-size: clamp(2.45rem, 6vw, 4.15rem); }
.auth-card.text-center { text-align: center; }
.stack-form { display: grid; gap: 1rem; }
.form-header { margin-bottom: 1.15rem; }

.image-preview,
.edit-current-image {
    margin-top: .85rem;
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    border-radius: 22px;
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
}
.toggle-line {
    display: flex;
    gap: .7rem;
    align-items: center;
    padding: .95rem 1rem;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--surface-2);
    font-weight: 620;
}
.toggle-line input { width: 18px; height: 18px; accent-color: var(--primary); }

/* Photo detail */
.photo-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.32fr) minmax(360px, .68fr);
    gap: clamp(1rem, 2.5vw, 1.5rem);
    align-items: start;
}
.detail-image-card {
    overflow: hidden;
    border-radius: var(--radius-lg);
    border: 1px solid var(--line);
    background: var(--surface);
    box-shadow: var(--shadow);
}
.detail-image-card img {
    width: 100%;
    display: block;
}
.detail-side {
    position: sticky;
    top: calc(var(--nav-height) + 1.3rem);
}
.detail-side h1 { font-size: clamp(2.1rem, 4.2vw, 3.65rem); }
.detail-description {
    color: var(--muted);
    white-space: normal;
    font-size: 1.05rem;
}
.comments-section h2 {
    color: var(--text);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -.035em;
    margin-bottom: .8rem;
}
.comments-list { display: grid; gap: .85rem; }
.comment-item {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
}
.comment-item > img {
    width: 38px;
    height: 38px;
    object-fit: cover;
    border-radius: 999px;
    border: 1px solid var(--line);
}
.comment-bubble {
    flex: 1;
    background: var(--surface-2);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: .9rem .95rem;
}
.comment-bubble p { margin: .35rem 0 0; color: var(--text); }
.comment-bubble small { color: var(--muted); }
.btn-link-clean {
    background: none;
    border: 0;
    padding: 0;
    font-size: .9rem;
}

/* Profile and dashboard */
.profile-hero,
.dashboard-hero {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.profile-hero > img,
.dashboard-avatar {
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid var(--line);
    box-shadow: 0 0 0 8px var(--surface-2), var(--shadow-sm);
}
.profile-hero > img {
    width: 132px;
    height: 132px;
}
.dashboard-avatar {
    width: 74px;
    height: 74px;
}
.profile-hero h1,
.dashboard-hero h1 { font-size: clamp(2.15rem, 5vw, 3.9rem); }
.profile-name { font-weight: 700; margin-bottom: .4rem; }

.thumb {
    width: 76px;
    height: 58px;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid var(--line);
}
.dashboard-table td,
.dashboard-table th {
    padding: 1rem .75rem;
    vertical-align: middle;
}
.table {
    --bs-table-color: var(--text);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--line);
    color: var(--text);
}
.table > :not(caption) > * > * { background-color: transparent; }
.badge {
    border-radius: 999px;
    padding: .48rem .68rem;
    font-weight: 600;
}
.text-bg-success { background-color: rgba(52, 199, 89, .16) !important; color: var(--success) !important; }
.text-bg-secondary { background-color: var(--surface-2) !important; color: var(--muted) !important; }

.empty-state {
    text-align: center;
    padding: clamp(2.4rem, 6vw, 5rem) clamp(1.2rem, 4vw, 3rem);
}
.empty-state h2,
.empty-state h3 {
    color: var(--text);
    font-size: clamp(2rem, 5vw, 3.8rem);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: .98;
}
.empty-state p { color: var(--muted); font-size: 1.08rem; }
.small-state { box-shadow: none; }

.alert {
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.alert-success { background: rgba(52, 199, 89, .12); color: var(--text); }
.alert-danger { background: rgba(255, 59, 48, .12); color: var(--text); }
.alert-info { background: rgba(0, 113, 227, .12); color: var(--text); }
.alert-secondary { background: var(--surface-2); color: var(--text); }
.btn-close { filter: none; }
@media (prefers-color-scheme: dark) { .btn-close { filter: invert(1) grayscale(100%); } }

.page-link {
    min-width: 38px;
    min-height: 38px;
    display: grid;
    place-items: center;
    border-radius: 999px !important;
    margin: 0 .18rem;
    border-color: var(--line);
    color: var(--text);
    background: var(--surface);
}
.page-link:hover { color: var(--primary); background: var(--surface-2); border-color: var(--line-strong); }
.active > .page-link {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.site-footer {
    color: var(--muted);
    border-top: 1px solid var(--line);
    padding: 1.45rem 0;
    font-size: .9rem;
    background: rgba(255, 255, 255, .18);
}
@media (prefers-color-scheme: dark) { .site-footer { background: rgba(255, 255, 255, .03); } }

/* Soft reveal effects */
.hero-card,
.toolbar-card,
.panel-card,
.auth-card,
.empty-state,
.photo-card,
.detail-image-card,
.detail-side {
    will-change: transform, opacity;
}

.reveal-on-scroll {
    opacity: 0;
    transform: translateY(22px) scale(.992);
    transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
    .reveal-on-scroll { opacity: 1; transform: none; }
    .photo-card:hover,
    .btn:hover,
    .nav-link:hover { transform: none; }
}

@media (max-width: 992px) {
    .navbar-collapse {
        margin-top: .65rem;
        padding: .75rem;
        border: 1px solid var(--line);
        border-radius: 20px;
        background: var(--surface);
        box-shadow: var(--shadow-sm);
        backdrop-filter: saturate(180%) blur(22px);
        -webkit-backdrop-filter: saturate(180%) blur(22px);
    }
    .nav-link { font-size: .95rem; padding: .8rem .9rem !important; }
    .photo-grid,
    .photo-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .photo-detail-grid { grid-template-columns: 1fr; }
    .detail-side { position: static; }
}

@media (max-width: 576px) {
    body { font-size: 16px; }
    .main-wrap { padding-top: 1rem; }
    .container { padding-inline: 1rem; }
    .hero-card { min-height: auto; border-radius: 30px; }
    .hero-card h1 { font-size: clamp(2.9rem, 15vw, 4.8rem); }
    .hero-card p { font-size: 1.08rem; }
    .photo-grid,
    .photo-grid.compact { grid-template-columns: 1fr; }
    .profile-hero,
    .dashboard-hero { align-items: flex-start; flex-direction: column; }
    .profile-hero > img { width: 104px; height: 104px; }
    .dashboard-table { min-width: 760px; }
    .auth-card,
    .panel-card,
    .toolbar-card,
    .empty-state { border-radius: 26px; }
}
