@charset "UTF-8";
:root { color-scheme: light; --green: #173e35; --border: #dce2dd; }
* { box-sizing: border-box; }
body { margin: 0; color: #182d27; background: #f3f5f1; font: 16px/1.7 "Malgun Gothic", sans-serif; word-break: keep-all; }
a { color: var(--green); text-decoration: none; }
a:hover { text-decoration: underline; }
h1,h2,p { margin-top: 0; }
h1 { font-size: 1.8rem; margin-bottom: 28px; }
h2 { font-size: 1.2rem; }
.admin-header { padding: 20px 5%; display: flex; justify-content: space-between; align-items: center; gap: 20px; background: white; border-bottom: 1px solid var(--border); }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; line-height: 1; }
.brand img { display: block; width: auto; height: auto; max-width: min(170px, 42vw); max-height: 42px; }
.brand span { font-size: .85rem; font-weight: 400; margin-left: 12px; white-space: nowrap; }
.admin-nav { display: flex; flex-wrap: wrap; gap: 24px; padding: 15px 5%; background: white; border-bottom: 1px solid var(--border); }
.admin-main { width: min(1200px, 90%); margin: 45px auto; }
.panel { background: white; padding: 30px; border: 1px solid var(--border); border-radius: 6px; }
.login-form { max-width: 460px; }
.edit-form { max-width: 760px; }
.field { margin-bottom: 22px; }
label { display: block; margin-bottom: 8px; font-weight: 600; }
label span { color: #667366; font-size: .85rem; font-weight: 400; }
input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #9faa9f; border-radius: 3px; font: inherit; background: white; color: #182d27; }
.password-input { position: relative; }
.password-input input { padding-right: 54px; }
.password-toggle { position: absolute; top: 1px; right: 1px; width: 46px; min-height: 44px; padding: 0; border: 0; border-left: 1px solid var(--border); border-radius: 0 3px 3px 0; background: transparent; color: var(--green); font-size: 1.15rem; }
.password-toggle[aria-pressed="true"] { background: #eef3e8; }
.password-toggle svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
input[aria-invalid] { border-color: #a12626; }
button,.button { display: inline-flex; align-items: center; justify-content: center; padding: 10px 18px; min-height: 44px; border: 1px solid var(--green); border-radius: 3px; background: var(--green); color: white; font: inherit; cursor: pointer; }
.button:hover,button:hover { opacity: .88; text-decoration: none; }
.secondary { background: white; color: var(--green); border-color: var(--border); }
.danger { background: #a12626; border-color: #a12626; }
.danger-link { color: #a12626; }
.actions,.list-heading,.row-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.actions form { margin: 0; }
.list-heading { justify-content: space-between; margin-bottom: 22px; }
.list-heading p { margin-bottom: 0; }
.dashboard-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.dashboard-card p,.muted { color: #637064; }
.badge { display: inline-block; font-size: .85rem; padding: 4px 10px; background: #eef3e8; }
.error,.success { padding: 14px 18px; border-left: 3px solid; }
.error,.field-error { color: #982222; background: #fff4f1; }
.field-error { margin: 6px 0 0; font-size: .9rem; background: transparent; }
.success { color: #245634; background: #e7f1e5; }
.table-scroll { overflow-x: auto; padding: 0; }
table { width: 100%; min-width: 850px; border-collapse: collapse; text-align: left; }
th,td { padding: 18px; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
th { background: #eaf0e5; font-weight: 600; white-space: nowrap; }
.row-actions { flex-wrap: nowrap; white-space: nowrap; }
.row-actions a { padding: 7px 0; }
.empty { padding: 50px 24px; text-align: center; color: #637064; }
.record { display: grid; grid-template-columns: 100px 1fr; gap: 16px; }
.record dd { margin: 0; overflow-wrap: anywhere; }
.record dt { font-weight: 600; }
:focus-visible { outline: 3px solid #6e8d52; outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.skip { position: fixed; top: -100px; background: white; padding: 10px; }
.skip:focus { top: 0; }
@media (max-width: 650px) {
    .admin-header { align-items: flex-start; flex-direction: column; padding: 20px; }
    .brand img { max-width: min(155px, 55vw); max-height: 38px; }
    .admin-nav { gap: 12px 20px; padding: 14px 20px; font-size: .9rem; }
    .admin-main { width: calc(100% - 40px); margin: 30px auto; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .panel { padding: 22px; }
    .table-scroll { padding: 0; }
    h1 { font-size: 1.5rem; }
    .record { grid-template-columns: 75px 1fr; }
    .password-toggle { width: 48px; min-height: 46px; }
}
textarea,select { width:100%; font:inherit; padding:10px 12px; border:1px solid #9faa9f; border-radius:3px; color:#182d27; background:#fff; }
textarea { resize:vertical; }
.check { display:flex; gap:10px; align-items:center; }
.check input { width:18px; min-height:18px; height:18px; }
.admin-thumb { display:block; width:90px; height:115px; object-fit:contain; }
.body-text { white-space:pre-wrap; overflow-wrap:anywhere; margin:30px 0; }
.stat-count { font-size:2.5rem; margin-right:8px; }
.nav-label { color:#69776c; font-size:.8rem; border-left:1px solid #dce2dd; padding-left:18px; align-self:center; }
.pagination { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:25px; }
.pagination a { padding:8px 15px; border:1px solid #dce2dd; }
.pagination a[aria-current] { background:#173e35; color:white; }
.import-result { margin-bottom:25px; }
.edit-form .actions { margin-bottom:20px; }
.admin-nav form { margin:0; } .admin-nav .nav-logout { background:transparent; color:#173e35; border:0; padding:0; min-height:0; line-height:1.7; }
