.admin-page{min-height:100vh;background:#f7f5ed;color:var(--ink)}
.admin-page [hidden]{display:none!important}
.admin-header{height:76px;padding:0 max(28px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e9e7dc}
.admin-header .brand{color:var(--ink);text-decoration:none}
.admin-header .back-link{color:#65764f;text-decoration:none;font-size:12px}
.admin-wrap{width:min(1160px,calc(100% - 48px));margin:54px auto 90px}
.login-card{width:min(440px,100%);margin:8vh auto 0;padding:42px;background:#fff;border:1px solid #e8e6da;box-shadow:0 18px 55px #263b2710}
.login-card h1,.admin-title h1{font:600 38px/1.13 var(--serif);margin:14px 0}
.login-card h1 em{font-weight:600;color:#7e9658}
.login-card>p,.admin-title p{color:#777d70;font-size:13px;line-height:1.7}
.login-card form{display:grid;gap:12px;margin:24px 0 12px}
.admin-page input:not([type=checkbox]),.admin-page select,.admin-page textarea{width:100%;min-width:0;padding:12px 13px;border:1px solid #dedfd3;border-radius:2px;background:#fff;color:var(--ink);font:400 12px var(--sans);outline:none}
.admin-page input:focus,.admin-page select:focus,.admin-page textarea:focus{border-color:#78915b;box-shadow:0 0 0 3px #78915b1a}
.admin-page textarea{min-height:88px;resize:vertical}
.admin-page .button.full{width:100%;justify-content:space-between}
.login-hint,.field-hint{display:block;color:#858a7e;font-size:10px;line-height:1.6;margin-top:8px}
.error-text{margin:10px 0;color:#9a453a;font-size:12px}
.admin-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.admin-title h1{margin-bottom:8px}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0 32px}
.stat-grid article{padding:21px 23px;background:#fff;border:1px solid #e9e7dc;display:grid;gap:7px}
.stat-grid article small{font-size:9px;letter-spacing:.12em;color:#7a806f}
.stat-grid article b{font:600 30px var(--serif);color:#294b34}
.stat-grid article span{font-size:10px;color:#858a7e}
.admin-tabs{display:flex;gap:5px;padding:5px;border-bottom:1px solid #e3e2d8;overflow-x:auto}
.admin-tab{border:0;background:transparent;color:#73796c;padding:13px 17px;font:500 11px var(--sans);cursor:pointer;border-bottom:2px solid transparent}
.admin-tab:hover,.admin-tab.active{color:#294b34}
.admin-tab.active{border-bottom-color:#78915b}
#admin-content{min-height:180px}
.admin-table-wrap{margin-top:18px;overflow:auto;background:#fff;border:1px solid #e9e7dc}
.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}
.admin-table th{padding:14px 15px;background:#f1f0e8;color:#73796c;font-size:9px;letter-spacing:.08em;white-space:nowrap}
.admin-table td{padding:14px 15px;border-top:1px solid #efeee7;vertical-align:middle}
.admin-table td select{min-width:130px}
.admin-table button{cursor:pointer}
.empty-admin{margin-top:18px;padding:52px 20px;text-align:center;background:#fff;border:1px solid #e9e7dc;color:#858a7e;font-size:12px}
.admin-modal{display:none;position:fixed;inset:0;z-index:50;padding:28px 16px;overflow-y:auto;background:#18231dcc;align-items:center;justify-content:center}
.admin-modal.open{display:flex}
.admin-modal-card{position:relative;width:min(580px,100%);max-height:calc(100vh - 56px);overflow-y:auto;padding:34px;background:#fff;box-shadow:0 24px 80px #0003}
.admin-modal-card h2{font:600 26px/1.2 var(--serif);margin:10px 0 22px}
.admin-modal-card .close{position:absolute;right:15px;top:12px;width:36px;height:36px;border:0;background:transparent;color:#52614b;font-size:25px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:20px}
.form-grid>label{display:block;color:#596153;font-size:10px;line-height:1.5}
.form-grid>label input,.form-grid>label select,.form-grid>label textarea{display:block;margin-top:6px}
.form-grid .wide{grid-column:1/-1}
.form-grid input[type=file]{padding:9px;font-size:10px}
.form-grid .check-label{display:flex;align-items:center;gap:8px;font-size:11px}
.form-grid .check-label input{accent-color:#294b34}
.admin-toast{z-index:70}
.cell-sub{display:block;color:#858a7e;font-size:9px;margin-top:4px}.admin-title .button{white-space:nowrap}.admin-tab{white-space:nowrap}.admin-tabs{overflow-x:auto}.table-note{padding:12px 15px;background:#edf0e2;color:#63764e;font-size:10px;margin-top:15px}.row-actions{white-space:nowrap}.quiet-action{border:0;background:transparent;padding:8px;color:#777f6e;font:500 10px var(--sans);cursor:pointer}.quiet-action:hover{color:#9b4437}.archived-row{opacity:.62}.article-cell{display:flex;align-items:center;gap:10px;min-width:220px}.article-cell img{width:54px;height:44px;object-fit:cover}.article-cell b,.article-cell small{display:block}.article-cell small{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#858a7e;margin-top:4px}.admin-table code{font-size:9px;color:#65764f}.published-badge{background:#e4efde;color:#3d6947}.draft-badge{background:#eeeadd;color:#81734c}.article-modal-card{width:min(760px,100%)}.article-modal-card textarea[name=body]{min-height:230px;line-height:1.65}.admin-toast{position:fixed;right:22px;bottom:20px;background:#294b34;color:white;padding:13px 18px;border-radius:4px;font-size:11px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;max-width:min(440px,calc(100% - 35px))}.admin-toast.show{opacity:1;transform:none}.admin-toast.error{background:#873c32}
@media(max-width:700px){.admin-header{height:64px;padding:0 18px}.admin-wrap{width:calc(100% - 32px);margin:32px auto 60px}.login-card{padding:28px 22px}.login-card h1,.admin-title h1{font-size:32px}.admin-title{align-items:flex-start;flex-direction:column}.stat-grid{gap:8px}.stat-grid article{padding:14px 12px}.stat-grid article b{font-size:24px}.stat-grid article small{font-size:8px}.admin-tab{padding:12px 11px}.admin-modal-card{padding:27px 20px}.form-grid{grid-template-columns:1fr;gap:12px}.form-grid .wide{grid-column:auto}}
