.admin-body { min-height: 100vh; background: var(--paper-deep); }.admin-header { min-height: 100px; padding: 0 5%; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--ink); background: var(--paper); }.admin-public-link { padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: .75rem; font-weight: 800; }.admin-main { max-width: 1580px; margin: auto; padding: clamp(34px, 5vw, 80px) 5%; }.admin-login { max-width: 720px; padding: clamp(28px, 5vw, 70px); background: var(--paper); border: 1px solid var(--line); }.admin-login h1, .admin-bar h1 { margin: 14px 0 18px; font-size: clamp(3.1rem, 6vw, 6.4rem); letter-spacing: -.08em; line-height: .88; font-weight: 600; }.login-intro { max-width: 44ch; color: var(--ink-soft); line-height: 1.7; }.login-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 36px; }.login-form label, .form-grid label, .wide-field, .translation-head label { display: grid; gap: 7px; color: var(--ink-soft); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.login-form input, .form-grid input, .form-grid select, .wide-field textarea, .translation-head select { min-height: 46px; border: 1px solid var(--line); border-radius: 0; background: var(--paper); padding: 10px 12px; color: var(--ink); font-size: .91rem; font-weight: 600; letter-spacing: 0; text-transform: none; }.login-form button { grid-column: 1 / -1; }.admin-primary { min-height: 48px; display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; padding: 0 17px; color: var(--paper); background: var(--green); font-size: .78rem; font-weight: 800; }.admin-primary:hover { background: var(--ink); }.admin-primary span { font-size: 1.05rem; }.admin-quiet { min-height: 43px; border-bottom: 1px solid var(--ink); padding: 0 2px; font-size: .74rem; font-weight: 800; }.form-message { min-height: 22px; margin: 14px 0 0; color: var(--ink-soft); font-size: .78rem; }.form-message.is-error { color: #9e3627; }.form-message.is-success { color: #1c6a45; }.connection-note { display: flex; gap: 11px; align-items: start; margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--line); font-size: .76rem; }.connection-note p { margin-top: 3px; color: var(--ink-soft); line-height: 1.5; }.note-dot { width: 9px; height: 9px; margin-top: 5px; border-radius: 50%; background: var(--clay); flex: 0 0 auto; }.connection-note.connected .note-dot { background: #278358; }.connection-note.disconnected .note-dot { background: #aa4237; }
.admin-bar { display: flex; justify-content: space-between; align-items: end; gap: 24px; }.admin-bar h1 { margin-bottom: 0; font-size: clamp(3rem, 5vw, 5.7rem); }.admin-bar-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 16px; }.admin-bar-actions > span { color: var(--ink-soft); font-size: .7rem; }.admin-tabs { display: flex; gap: 25px; margin: 40px 0 45px; border-bottom: 1px solid var(--line); }.admin-tabs button { position: relative; padding: 12px 0; color: var(--ink-soft); font-size: .77rem; font-weight: 800; }.admin-tabs button[aria-pressed='true'] { color: var(--ink); }.admin-tabs button[aria-pressed='true']::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--ink); }.admin-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }.metric { min-height: 122px; padding: 21px; background: var(--paper); }.metric strong { display: block; margin-top: 11px; font-family: Gloock, Georgia, serif; font-size: 2.7rem; line-height: 1; font-weight: 400; }.metric span { color: var(--ink-soft); font-size: .65rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }.admin-section-top { display: flex; justify-content: space-between; align-items: end; gap: 22px; margin: 62px 0 28px; }.admin-section-top h2, .import-hero h2, .language-hero h2 { margin-top: 9px; font-size: clamp(2.1rem, 4vw, 4.5rem); line-height: .93; letter-spacing: -.07em; font-weight: 600; }.admin-search { min-width: min(320px, 100%); border-bottom: 1px solid var(--ink); }.admin-search input { width: 100%; min-height: 40px; border: 0; background: transparent; padding: 0; font-size: .83rem; }.admin-list { border-top: 1px solid var(--ink); }.admin-row { display: grid; grid-template-columns: 88px minmax(180px,1.3fr) .8fr .7fr .4fr auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }.admin-row-image { width: 72px; height: 56px; background: var(--mist); object-fit: cover; }.admin-row h3 { font-size: 1rem; line-height: 1.15; letter-spacing: -.025em; }.admin-row p { margin-top: 4px; color: var(--ink-soft); font-size: .69rem; }.status-tag { display: inline-flex; width: max-content; padding: 5px 7px; font-size: .61rem; letter-spacing: .09em; font-weight: 800; text-transform: uppercase; }.status-tag.published { background: var(--sun); }.status-tag.draft { background: var(--mist); }.status-tag.archived { background: var(--line); }.admin-edit { padding-bottom: 4px; border-bottom: 1px solid var(--ink); font-size: .72rem; font-weight: 800; }
.import-hero, .language-hero { max-width: 770px; }.import-hero > p:last-child, .language-hero > p:last-child { max-width: 62ch; margin-top: 20px; color: var(--ink-soft); line-height: 1.7; }.import-hero code { font: inherit; font-weight: 800; }.import-box { max-width: 820px; margin-top: 42px; padding: clamp(20px, 4vw, 44px); background: var(--paper); border: 1px solid var(--line); }.file-drop { min-height: 220px; display: grid; place-content: center; justify-items: center; gap: 8px; padding: 25px; border: 1px dashed var(--ink-soft); text-align: center; cursor: pointer; }.file-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }.drop-icon { font-size: 2.1rem; }.file-drop strong { font-size: 1rem; }.file-drop small { max-width: 46ch; color: var(--ink-soft); font-size: .73rem; line-height: 1.55; }.import-preview { margin: 20px 0; }.import-preview p { color: var(--ink-soft); font-size: .82rem; }.import-preview ul { margin: 10px 0 0; padding-left: 18px; color: var(--ink-soft); font-size: .78rem; }.language-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1px; margin-top: 42px; background: var(--line); border: 1px solid var(--line); }.language-cell { min-height: 120px; padding: 18px; background: var(--paper); }.language-cell strong { display: block; font-size: 1.1rem; }.language-cell span { display: block; margin-top: 6px; color: var(--ink-soft); font-size: .7rem; }.language-cell b { display: block; margin-top: 16px; color: var(--green); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.property-editor { margin-top: 60px; padding: clamp(22px, 4vw, 48px); background: var(--paper); border: 1px solid var(--ink); }.editor-header { display: flex; justify-content: space-between; align-items: start; gap: 22px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }.editor-header h2 { margin-top: 8px; font-size: clamp(2rem, 3.5vw, 3.8rem); letter-spacing: -.07em; line-height: .92; }.editor-close { width: 44px; height: 44px; font-size: 2rem; }.editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: clamp(26px, 5vw, 72px); padding-top: 33px; }.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }.wide-field { margin-top: 17px; }.wide-field textarea { min-height: 90px; resize: vertical; line-height: 1.55; }.wide-field span { color: var(--ink-soft); font-size: .6rem; }.editor-side { padding: 20px; background: var(--paper-deep); align-self: start; }.check-line { display: flex; gap: 9px; align-items: center; margin-top: 12px; font-size: .78rem; font-weight: 700; }.editor-side hr { border: 0; border-top: 1px solid var(--line); margin: 25px 0; }.photo-upload { display: block; margin-top: 12px; padding: 12px; border: 1px solid var(--ink); text-align: center; font-size: .74rem; font-weight: 800; cursor: pointer; }.photo-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }.image-help { margin-top: 10px; color: var(--ink-soft); font-size: .68rem; line-height: 1.55; }.editor-images { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 15px; }.editor-images img { width: 100%; aspect-ratio: 1; object-fit: cover; }.translation-editor { margin-top: 38px; padding-top: 28px; border-top: 1px solid var(--line); }.translation-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; }.translation-head h3 { margin-top: 7px; font-size: 1.6rem; letter-spacing: -.045em; }.translation-head label { min-width: 190px; }.translation-grid { margin-top: 20px; }.editor-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 29px; padding-top: 20px; border-top: 1px solid var(--line); }.editor-footer .form-message { margin: 0; }.editor-footer > div { display: flex; gap: 14px; align-items: center; }
@media(max-width:780px) { .admin-header { min-height: 86px; }.admin-main { padding: 32px 5%; }.login-form, .form-grid { grid-template-columns: 1fr; }.admin-bar { align-items: start; flex-direction: column; }.admin-bar-actions { justify-content: start; }.admin-tabs { margin: 30px 0; overflow-x: auto; }.admin-metrics { grid-template-columns: 1fr; }.admin-section-top { align-items: start; flex-direction: column; margin-top: 42px; }.admin-search { width: 100%; }.admin-row { grid-template-columns: 66px 1fr auto; }.admin-row > :nth-child(3), .admin-row > :nth-child(4), .admin-row > :nth-child(5) { display: none; }.admin-row-image { width: 54px; height: 48px; }.editor-layout { grid-template-columns: 1fr; }.editor-side { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.editor-side hr { display: none; }.translation-head, .editor-footer { align-items: start; flex-direction: column; }.translation-head label { width: 100%; }.editor-footer > div { width: 100%; justify-content: space-between; }.admin-login { padding: 28px; }.admin-login h1 { font-size: 3.4rem; } }
