@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,700;0,9..40,800;1,9..40,400&family=Lora:wght@500;600;700&display=swap";*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:#f3f6f5;margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}:root{--font-sans:"DM Sans", system-ui, sans-serif;--font-serif:"Lora", Georgia, serif;--green-950:#021a0e;--green-900:#042d18;--green-800:#074d2b;--green-700:#0a6b3c;--green-600:#0e8a4e;--green-500:#13a860;--green-200:#b4ecd2;--green-100:#daf4e9;--green-50:#f0faf5;--amber-500:#f0b94a;--amber-400:#f7cf7a;--amber-100:#fff8e3;--amber-50:#fffdf5;--gray-50:#f7faf8;--gray-100:#edf3ef;--gray-200:#d9e5df;--gray-300:#c4d4cc;--gray-400:#9eb5aa;--gray-500:#6e8c80;--gray-600:#4d6b60;--gray-700:#344f47;--gray-900:#141f1b;--error-bg:#fff0f0;--error-text:#a51c1c;--success-bg:var(--green-50);--success-text:var(--green-800);--sidebar-w:272px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-card:0 2px 12px #042d1812, 0 1px 3px #042d180d;--shadow-drop:0 8px 32px #042d1824;--transition:.18s cubic-bezier(.4, 0, .2, 1)}.admin-panel,.admin-login-page,.admin-shell{background:var(--gray-50);color:var(--gray-900);font-family:var(--font-sans);min-height:100vh}.admin-center,.admin-login-page{justify-content:center;align-items:center;padding:24px;display:flex}.admin-status-card,.admin-login-card,.admin-table-card,.admin-form-card,.dashboard-summary-card,.dashboard-count-card,.dashboard-empty{border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff}.admin-login-card{gap:18px;width:100%;max-width:420px;padding:36px 32px;animation:.35s cubic-bezier(.4,0,.2,1) both fadeUp;display:grid}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.admin-kicker{color:var(--green-700);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.admin-login-card h1,.admin-brand h1,.admin-workspace-header h2{color:var(--green-900);font-family:var(--font-serif);margin:4px 0 0;font-size:26px;line-height:1.2}.admin-form-note{color:var(--gray-500);margin:8px 0 0;font-size:13px;line-height:1.6}.admin-login-card label,.admin-form label{color:var(--gray-700);letter-spacing:.01em;gap:6px;font-size:12px;font-weight:700;display:grid}.admin-login-card input,.admin-form input,.admin-form textarea,.admin-form select{background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);color:var(--gray-900);font:inherit;min-height:40px;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);width:100%;padding:9px 12px}.admin-login-card input:hover,.admin-form input:hover,.admin-form textarea:hover,.admin-form select:hover{border-color:var(--gray-300)}.admin-login-card input:focus,.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:var(--green-700);background:#fff;outline:none;box-shadow:0 0 0 3px #0a6b3c1f}.admin-form textarea{resize:vertical;min-height:92px}.admin-primary-btn,.admin-secondary-btn,.admin-actions button,.admin-logout,.row-actions button{border-radius:var(--radius-sm);min-height:38px;transition:background var(--transition), color var(--transition), opacity var(--transition), box-shadow var(--transition), transform var(--transition);justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-weight:700;display:inline-flex}.admin-primary-btn{background:var(--green-700);color:#fff;font-size:13.5px;box-shadow:0 1px 3px #042d182e}.admin-primary-btn:hover{background:var(--green-800);transform:translateY(-1px);box-shadow:0 3px 10px #042d1838}.admin-primary-btn:active{transform:translateY(0)}.admin-secondary-btn{background:var(--green-50);border:1px solid var(--green-200);color:var(--green-800);font-size:13.5px}.admin-secondary-btn:hover{background:var(--green-100)}.admin-actions button{border:1.5px solid var(--gray-200);color:var(--gray-700);background:#fff;font-size:13px}.admin-actions button:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--gray-900)}.admin-link-btn{color:var(--green-700);min-height:32px;transition:color var(--transition), text-decoration-color var(--transition);background:0 0;justify-self:center;padding:6px 8px;font-size:13px;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.admin-link-btn:hover{color:var(--green-800);text-decoration-color:currentColor}.admin-primary-btn:disabled,.admin-secondary-btn:disabled,.admin-actions button:disabled,.admin-logout:disabled{cursor:not-allowed;opacity:.55;transform:none}.admin-alert{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:11px 14px;font-size:13px;font-weight:600;display:flex}.admin-alert.error{background:var(--error-bg);color:var(--error-text);border:1px solid #fcd5d5}.admin-alert.success{background:var(--success-bg);border:1px solid var(--green-200);color:var(--success-text)}.admin-panel{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.admin-sidebar{background:var(--green-900);color:#fff;flex-direction:column;gap:20px;height:100vh;padding:28px 16px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.admin-sidebar::-webkit-scrollbar{width:4px}.admin-sidebar::-webkit-scrollbar-track{background:0 0}.admin-sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:99px}.admin-brand{padding:0 4px}.admin-brand h1{color:#fff;font-size:22px}.admin-sidebar .admin-kicker{color:var(--amber-400)}.admin-nav{gap:4px;display:grid}.admin-nav button{border-radius:var(--radius-sm);color:#ffffffb8;text-align:left;min-height:40px;transition:background var(--transition), color var(--transition);background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.admin-nav button:hover{color:#fff;background:#ffffff14}.admin-nav button.active{background:var(--amber-500);color:var(--green-950);font-weight:800}.admin-nav button span{text-align:center;background:#ffffff26;border-radius:999px;flex-shrink:0;min-width:24px;padding:2px 7px;font-size:10px;font-weight:700}.admin-nav button.active span{background:#042d182e}.admin-logout{color:#ffffffb3;background:#ffffff12;border:1px solid #ffffff1a;margin-top:auto;font-size:13px;font-weight:600}.admin-logout:hover{color:#fff;background:#ffffff24}.admin-sidebar-overlay{opacity:0;pointer-events:none;transition:opacity var(--transition);z-index:40;background:#042d1880;position:fixed;inset:0}.admin-sidebar-overlay.open{opacity:1;pointer-events:auto}.admin-mobile-header{display:none}.admin-workspace{min-width:0;padding:28px 32px}.admin-workspace-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;padding-top:6px;display:flex}.admin-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px;margin-top:20px;display:grid}.admin-dashboard{gap:20px;margin-top:20px;display:grid}.dashboard-summary-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 18px;padding:22px 24px;display:grid}.dashboard-summary-card .admin-kicker,.dashboard-summary-card p{grid-column:1}.dashboard-summary-card strong{color:var(--green-800);font-family:var(--font-serif);grid-area:1/2/span 3;font-size:54px;line-height:1}.dashboard-summary-card p{color:var(--gray-600);margin:0;font-size:14px}.dashboard-count-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.dashboard-count-card{justify-content:space-between;align-items:flex-start;gap:12px;min-height:104px;padding:18px;display:flex}.dashboard-count-card span{color:var(--green-900);font-size:14px;font-weight:800;line-height:1.35;display:block}.dashboard-count-card code{color:var(--gray-500);overflow-wrap:anywhere;margin-top:8px;font-size:11px;display:block}.dashboard-count-card strong{background:var(--green-50);border:1px solid var(--green-200);border-radius:var(--radius-sm);color:var(--green-800);font-family:var(--font-serif);flex-shrink:0;justify-content:center;align-items:center;min-width:58px;padding:8px 10px;font-size:26px;display:inline-flex}.dashboard-empty{color:var(--gray-600);text-align:center;grid-column:1/-1;padding:28px}.admin-card-header{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:14px 20px;display:flex}.admin-card-header h3{color:var(--green-900);font-family:var(--font-serif);margin:0;font-size:15px;font-weight:600}.admin-card-header code{background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-500);white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:11px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:640px}.admin-table th{background:var(--gray-50);border-bottom:1px solid var(--gray-200);color:var(--gray-500);letter-spacing:.07em;text-align:left;text-transform:uppercase;padding:11px 20px;font-size:10.5px;font-weight:800}.admin-table td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);vertical-align:middle;padding:13px 20px}.admin-table tbody tr{transition:background var(--transition)}.admin-table tbody tr:hover td{background:var(--green-50)}.admin-table tr.selected td{background:var(--amber-50);border-bottom-color:var(--amber-100)}.admin-table strong{color:var(--gray-900);max-width:360px;font-size:13px;font-weight:600;line-height:1.4;display:block}.admin-table small{color:var(--gray-400);margin-top:2px;font-size:11px;line-height:1.4;display:block}.admin-record-title{align-items:center;gap:11px;min-width:0;display:flex}.admin-record-title img{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);object-fit:cover;flex:none;width:40px;height:40px}.admin-empty{color:var(--gray-400);text-align:center;font-size:13px;padding:32px 20px!important}.status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.status-pill.published{background:var(--green-100);color:var(--green-800)}.status-pill.draft{background:var(--amber-100);color:#7a5200}.row-actions{gap:5px;display:flex}.row-actions button{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);color:var(--gray-600);min-height:32px;padding:6px 10px;font-size:11.5px}.row-actions button:hover{background:var(--green-50);border-color:var(--green-200);color:var(--green-700)}.row-actions button:last-child:hover{color:var(--error-text);background:#fff0f0;border-color:#fcd5d5}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.admin-form label.wide{grid-column:1/-1}.admin-form-actions{grid-column:1/-1;justify-content:flex-end;gap:9px;padding-top:6px;display:flex}.admin-upload-box{background:var(--green-50);border:1.5px dashed var(--green-200);border-radius:var(--radius-md);transition:border-color var(--transition), background var(--transition);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.admin-upload-box:focus-within{background:var(--green-100);border-color:var(--green-500)}.admin-upload-box label{color:var(--gray-700);gap:7px;font-size:12px;font-weight:700}.admin-upload-box input[type=file]{min-height:unset;font-size:12px}.admin-upload-box button{background:var(--amber-100);border:1px solid var(--amber-400);border-radius:var(--radius-sm);color:#7a5200;min-height:38px;transition:background var(--transition);white-space:nowrap;padding:8px 14px;font-size:12.5px;font-weight:700}.admin-upload-box button:hover:not(:disabled){background:var(--amber-400);color:var(--green-950)}.admin-upload-box button:disabled{cursor:not-allowed;opacity:.55}.admin-media-preview{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);grid-column:1/-1;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.admin-media-preview img{border-radius:var(--radius-sm);object-fit:cover;width:72px;height:56px}.admin-preview-stack{grid-template-columns:repeat(2,34px);gap:4px;display:grid}.admin-preview-stack img{width:34px;height:26px}.admin-file-preview{background:var(--green-100);border-radius:var(--radius-sm);color:var(--green-800);letter-spacing:.05em;justify-content:center;align-items:center;width:72px;height:56px;font-size:12px;font-weight:800;display:flex}.admin-media-preview strong{color:var(--green-800);margin-bottom:4px;font-size:12.5px;display:block}.admin-media-preview a{color:var(--gray-500);overflow-wrap:anywhere;transition:color var(--transition);font-size:11.5px;display:block}.admin-media-preview a:hover{color:var(--green-700)}.admin-icon{font-size:11px;font-weight:900;line-height:1;display:inline-flex}.admin-hamburger{background:var(--green-900);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:9px 10px;display:none}.admin-hamburger span{height:2px;transition:transform var(--transition), opacity var(--transition);background:#fff;border-radius:2px;width:20px;display:block}@media (width<=1200px){.admin-grid{grid-template-columns:1fr}}@media (width<=900px){.admin-panel{grid-template-columns:1fr}.admin-sidebar{height:100vh;width:var(--sidebar-w);z-index:50;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.admin-sidebar.open{box-shadow:var(--shadow-drop);transform:translate(0)}.admin-mobile-header{background:var(--green-900);z-index:30;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.admin-mobile-header .admin-kicker{color:var(--amber-400);flex:1;font-size:11px}.admin-hamburger{display:flex}.admin-workspace{padding:20px 16px}.admin-workspace-header{flex-direction:column;align-items:flex-start;gap:10px}}@media (width<=600px){.dashboard-summary-card{grid-template-columns:1fr}.dashboard-summary-card strong{grid-area:auto/1}.admin-form,.admin-upload-box{grid-template-columns:1fr}.admin-card-header{flex-direction:column;align-items:flex-start;gap:6px}.admin-login-card{padding:28px 22px}.admin-actions{width:100%}.admin-actions button{flex:1}}
