.site-header { background: var(--r-surface); border-bottom: 1px solid var(--r-border); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 76px; }
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--r-text); font-size: 1.15rem; font-weight: 700; text-decoration: none; letter-spacing: -.04em; }
.brand img { border-radius: 10px; }
.theme-switcher { gap: .15rem; padding: .2rem; border: 1px solid var(--r-border); border-radius: var(--r-radius); }
.theme-switcher .btn { min-height: 36px; }
[data-rosteria-theme][aria-pressed="true"] { --r-btn-bg: var(--r-primary-soft); --r-btn-text: var(--r-primary); --r-btn-border: var(--r-primary); }
.page-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: .75rem; }
.page-heading h1 { margin-bottom: .35rem; }
.page-heading p { margin-bottom: 0; }
.dashboard { gap: 2rem; }
.stats-grid { gap: 1rem; }
.content-grid { align-items: start; }
.quick-actions { display: grid; gap: .5rem; }
.quick-action { display: flex; align-items: center; gap: .85rem; min-height: 62px; padding: .6rem; border-radius: var(--r-radius); color: var(--r-text); text-decoration: none; }
.quick-action:hover { background: var(--r-surface-alt); }
.quick-action > span:nth-child(2) { display: grid; flex: 1; gap: .1rem; }
.quick-action small { color: var(--r-text-muted); }
.result { min-height: 1.5rem; }
.auth-card { max-width: 30rem; width: min(100%, 30rem); margin-inline: auto; }
.auth-card form label { display: grid; gap: .35rem; font-weight: 700; }
.auth-card input { padding: .75rem; border: 1px solid var(--r-border); border-radius: var(--r-radius); background: var(--r-surface); color: var(--r-text); font: inherit; }
.password-field { display: flex; gap: .5rem; align-items: center; }
.password-field input { flex: 1; }
.auth-card .errorlist, .form-error { color: var(--r-danger, #b42318); }
.notice { padding: .8rem; border-radius: var(--r-radius); background: var(--r-success-soft); }
.tiktok-preview { margin-top: 1.25rem; background: var(--r-surface-alt); }
.tiktok-profile-heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.tiktok-profile-heading h3 { margin-bottom: .15rem; }
.tiktok-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.tiktok-stats { gap: .5rem; margin-top: 1rem; }
.tiktok-stats div { display: grid; gap: .1rem; }
.tiktok-stats strong { font-size: 1.2rem; }
.tiktok-stats span { color: var(--r-text-muted); font-size: .8rem; }
.status-pill { display: inline-flex; padding: .45rem .75rem; border-radius: 999px; color: var(--r-success); background: var(--r-success-soft); font-size: .9rem; font-weight: 700; }
@media (max-width: 720px) {
  .header-inner { align-items: flex-start; flex-direction: column; padding-block: 1rem; }
  .header-inner nav { width: 100%; align-items: stretch; justify-content: space-between; }
  .theme-switcher { display: none; }
  .page-heading { align-items: stretch; flex-direction: column; gap: 1.25rem; }
  .page-heading .btn { width: 100%; }
}
select:not([multiple]):not([size]), select[size="1"]:not([multiple]) { appearance: none; -webkit-appearance: none; display: block; width: 100%; min-height: 48px; padding: 0.75rem 3rem 0.75rem 1rem; font: inherit; font-size: 1rem; font-weight: 500; line-height: 1.5; color: var(--r-text); background-color: var(--r-surface); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238776e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 20px; border: 1px solid var(--r-input-border); border-radius: var(--r-radius); cursor: pointer; transition: border-color var(--r-duration), box-shadow var(--r-duration); }
select:not(:disabled):hover { border-color: var(--r-primary); }
select:focus { border-color: var(--r-primary); outline: 2px solid var(--r-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--r-primary-soft); }
select:required:invalid { color: var(--r-text-muted); }
select[aria-invalid="true"] { border-color: var(--r-danger); }
select[aria-invalid="true"]:focus { outline-color: var(--r-danger); box-shadow: 0 0 0 5px var(--r-danger-soft); }
select:disabled { background-color: var(--r-surface-alt); color: var(--r-text-muted); cursor: not-allowed; opacity: 0.65; }
select option, select optgroup { background: var(--r-surface); color: var(--r-text); }
@media (forced-colors: active) { select:not([multiple]):not([size]), select[size="1"]:not([multiple]) { appearance: auto; background-image: none; } }
