:root{--admin-bg:#eef2f7;--admin-panel:#fff;--admin-panel-alt:#f7f9fc;--admin-border:#d9e1ec;--admin-text:#162032;--admin-muted:#627089;--admin-accent:#0f62fe;--admin-accent-strong:#0043ce;--admin-danger:#d92d20;--admin-shadow:0 24px 70px #0f1e3e1f}.admin-shell{background:radial-gradient(circle at 0 0,#0f62fe1f,#0000 34%),linear-gradient(#f7f9fc 0%,#eef2f7 100%);min-height:100vh;padding:40px 20px}.admin-shell .auth-wrap,.admin-shell .admin-wrap,.admin-shell .composer,.admin-shell .article{width:min(1120px,100%);margin:0 auto}.admin-shell .auth-wrap{place-items:center;min-height:calc(100vh - 80px);display:grid}.admin-shell .auth-card{background:var(--admin-panel);border:1px solid var(--admin-border);width:min(460px,100%);box-shadow:var(--admin-shadow);border-radius:24px;padding:32px}.admin-shell .auth-card h1{color:var(--admin-text);margin:0;font-size:clamp(2rem,4vw,2.6rem);font-weight:800;line-height:1.05}.admin-shell .auth-subtitle{color:var(--admin-muted);margin:12px 0 24px;font-size:.98rem;line-height:1.6}.admin-shell .auth-card label{color:var(--admin-text);gap:8px;margin-bottom:16px;font-size:.92rem;font-weight:700;display:grid}.admin-shell .auth-card input{border:1px solid var(--admin-border);width:100%;color:var(--admin-text);background:#fff;border-radius:14px;outline:none;padding:14px 16px;font-size:1rem;transition:border-color .18s,box-shadow .18s}.admin-shell .auth-card input:focus{border-color:#0f62fe73;box-shadow:0 0 0 4px #0f62fe1f}.admin-shell .actions{margin-top:20px}.admin-shell .actions button,.admin-shell .btn{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .16s,box-shadow .16s,background-color .16s;display:inline-flex}.admin-shell .actions button,.admin-shell .btn.btn-primary{background:var(--admin-accent);color:#fff;box-shadow:0 10px 24px #0f62fe2e}.admin-shell .actions button:hover,.admin-shell .btn.btn-primary:hover{background:var(--admin-accent-strong);transform:translateY(-1px)}.admin-shell .btn.btn-muted{background:var(--admin-panel-alt);color:var(--admin-text);border:1px solid var(--admin-border)}.admin-shell .btn.btn-muted:hover{background:#edf2fb}.admin-shell .btn.btn-danger,.admin-shell button.btn-danger{color:var(--admin-danger);background:#fff1f0;border:1px solid #d92d202e}.admin-shell .btn.btn-danger:hover,.admin-shell button.btn-danger:hover{background:#ffe4e1}.admin-shell .error{color:var(--admin-danger);background:#fff1f0;border:1px solid #d92d2029;border-radius:14px;margin:14px 0 0;padding:12px 14px}.admin-shell .admin-wrap{background:0 0}.admin-shell .admin-hero{box-shadow:var(--admin-shadow);color:#fff;background:linear-gradient(135deg,#0f62fe 0%,#4f46e5 100%);border-radius:24px;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;padding:28px;display:flex}.admin-shell .admin-hero-copy{max-width:680px}.admin-shell .admin-kicker{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#ffffff24;border-radius:999px;align-items:center;min-height:28px;padding:0 12px;font-size:.72rem;font-weight:800;display:inline-flex}.admin-shell .composer,.admin-shell .article{background:var(--admin-panel);border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);border-radius:24px;margin-top:0;padding:28px}.admin-shell .composer h1,.admin-shell .article h1{color:var(--admin-text);margin:0 0 18px;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;line-height:1.08}.admin-shell label{color:var(--admin-text);letter-spacing:.06em;text-transform:uppercase;gap:8px;margin-bottom:16px;font-size:.82rem;font-weight:800;display:grid}.admin-shell input,.admin-shell textarea,.admin-shell select{border:1px solid var(--admin-border);width:100%;color:var(--admin-text);background:#fff;border-radius:14px;outline:none;padding:14px 16px;font-size:.98rem;font-weight:500;transition:border-color .18s,box-shadow .18s}.admin-shell input::placeholder,.admin-shell textarea::placeholder{color:#94a0b4}.admin-shell input:focus,.admin-shell textarea:focus,.admin-shell select:focus{border-color:#0f62fe73;box-shadow:0 0 0 4px #0f62fe1f}.admin-shell textarea{resize:vertical;min-height:280px;line-height:1.65}.admin-shell .upload-panel{background:var(--admin-panel-alt);border:1px dashed var(--admin-border);border-radius:18px;justify-content:space-between;align-items:center;gap:18px;margin:6px 0 18px;padding:16px 18px;display:flex}.admin-shell .upload-title{color:var(--admin-text);margin:0 0 4px;font-size:.95rem;font-weight:800}.admin-shell .upload-hint,.admin-shell .upload-note,.admin-shell .upload-success{color:var(--admin-muted);margin:0;font-size:.9rem;line-height:1.55}.admin-shell .upload-actions{justify-items:end;gap:8px;display:grid}.admin-shell .upload-actions input[type=file]{background:#fff;max-width:320px;padding:10px 12px}.admin-shell .upload-success{color:#027a48;margin:-6px 0 12px}.admin-shell .image-preview-card{border:1px solid var(--admin-border);background:#fff;border-radius:18px;margin:0 0 18px;padding:12px}.admin-shell .image-preview{object-fit:cover;border-radius:12px;width:100%;max-height:320px;display:block}.admin-shell .row-2{grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:16px;display:grid}.admin-shell .admin-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.admin-shell .admin-head h1,.admin-shell .admin-hero h1{color:var(--admin-text);margin:0;font-size:clamp(2rem,4vw,2.8rem);font-weight:800;line-height:1.05}.admin-shell .admin-head p,.admin-shell .admin-hero p{color:var(--admin-muted);margin:10px 0 0;font-size:1rem}.admin-shell .admin-hero h1,.admin-shell .admin-hero p{color:#fff}.admin-shell .admin-head-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-shell .admin-hero .btn.btn-primary{color:var(--admin-accent-strong);box-shadow:none;background:#fff}.admin-shell .admin-hero .btn.btn-primary:hover{background:#edf4ff}.admin-shell .admin-hero .btn.btn-muted{color:#fff;background:#ffffff24;border-color:#ffffff38}.admin-shell .admin-hero .btn.btn-muted:hover{background:#fff3}.admin-shell .admin-empty,.admin-shell .admin-item{background:var(--admin-panel);border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);border-radius:20px}.admin-shell .admin-empty{color:var(--admin-muted);padding:24px}.admin-shell .admin-empty p{color:var(--admin-text);margin:10px 0 0;font-size:1rem;font-weight:700}.admin-shell .admin-empty-badge{min-height:30px;color:var(--admin-accent-strong);letter-spacing:.06em;text-transform:uppercase;background:#edf4ff;border-radius:999px;align-items:center;padding:0 12px;font-size:.74rem;font-weight:800;display:inline-flex}.admin-shell .admin-list{gap:14px;display:grid}.admin-shell .admin-list-summary,.admin-shell .admin-pagination,.admin-shell .admin-pagination-pages{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-shell .admin-list-summary{color:var(--admin-muted);justify-content:space-between;margin:0 0 16px;font-size:.9rem;font-weight:700}.admin-shell .admin-pagination{justify-content:space-between;margin-top:18px}.admin-shell .admin-pagination-pages{justify-content:center}.admin-shell .admin-pagination .btn{min-height:38px;box-shadow:none;border-radius:12px;padding:0 14px;font-size:.86rem}.admin-shell .admin-pagination .btn.btn-muted{background:#ffffffd1}.admin-shell .admin-pagination-pages .btn{min-width:38px;padding:0 10px}.admin-shell .admin-pagination-ellipsis{min-width:24px;color:var(--admin-muted);justify-content:center;align-items:center;font-size:.88rem;font-weight:700;display:inline-flex}.admin-shell .admin-pagination-pages .btn.btn-primary{background:var(--admin-text);color:#fff}.admin-shell .admin-pagination-pages .btn.btn-primary:hover{background:#0f1728}.admin-shell .is-disabled{pointer-events:none;opacity:.45}.admin-shell .admin-item{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:20px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.admin-shell .admin-item:hover{border-color:#0f62fe42;transform:translateY(-1px);box-shadow:0 26px 60px #0f1e3e29}.admin-shell .admin-item-main{min-width:0}.admin-shell .admin-item h2{color:var(--admin-text);margin:0 0 10px;font-size:1.1rem;font-weight:800;line-height:1.35}.admin-shell .admin-meta-inline,.admin-shell .admin-tags-inline,.admin-shell .admin-actions,.admin-shell .admin-submeta{flex-wrap:wrap;gap:8px;display:flex}.admin-shell .admin-submeta{color:var(--admin-muted);margin-top:12px;font-size:.88rem}.admin-shell .admin-slug{color:var(--admin-text);word-break:break-word;font-weight:600}.admin-shell .admin-chip{letter-spacing:.05em;text-transform:uppercase;min-height:28px;color:var(--admin-accent-strong);background:#0f62fe1f;border-radius:999px;align-items:center;padding:0 10px;font-size:.72rem;font-weight:800;display:inline-flex}.admin-shell .admin-chip-muted{color:var(--admin-muted);background:#eef2f7}.admin-shell .admin-empty-text{color:var(--admin-muted);font-size:.88rem}.admin-shell .admin-actions{place-content:start flex-end}.admin-shell .composer .error,.admin-shell .composer .success{margin-top:12px}.admin-shell .composer .success{color:#027a48;background:#ecfdf3;border:1px solid #027a4829;border-radius:14px;padding:12px 14px}@media (max-width:900px){.admin-shell .admin-hero,.admin-shell .admin-item{grid-template-columns:1fr}.admin-shell .admin-hero{align-items:flex-start}.admin-shell .admin-actions{justify-content:flex-start}}@media (max-width:640px){.admin-shell{padding:20px 14px}.admin-shell .auth-wrap{min-height:auto}.admin-shell .auth-card{border-radius:18px;padding:22px 18px}.admin-shell .admin-head,.admin-shell .admin-list-summary,.admin-shell .admin-pagination{flex-direction:column;align-items:stretch}.admin-shell .admin-head-actions{width:100%}.admin-shell .admin-hero{border-radius:18px;padding:20px 16px}.admin-shell .admin-head-actions .btn,.admin-shell .admin-head-actions button,.admin-shell .actions button{width:100%}.admin-shell .composer,.admin-shell .article{border-radius:18px;padding:20px 16px}.admin-shell .row-2{grid-template-columns:1fr;gap:0}.admin-shell .upload-panel{flex-direction:column;align-items:stretch}.admin-shell .upload-actions{justify-items:stretch}}
