/* The admin site: one calm column. Buttons sit on the LEFT of their row (in a right-to-left page that is the END of the row). */
body.admin { background: var(--paper); }
.admin-app { max-width: 820px; margin: 0 auto; padding: 28px 16px 60px; }
.admin-head { margin-block-end: 18px; }
.admin-who { color: var(--ink-2); margin-block-start: 4px; }
.admin-card h2 { margin-block-end: 6px; }
.admin-form { display: flex; flex-direction: column; gap: 14px; margin-block-start: 8px; }
.admin-form label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; }
.admin-form input { font-weight: 400; }
.admin-problem { color: var(--bad); background: var(--bad-wash); padding: 8px 12px; border-radius: 10px; }
.admin-code { font-family: var(--mono); font-size: 2.4rem; font-weight: 700; letter-spacing: .12em; text-align: left; margin-block: 10px; color: var(--accent-dark); }
.actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-block: 12px 2px; }
.admin-parts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.admin-parts li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 0; border-block-end: 1px dashed var(--rule); }
.admin-parts li:last-child { border-block-end: 0; }
.admin-parts .what { display: flex; flex-direction: column; min-width: 0; }
.admin-parts .what small { color: var(--ink-2); }
.admin-parts .where { font-family: var(--mono); direction: ltr; color: var(--ink-2); font-size: .85rem; }
.admin-foot { margin-block-start: 8px; }
@media (max-width: 520px) { .admin-code { font-size: 1.9rem; } .admin-parts li { flex-wrap: wrap; } }
.usage-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 10px 0; }
.usage-card { background: var(--sheet); border: 1px solid var(--rule); border-radius: 14px; padding: 10px 12px; text-align: center; }
.usage-card b { display: block; font-size: 1.6rem; color: var(--accent-dark, #2a2ca3); }
.usage-card small { color: var(--ink-2); }
.usage-table { width: 100%; border-collapse: collapse; margin: 8px 0 14px; }
.usage-table th, .usage-table td { padding: 6px 8px; border-bottom: 1px solid var(--rule); text-align: start; }
.usage-table td.n { font-variant-numeric: tabular-nums; }
.access-list { line-height: 1.9; padding-inline-start: 20px; }
.access-list li { margin-block: 4px; }
.admin-state { font-size: 1.2rem; font-weight: 700; margin-block: 6px; }
.admin-state.is-open { color: var(--ok); }
.admin-state.is-closed { color: var(--warn); }
.admin-form input[type="number"] { width: 100%; box-sizing: border-box; padding: 8px 12px; border: 2px solid var(--rule); border-radius: 12px; font: inherit; background: var(--sheet); color: var(--ink); text-align: left; }
.admin-form input[type="number"]:focus { border-color: var(--accent); outline: none; }
.admin-form select { font-weight: 400; }
.admin-card h3 { margin-block: 14px 4px; font-size: 1.05rem; }
.admin-form > .admin-form { margin-block: 0; }
#ai-notes { margin: 0; padding-inline-start: 22px; }
.admin-form label small { font-weight: 400; }

.admin-classes { margin-block-end: 16px; }
.class-cards { display: flex; flex-direction: column; gap: 14px; }
.class-card textarea { width: 100%; box-sizing: border-box; min-height: 9em; padding: 10px 12px; border: 2px solid var(--rule); border-radius: 12px; font: inherit; background: var(--sheet); color: var(--ink); }
.class-card textarea:focus { border-color: var(--accent); outline: none; }
.class-card .class-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; }
.class-card .class-head h3 { margin: 0; font-size: 1.3rem; }
.class-card .class-head .admin-state { margin: 0; font-size: 1rem; }
.class-card h4 { margin-block: 16px 4px; font-size: 1rem; }
.class-card .class-rename { justify-content: space-between; }
.class-card .class-rename label { display: flex; align-items: center; gap: 10px; font-weight: 600; flex-wrap: wrap; }
.class-card .class-rename input { flex: 1 1 8em; max-width: 14em; padding: 8px 12px; border: 2px solid var(--rule); border-radius: 12px; font: inherit; background: var(--sheet); color: var(--ink); }
.admin-code.small { font-size: 1.7rem; margin-block: 2px 6px; }
.admin-table { width: 100%; border-collapse: collapse; margin-block: 6px; }
.admin-table th, .admin-table td { text-align: start; padding: 6px 10px; border-block-end: 1px dashed var(--rule); }
.admin-table .ltr-cell { font-family: var(--mono); font-weight: 700; letter-spacing: .1em; }
.admin-result { overflow-x: auto; }

.st-table { width: 100%; border-collapse: collapse; }
.st-table th, .st-table td { padding: 6px 8px; border-bottom: 1px solid var(--rule); text-align: start; }
.up-entry { border: 1px solid var(--rule); border-radius: 12px; padding: 8px 12px; margin: 8px 0; background: var(--sheet); }
.up-entry summary { cursor: pointer; font-weight: 700; }
.up-body p { margin: 6px 0; line-height: 1.9; }
.up-body ul { margin: 4px 0; padding-inline-start: 20px; line-height: 1.9; }
.up-body li.up-sub { margin-inline-start: 18px; list-style: circle; }

/* «گزارش اشکال‌ها» */
.fb-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.fb-item { padding: 10px 12px; border: 1px solid var(--rule, #e3e5f2); border-radius: 12px; background: #fff; }
.fb-head { margin: 0 0 4px; }
.fb-text { margin: 0 0 6px; line-height: 1.8; white-space: pre-wrap; }
.fb-ua { font-size: .8em; opacity: .7; word-break: break-all; }

.au-bad { border-color: #f0b4b4; background: #fff6f6; }
#bk-copies li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.fb-item .actions { margin: 6px 0 0; }
.fb-copy-box { width: 100%; min-height: 120px; margin-top: 6px; font-size: .85rem; direction: ltr; text-align: left; }
