/* Shared presentation layer only: authentication and service modules stay unchanged. */
@font-face {
    font-family: 'Noto Serif SC Account';
    src: url('../assets/fonts/noto-serif-sc-account-subset.woff2') format('woff2');
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
}
@font-face {
    font-family: 'FACET Account Latin';
    src: url('../assets/fonts/cormorant-garamond-latin-wght-500-700.woff2') format('woff2');
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
}

.facet-account-editorial {
    --bg-primary: #e9e7e1;
    --bg-secondary: #f2f0ea;
    --bg-card: #e9e7e1;
    --bg-elevated: #f5f3ee;
    --text-primary: #151515;
    --text-secondary: #50504c;
    --text-muted: #62625d;
    --accent: #171717;
    --accent-dim: #393934;
    --accent-glow: #dedbd3;
    --border: #c5c2b8;
    --border-light: #aaa79f;
    --radius: 0;
    --radius-sm: 0;
    --radius-lg: 0;
    --font: 'PingFang SC', 'Microsoft YaHei', -apple-system, sans-serif;
    --account-serif: 'Noto Serif SC Account', 'Songti SC', 'STSong', serif;
    --account-latin: 'FACET Account Latin', 'Times New Roman', var(--account-serif);
    --account-gutter: clamp(20px, 4.45vw, 72px);
    --nav-height: 88px;
    background: var(--bg-primary);
    color: var(--text-primary);
    color-scheme: light;
    font: 15px/1.75 var(--font);
}
.facet-account-editorial::before { content: none; }
.facet-account-editorial [hidden] { display: none !important; }
.facet-account-editorial :is(button, input, select, textarea) { border-radius: 0; }
.facet-account-editorial :is(h1, h2, h3) { font-family: var(--account-serif); }
.facet-account-editorial :is(a, button, input, select, textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.facet-account-editorial .skip-link { background: #151515; color: #fff; }
.facet-account-editorial .skip-link:not(:focus) { visibility: hidden; }

/* The compact ink masthead is shared by every account route. */
.facet-account-editorial :is(.auth-header, .account-header) {
    width: 100%;
    min-height: var(--nav-height);
    margin: 0;
    padding: 18px var(--account-gutter);
    border: 0;
    background: #0c0c0c;
    color: #ecebe6;
    gap: 24px;
}
.facet-account-editorial .nav-logo {
    border: 0;
    background: none;
    padding: 6px 0;
    color: #ecebe6;
    font: 600 25px/1.2 var(--account-serif);
    letter-spacing: .24em;
    box-shadow: none;
    white-space: nowrap;
}
.facet-account-editorial .nav-logo:hover { color: #fff; transform: none; background: none; box-shadow: none; }
.facet-account-editorial :is(.auth-home-link, .account-home-link, .account-user-name) { color: #c4c3bd; }
.facet-account-editorial :is(.auth-home-link, .account-home-link):hover { color: #fff; }
.facet-account-editorial .account-header-actions { gap: 12px 22px; }
.facet-account-editorial :is(.auth-header, .account-header) .btn-outline {
    background: transparent;
    border-color: #65655f;
    color: #ecebe6;
}
.facet-account-editorial :is(.auth-header, .account-header) .btn-outline:hover { border-color: #ecebe6; background: #252522; }
.facet-account-editorial .account-role-badge {
    padding: 3px 8px;
    border: 1px solid #aaa79f;
    border-radius: 0;
    background: transparent;
    color: #41413c;
    font-size: 10px;
    letter-spacing: .1em;
}
.facet-account-editorial .account-header .account-role-badge { color: #d2d0c8; border-color: #65655f; }

/* Linear forms, with status colors reserved for functional feedback. */
.facet-account-editorial .btn {
    min-height: 44px;
    padding: 10px 20px;
    border-radius: 0;
    box-shadow: none;
    font-size: 13px;
    line-height: 1.5;
    transition: background-color .18s, border-color .18s, color .18s;
    text-align: center;
    justify-content: center;
}
.facet-account-editorial .btn-primary { background: #151515; color: #f2f0ea; border: 1px solid #151515; }
.facet-account-editorial .btn-primary:hover { background: #393934; border-color: #393934; transform: none; }
.facet-account-editorial .btn-outline { background: transparent; color: #151515; border: 1px solid #aaa79f; }
.facet-account-editorial .btn-outline:hover { background: #dedbd3; border-color: #151515; color: #151515; transform: none; }
.facet-account-editorial .btn-danger { background: transparent; color: #922e29; border: 1px solid #bd8580; }
.facet-account-editorial .btn-danger:hover { background: #f1dfda; color: #75211e; border-color: #922e29; transform: none; }
.facet-account-editorial button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.facet-account-editorial :is(.auth-field, .service-form, .account-create-form) input:not([type='checkbox']):not([type='hidden']),
.facet-account-editorial :is(.service-form, .account-row-controls, .admin-calendar-staff, .admin-table) select,
.facet-account-editorial .service-form textarea {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 11px 2px;
    background: transparent;
    color: var(--text-primary);
    border: 0;
    border-bottom: 1px solid var(--border-light);
    box-shadow: none;
    font-size: 16px;
}
.facet-account-editorial select option { color: #151515; background: #f2f0ea; }
.facet-account-editorial :is(input, textarea)::placeholder { color: #77766f; }
.facet-account-editorial :is(.auth-field, .service-form, .account-create-form) input:focus,
.facet-account-editorial :is(.service-form, .account-row-controls, .admin-calendar-staff) select:focus,
.facet-account-editorial .service-form textarea:focus { border-color: #151515; box-shadow: none; }
.facet-account-editorial input[type='file']::file-selector-button { padding: 9px 12px; margin-right: 14px; border: 1px solid #aaa79f; background: transparent; color: #151515; font: inherit; cursor: pointer; }
.facet-account-editorial :is(.auth-status.is-success, .account-management-message.is-success, .account-state.is-active, .admin-status) { color: #276246; }
.facet-account-editorial .admin-status i { background: #276246; }
.facet-account-editorial :is(.auth-status.is-error, .auth-message.is-error, .service-message.is-error, .account-state:not(.is-active)) { color: #922e29; }
.facet-account-editorial :is(.auth-message, .service-message, .account-feature-message) {
    border: 1px solid var(--border);
    border-left: 3px solid #55554e;
    border-radius: 0;
    background: #e0ddd5;
    color: #33332f;
}
.facet-account-editorial :is(.auth-message.is-error, .service-message.is-error) { background: #f1dfda; border-color: #bd8580; color: #922e29; }
.facet-account-editorial .account-management-message.is-success { background: #e0e7dc; border-color: #819a7d; color: #276246; }
.facet-account-editorial :is(.auth-eyebrow, .account-card-index, .account-section-heading span, .admin-sidebar-heading span, .admin-stat-card > span) { color: #62625d; font-size: 11px; font-weight: 500; letter-spacing: .15em; }

/* Login: quiet black identity panel alongside the paper form. */
.facet-account-editorial .auth-shell { width: min(100% - 2 * var(--account-gutter), 1100px); min-height: calc(100svh - var(--nav-height)); padding: 56px 0; }
.facet-account-editorial .auth-card {
    width: min(100%, 940px);
    min-height: 570px;
    padding: 24px 0 24px calc(34% + 64px);
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.facet-account-editorial .auth-card::after { content: none; }
.facet-account-editorial .auth-brand-art { display: flex; align-items: center; justify-content: center; top: 0; bottom: 0; left: 0; right: auto; width: 34%; padding: 32px; background: #0c0c0c; opacity: 1; }
.facet-account-editorial .auth-brand-art img { width: min(100%, 180px); height: auto; }
.facet-account-editorial .auth-card h1 { font-size: clamp(36px, 4vw, 54px); line-height: 1.3; letter-spacing: -.03em; margin-bottom: 16px; }
.facet-account-editorial .auth-intro { font-size: 14px; }
.facet-account-editorial .auth-mode-tabs { margin-top: 28px; padding: 0; gap: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; }
.facet-account-editorial .auth-mode-tab { min-height: 48px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #62625d; }
.facet-account-editorial .auth-mode-tab.is-active { color: #151515; border-bottom-color: #151515; background: transparent; }
.facet-account-editorial .auth-form { margin-top: 24px; }
.facet-account-editorial .auth-field { margin-bottom: 22px; }
.facet-account-editorial .auth-note { color: #62625d; font-size: 12px; }

/* Workspace rhythm is shared with the homepage's team and pricing sections. */
.facet-account-editorial .account-shell { width: min(100% - 2 * var(--account-gutter), 1440px); min-height: calc(100svh - var(--nav-height)); padding: 54px 0 80px; }
.facet-account-editorial .service-shell { max-width: 1040px; }
.facet-account-editorial :is(.account-welcome, .admin-heading) h1,
.facet-account-editorial .service-shell h1 { font-size: clamp(32px, 3.8vw, 54px); font-weight: 800; line-height: 1.35; letter-spacing: -.035em; }
.facet-account-editorial :is(.account-section-heading, .service-section, .service-list) h2 { font-size: clamp(23px, 2vw, 30px); line-height: 1.55; }
.facet-account-editorial :is(.service-section, .service-list) h2 small { font: 12px/1.6 var(--font); letter-spacing: .04em; }
.facet-account-editorial :is(.service-back, .service-hint) { color: #62625d; }
.facet-account-editorial .service-back { display: inline-block; border-bottom: 1px solid #9c998f; margin-bottom: 20px; }
.facet-account-editorial .service-back + .auth-eyebrow { display: block; }
.facet-account-editorial .service-intro { max-width: 780px; }
.facet-account-editorial .admin-layout { grid-template-columns: 190px minmax(0, 1fr); gap: clamp(28px, 3.8vw, 58px); }
.facet-account-editorial .admin-sidebar { padding-right: 20px; border-right-color: var(--border); }
.facet-account-editorial .admin-sidebar-heading { padding: 10px 0 28px; }
.facet-account-editorial .admin-sidebar-heading strong { font: 700 24px/1.5 var(--account-serif); }
.facet-account-editorial .admin-nav { gap: 2px; }
.facet-account-editorial .admin-nav :is(a, button) { min-height: 48px; padding: 12px 10px; border-left: 2px solid transparent; color: #62625d; font-size: 13px; }
.facet-account-editorial .admin-nav :is(a:hover, button:hover, .is-active) { border-left-color: #151515; background: #dedbd3; color: #151515; }
.facet-account-editorial .admin-heading { padding: 0 0 32px; }
.facet-account-editorial .admin-heading p { max-width: 55ch; font-size: 14px; }
.facet-account-editorial .admin-stat-grid { gap: 0; border-bottom: 1px solid var(--border); }
.facet-account-editorial .admin-stat-card { padding: 26px 20px 28px; border: 0; border-left: 1px solid var(--border); border-radius: 0; background: transparent; }
.facet-account-editorial .admin-stat-card:first-child { border-left: 0; padding-left: 0; }
.facet-account-editorial .admin-stat-card strong { margin-top: 20px; font: 600 46px/1.2 var(--account-latin); }
.facet-account-editorial .admin-stat-link strong { font: 700 32px/1.7 var(--account-serif); }
.facet-account-editorial .admin-stat-link:hover { background: #dedbd3; transform: none; }
.facet-account-editorial :is(.account-card, .account-quick-link, .account-create-form, .account-management-row, .service-form, .service-record, .slot-card, .admin-table > div, .owner-calendar-actions) { border-radius: 0; box-shadow: none; background: transparent; }
.facet-account-editorial .account-quick-link { padding: 20px 0; border: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.facet-account-editorial .account-quick-link:hover { background: #dedbd3; border-color: #151515; }
.facet-account-editorial .account-quick-link strong { font: 700 19px/1.5 var(--account-serif); }
.facet-account-editorial .account-quick-link > span { font: 600 22px/1.5 var(--account-latin); color: #62625d; }
.facet-account-editorial .account-create-form { padding: 12px 0 24px; border: 0; gap: 22px 30px; }
.facet-account-editorial .account-management-row { padding: 24px 0; border: 0; border-bottom: 1px solid var(--border); grid-template-columns: minmax(180px, 1fr) auto minmax(260px, auto); gap: 14px; }
.facet-account-editorial .account-management-list { gap: 0; border-top: 1px solid var(--border); }
.facet-account-editorial .account-row-controls { grid-template-columns: 105px 90px auto; gap: 8px; }
.facet-account-editorial .account-row-controls .btn { min-height: 48px; }
.facet-account-editorial .service-form { max-width: 820px; padding: 24px 0; border: 0; border-top: 1px solid var(--border); gap: 24px; }
.facet-account-editorial :is(.service-record, .slot-card, .admin-table > div) { padding: 22px 0; border: 0; border-bottom: 1px solid var(--border); margin-top: 0; overflow-wrap: anywhere; }
.facet-account-editorial :is(.service-record, .admin-table) strong { font-family: var(--account-serif); font-size: 18px; }
.facet-account-editorial .status-pill { border: 1px solid #aaa79f; border-radius: 0; background: transparent; color: #50504c; }
.facet-account-editorial .owner-calendar-actions { background: #dedbd3; border: 1px solid var(--border); }
.facet-account-editorial .parameter-image { border-radius: 0; }
.facet-account-editorial .account-welcome { min-height: 190px; padding: 10px 0 40px; }
.facet-account-editorial .account-welcome img { width: 108px; opacity: 1; filter: none; background: #0c0c0c; padding: 12px; }
.facet-account-editorial .member-primary-grid { gap: 30px; margin-top: 36px; }
.facet-account-editorial .account-card-feature { padding: 28px 0; border: 0; border-bottom: 1px solid var(--border); min-height: 240px; }
.facet-account-editorial .account-card h2 { font: 700 28px/1.5 var(--account-serif); margin-top: 24px; }

/* Calendar states retain their semantic labels and gain contrasting paper tones. */
.facet-account-editorial :is(.calendar-panel, .admin-booking-calendar) { max-width: 900px; padding: 24px 0; border: 0; border-top: 1px solid #aaa79f; border-bottom: 1px solid #aaa79f; border-radius: 0; background: transparent; }
.facet-account-editorial .calendar-head :is(h2, h3) { font: 700 clamp(19px, 2.4vw, 26px)/1.4 var(--account-serif); margin: 0; }
.facet-account-editorial .calendar-head .btn { width: 44px; padding: 8px; }
.facet-account-editorial .calendar-legend :is(.is-open, .is-selected) { color: #151515; }
.facet-account-editorial .calendar-legend .is-full { color: #7b4b32; }
.facet-account-editorial .calendar-legend .is-closed { color: #62625d; }
.facet-account-editorial .calendar-day { border: 1px solid #c5c2b8; border-radius: 0; background: #f2f0ea; color: #62625d; min-width: 0; }
.facet-account-editorial .calendar-day.is-open { border-color: #54544e; color: #151515; background: #f7f5f0; }
.facet-account-editorial .calendar-day.is-full { border-color: #b1937e; background: #e7dacf; color: #734127; }
.facet-account-editorial .calendar-day.is-closed { color: #62625d; background: #dedbd3; }
.facet-account-editorial .calendar-day.is-selected { border-color: #151515; color: #f7f5f0; background: #151515; box-shadow: none; }
.facet-account-editorial .calendar-day.is-selected em { color: #dedbd3; }
.facet-account-editorial .calendar-day.is-expired { border-color: #c5c2b8; color: #79776f; background: #dedbd3; opacity: .7; }
.facet-account-editorial .calendar-day.is-empty { border-color: transparent; background: transparent; }
.facet-account-editorial .calendar-day:not(.is-empty):not(.is-expired):not(:disabled):hover { border-color: #151515; transform: none; outline: 1px solid #151515; outline-offset: -1px; }
.facet-account-editorial .admin-calendar-selection-bar .btn.is-active { background: #151515; color: #f7f5f0; border-color: #151515; }
.facet-account-editorial .booking-maintenance { max-width: 840px; margin: 6vh auto 0; padding: 56px 24px; border: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; }
.facet-account-editorial .booking-maintenance h1 { font: 800 clamp(28px, 4vw, 48px)/1.5 var(--account-serif); }
.facet-account-editorial .maintenance-mark { color: #151515; }
.facet-account-editorial .maintenance-kicker { color: #62625d; font-size: 12px; }

@media (max-width: 1160px) {
    .facet-account-editorial .account-management-row { grid-template-columns: minmax(0, 1fr) auto; }
    .facet-account-editorial :is(.account-row-controls, .account-lock-note) { grid-column: 1 / -1; }
    .facet-account-editorial .account-lock-note { text-align: left; }
}
@media (max-width: 920px) {
    .facet-account-editorial .account-header { flex-direction: row; align-items: center; flex-wrap: wrap; }
    .facet-account-editorial .account-header-actions { width: auto; flex: 1 1 400px; justify-content: flex-end; }
    .facet-account-editorial .account-user-name { margin-left: 0; }
    .facet-account-editorial .admin-layout { display: block; }
    .facet-account-editorial .admin-sidebar { border-right: 0; padding-right: 0; }
    .facet-account-editorial .admin-menu-toggle { border-radius: 0; width: 44px; height: 44px; background: transparent; }
    .facet-account-editorial .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .facet-account-editorial .admin-stat-card { padding: 20px; border-top: 1px solid var(--border); }
    .facet-account-editorial .admin-stat-card:nth-child(odd) { padding-left: 0; border-left: 0; }
    .facet-account-editorial .auth-card { padding-left: calc(29% + 36px); }
    .facet-account-editorial .auth-brand-art { width: 29%; padding: 22px; }
}
@media (max-width: 680px) {
    .facet-account-editorial { --nav-height: 74px; }
    .facet-account-editorial :is(.auth-header, .account-header) { gap: 14px; padding-block: 16px; }
    .facet-account-editorial .nav-logo { font-size: 23px; }
    .facet-account-editorial .account-header-actions { flex-basis: 100%; justify-content: flex-start; gap: 12px; }
    .facet-account-editorial .account-user-name { margin-left: 0; max-width: 120px; }
    .facet-account-editorial .account-signout { width: auto; margin-left: auto; }
    .facet-account-editorial .auth-shell { padding: 32px 0 44px; min-height: calc(100svh - 74px); align-items: start; }
    .facet-account-editorial .auth-card { min-height: 0; padding: 20px 0; }
    .facet-account-editorial .auth-brand-art { display: none; }
    .facet-account-editorial .auth-card h1 { font-size: 40px; }
    .facet-account-editorial .auth-inline-field { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
    .facet-account-editorial .auth-code-button { min-width: 102px; padding: 10px; font-size: 12px; }
    .facet-account-editorial .account-shell { padding: 32px 0 52px; }
    .facet-account-editorial :is(.account-welcome, .admin-heading) h1,
    .facet-account-editorial .service-shell h1 { font-size: 32px; }
    .facet-account-editorial .admin-heading { align-items: flex-start; gap: 18px; }
    .facet-account-editorial .admin-status { font-size: 12px; }
    .facet-account-editorial :is(.admin-action-grid, .member-primary-grid, .member-quick-grid) { grid-template-columns: 1fr; gap: 0; }
    .facet-account-editorial .account-quick-link + .account-quick-link { border-top: 0; }
    .facet-account-editorial .account-card-feature { min-height: 230px; padding: 26px 0; }
    .facet-account-editorial .account-welcome { min-height: 150px; padding-right: 60px; }
    .facet-account-editorial .account-welcome img { position: absolute; top: 8px; right: 0; width: 54px; padding: 6px; opacity: 1; }
    .facet-account-editorial .account-create-form { padding: 4px 0 20px; grid-template-columns: 1fr; }
    .facet-account-editorial .account-management-row { grid-template-columns: minmax(0, 1fr); }
    .facet-account-editorial .account-row-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .facet-account-editorial .account-row-controls .btn { grid-column: 1 / -1; }
    .facet-account-editorial .service-form { padding: 20px 0; }
    .facet-account-editorial .admin-table > div { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .facet-account-editorial :is(.calendar-panel, .admin-booking-calendar) { padding: 20px 0; }
    .facet-account-editorial :is(.calendar-weekdays, .calendar-grid) { gap: 4px; }
    .facet-account-editorial .calendar-day { min-height: 60px; padding: 8px 4px; }
    .facet-account-editorial .calendar-day small { font-size: 10px; }
    .facet-account-editorial .calendar-legend { gap: 8px 12px; font-size: 11px; }
    .facet-account-editorial .booking-maintenance { margin-top: 20px; padding: 36px 0; }
    .facet-account-editorial .booking-maintenance h1 { font-size: 30px; }
    .facet-account-editorial .maintenance-actions { gap: 10px; }
}
