.admin-label { color: var(--accent-dark); margin-left: 10px; }.admin-actions { margin-left: auto; }.divider { width: 1px; height: 28px; background: var(--line); }
.login-view { min-height: 650px; display: grid; place-items: center; }.login-card { width: min(430px, 100%); padding: 36px; border: 1px solid var(--line); background: var(--panel); border-radius: 7px; box-shadow: 0 8px 28px rgba(80,52,24,.08); }.login-card .page-title { font-size: 36px; }.login-card button { width: 100%; }.access-actions { display: flex; gap: 12px; margin-top: 24px; }
label { display: grid; gap: 8px; font-size: 14px; } input, textarea, select { width: 100%; padding: 11px 13px; border: 1px solid #d9caba; border-radius: 5px; background: rgba(255,255,255,.55); outline: none; } input:focus, textarea:focus, select:focus { border-color: var(--accent); box-shadow: 0 0 0 2px #eadbc9; }
.metadata-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(220px, .9fr); }
select { appearance: none; -webkit-appearance: none; padding-right: 44px; background-image: linear-gradient(45deg, transparent 50%, #8d673e 50%), linear-gradient(135deg, #8d673e 50%, transparent 50%); background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; }
.admin-heading { display: flex; justify-content: space-between; align-items: start; }.text-button { border: 0; background: transparent; color: var(--accent-dark); }
.admin-layout { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(330px, 1fr); gap: 32px; }.field-title { margin-bottom: 13px; }
.pdf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.upload-mode { display: flex; gap: 14px; margin: 0 0 23px; padding: 0; border: 0; }
.upload-mode legend { margin-bottom: 10px; color: var(--ink-soft); font-size: 14px; font-weight: 700; }
.upload-mode-option { display: flex; flex: 1; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,253,249,.55); cursor: pointer; }
.upload-mode-option:has(input:checked) { border-color: var(--accent); background: #f8efe4; box-shadow: 0 0 0 2px rgba(184,132,77,.12); }
.upload-mode-option input { width: auto; margin: 3px 0 0; accent-color: var(--accent); }
.upload-mode-option span { display: grid; gap: 3px; }
.upload-mode-option small { color: var(--muted); font-size: 12px; line-height: 1.4; }
.bilingual-upload { min-height: 235px; }
.bilingual-upload .drop-zone { min-height: 235px; }
.file-icon.bilingual { height: 52px; padding: 4px; place-items: center; line-height: 1.05; text-align: center; }
.pdf-badge.bilingual { background: #80517f; }
.bilingual-help { margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.drop-zone { min-height: 235px; border: 2px dashed #cbb08f; border-radius: 7px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; cursor: pointer; }.drop-zone input, .cover-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }.drop-zone strong { font: 22px 'Libre Baskerville', Georgia, serif; }.drop-zone small, .cover-drop small { color: var(--muted); }.file-icon { width: 38px; height: 48px; display: grid; place-items: end center; border: 2px solid var(--accent); color: var(--accent); font-weight: 700; border-radius: 3px; }
.selected-file { display: flex; align-items: center; gap: 18px; padding: 15px 22px; margin-top: 14px; border: 1px solid var(--line); border-radius: 5px; }.selected-file div { display: grid; gap: 4px; flex: 1; }.selected-file small { color: var(--muted); }.selected-file button { border: 0; background: transparent; color: var(--accent-dark); }.selected-file .remove { color: #bd2e27; }.pdf-badge { padding: 10px 5px 3px; background: #c93c34; color: white; font-weight: 700; border-radius: 2px; }
.pdf-badge.georgian { background: #356b55; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 23px; }.form-grid > label { display: block; }.form-grid input, .form-grid textarea, .form-grid select, .form-grid .cover-drop { margin-top: 8px; }.form-grid em { color: #b12e26; font-style: normal; }.lower-grid { align-items: stretch; }.lower-grid > label { position: relative; }.lower-grid textarea { height: 150px; resize: vertical; }.counter { position: absolute; right: 12px; bottom: 10px; color: var(--muted); }
.cover-drop { min-height: 150px; border: 2px dashed #cbb08f; border-radius: 7px; display: flex; align-items: center; justify-content: center; gap: 28px; cursor: pointer; }.cover-drop div { display: grid; gap: 9px; }.cover-drop .button { width: max-content; padding: 8px 13px; }.image-icon { font-size: 45px; color: var(--accent); }
.form-actions { display: flex; gap: 22px; padding-top: 26px; margin-top: 30px; border-top: 1px solid var(--line); }.form-actions .button { display: inline-grid; place-items: center; }
.processing-card { min-width: 0; padding: 28px 26px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,253,249,.6); }.processing-card h2 { margin: 0 0 7px; font: 22px 'Libre Baskerville', Georgia, serif; }.processing-card > p { margin: 0; color: var(--muted); font-size: 13px; }
.processing-card ol { list-style: none; margin: 25px 0; padding: 0; }.processing-card li { position: relative; display: flex; gap: 18px; min-height: 82px; opacity: .62; }.processing-card li::after { content: ''; position: absolute; left: 20px; top: 42px; bottom: 0; border-left: 1px dotted #b99b7b; }.processing-card li:last-child::after { display: none; }.processing-card li i { flex: 0 0 42px; height: 42px; border: 1px solid #b99067; border-radius: 50%; display: grid; place-items: center; color: var(--accent-dark); font-style: normal; }.processing-card li div { display: grid; align-content: start; gap: 7px; padding-top: 7px; }.processing-card li strong { font: 16px 'Libre Baskerville', Georgia, serif; }.processing-card li span { color: var(--muted); font-size: 12px; }.processing-card li.active, .processing-card li.done { opacity: 1; }.processing-card li.active i { color: white; background: var(--accent); }.processing-card li.done i { background: #f3eadf; }
.status-note { display: flex; gap: 15px; padding: 18px; border: 1px solid var(--line); border-radius: 5px; font: 13px/1.7 'Libre Baskerville', Georgia, serif; }
.library-admin { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--line); }
.library-admin-header { display: flex; justify-content: space-between; align-items: start; gap: 18px; margin-bottom: 18px; }
.library-admin-header h2 { margin: 0 0 6px; font: 24px 'Libre Baskerville', Georgia, serif; }
.library-admin-header p { margin: 0; color: var(--muted); }
.library-admin-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-left: auto; }
.library-admin-actions .button { min-height: 42px; white-space: nowrap; }
.library-message { min-height: 24px; text-align: right; color: var(--muted); }
.library-message.success { color: #356b55; }
.library-message.error { color: #bd2e27; }
.books-empty { padding: 22px; border: 1px dashed #cbb08f; border-radius: 7px; color: var(--muted); background: rgba(255,255,255,.45); }
.books-list { display: grid; gap: 16px; }
.admin-book-card { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; gap: 18px; align-items: start; padding: 18px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,253,249,.72); }
.admin-book-cover { position: relative; width: 84px; aspect-ratio: 2 / 3; border-radius: 6px; overflow: hidden; background: #efe4d7; display: grid; place-items: center; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.admin-book-cover .difficulty-badge { position: absolute; top: 8px; left: 8px; z-index: 1; transform: scale(.9); transform-origin: top left; }
.admin-book-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.admin-book-details { min-width: 0; }
.admin-book-details h3 { margin: 0 0 6px; font: 20px 'Libre Baskerville', Georgia, serif; }
.admin-book-meta { margin: 0 0 6px; color: var(--muted); font-size: 13px; }
.admin-book-description { margin: 8px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.admin-book-actions { display: grid; gap: 10px; justify-items: end; }
.admin-book-actions .button, .danger-button { min-width: 132px; }
.danger-button { padding: 10px 14px; border: 1px solid #bd2e27; border-radius: 5px; background: #fff7f6; color: #bd2e27; cursor: pointer; }
.danger-button:disabled { opacity: .6; cursor: wait; }
.dictionary-admin { margin-top: 28px; }
.missing-words-list { display: grid; gap: 16px; }
.missing-word-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 480px); gap: 18px; align-items: start; padding: 18px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,253,249,.72); }
.missing-word-details h3 { margin: 0 0 6px; font: 20px 'Libre Baskerville', Georgia, serif; }
.missing-word-form { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; }
.missing-word-form input { margin: 0; }
.missing-word-form .button { min-height: 44px; white-space: nowrap; }
@media (max-width: 980px) { .admin-layout { grid-template-columns: 1fr; }.processing-card { order: -1; }.form-grid, .pdf-grid, .upload-mode { grid-template-columns: 1fr; }.upload-mode { display: grid; }.admin-actions .avatar, .admin-actions span { display: none; }.library-admin-header, .admin-book-card { grid-template-columns: 1fr; display: grid; }.library-admin-actions { width: 100%; justify-content: start; flex-wrap: wrap; margin-left: 0; }.library-message { text-align: left; }.admin-book-cover { width: 120px; }.admin-book-actions { justify-items: start; } }
@media (max-width: 980px) { .missing-word-card, .missing-word-form { grid-template-columns: 1fr; } }
.book-edit-form { grid-column: 1 / -1; display: grid; gap: 14px; padding: 20px; border-top: 1px solid var(--line); }
.book-edit-form input[type='checkbox'] { width: auto; justify-self: start; }
.book-edit-form button { justify-self: start; }
