.admin-container{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.admin-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px 24px;min-height:72px;padding:12px 24px;display:flex}.admin-logo{flex-shrink:0;min-height:44px;text-decoration:none}.admin-navigation{flex-wrap:wrap;gap:4px 8px;display:flex}.admin-navigation a{min-height:44px;color:var(--vv-text-secondary);font:600 13px var(--font-ui);border-radius:6px;align-items:center;padding:10px 12px;text-decoration:none;display:inline-flex}.admin-navigation a:hover,.admin-navigation a[aria-current]{background:var(--vv-berry-soft);color:var(--vv-berry-dark)}.admin-header a:focus-visible{outline:3px solid var(--vv-berry);outline-offset:3px}.admin-logo{color:var(--color-text);align-items:center;gap:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:700;display:inline-flex}.admin-logo .admin-badge{letter-spacing:.05em;text-transform:uppercase;background:color-mix(in srgb, var(--color-brand) 12%, transparent);color:var(--color-brand);border-radius:6px;padding:3px 8px;font-family:Plus Jakarta Sans,sans-serif;font-size:11px;font-weight:700}.admin-main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:32px 24px}.admin-main-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.admin-main-header h1{font-family:var(--font-ui);font-size:var(--type-page);color:var(--color-text);font-weight:700;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin:0 0 6px}.admin-counters{color:var(--color-text-secondary);flex-wrap:wrap;gap:16px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;display:flex}.admin-counters b{color:var(--color-text);font-weight:700}.admin-btn-primary{background:var(--color-brand);color:var(--color-text-on-brand);font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:var(--type-control);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:12px 20px;text-decoration:none;transition:background .15s,transform .12s;display:inline-flex}.admin-btn-primary:hover{background:var(--color-brand-dark,#6344d9)}.admin-btn-primary:active{transform:scale(.97)}.admin-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-wrap:wrap;gap:6px;width:fit-content;margin-bottom:24px;padding:4px;display:flex}.admin-filter-chip{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.admin-filter-chip:hover{color:var(--color-text)}.admin-filter-chip.active{background:var(--color-text);color:var(--color-text-on-brand)}.admin-filter-chip .chip-count{background:color-mix(in srgb, currentColor 12%, transparent);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600}.admin-filter-chip.active .chip-count{background:#fff3}.admin-templates-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;display:grid}.admin-template-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .2s,border-color .15s;display:flex;position:relative;overflow:hidden}.admin-template-card:hover{border-color:var(--color-border-strong);transform:translateY(-2px);box-shadow:0 12px 28px -12px #0f172a26}.admin-template-thumb{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f5e9ff 0%,#e0d0ff 100%);justify-content:center;align-items:center;height:180px;display:flex;position:relative;overflow:hidden}.admin-template-thumb img{object-fit:cover;width:100%;height:100%}.admin-template-thumb-initial{font-family:var(--font-ui);color:var(--color-text);opacity:.85;letter-spacing:-.02em;font-size:56px;font-weight:600}.admin-template-badges{pointer-events:none;justify-content:space-between;gap:6px;display:flex;position:absolute;top:10px;left:10px;right:10px}.admin-template-badge{backdrop-filter:blur(8px);color:var(--color-text);background:#ffffffdb;border-radius:999px;padding:4px 9px;font-family:Plus Jakarta Sans,sans-serif;font-size:11px;font-weight:600;box-shadow:0 2px 8px #0f172a14}.admin-template-badge.badge-published{color:var(--color-success);background:#dcfce7}.admin-template-badge.badge-draft{color:var(--color-warning);background:#fef3c7}.admin-template-badge.badge-trash{color:var(--color-error);background:#fee2e2}.admin-template-badge.badge-official{color:var(--color-brand);background:#ffffffdb;align-items:center;gap:4px;display:inline-flex}.admin-template-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 16px;display:flex}.admin-template-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;line-height:1.3;overflow:hidden}.admin-template-cat{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-family:Plus Jakarta Sans,sans-serif;font-size:12px;font-weight:600}.admin-template-meta{color:var(--color-text-muted,var(--vv-text-secondary));border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px;font-family:Plus Jakarta Sans,sans-serif;font-size:12px;display:flex}.admin-template-more-btn{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .12s;display:inline-flex}.admin-template-more-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.admin-empty{text-align:center;color:var(--color-text-secondary);padding:64px 24px;font-family:Plus Jakarta Sans,sans-serif}.admin-empty h2{font-family:var(--font-ui);color:var(--color-text);margin:0 0 8px;font-size:22px}.admin-empty p{margin:0 0 20px;font-size:14px}.admin-overflow-menu{background:var(--color-surface);border:1px solid var(--color-border);z-index:50;border-radius:12px;min-width:200px;padding:6px;display:none;position:absolute;box-shadow:0 16px 40px -10px #0f172a26}.admin-overflow-menu.open{display:block}.admin-overflow-item{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:500;transition:background .1s;display:flex}.admin-overflow-item:hover{background:var(--color-surface-hover)}.admin-overflow-item:disabled{opacity:.5;cursor:not-allowed}.admin-overflow-item.danger{color:var(--color-error)}.admin-overflow-item.danger:hover{background:color-mix(in srgb, var(--color-error) 8%, transparent)}.admin-overflow-divider{background:var(--color-border);height:1px;margin:4px 0}.admin-toast-container{z-index:300;pointer-events:none;flex-direction:column-reverse;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.admin-toast{background:var(--color-text);color:var(--color-text-on-brand);pointer-events:auto;border-radius:10px;align-items:center;gap:12px;min-width:300px;max-width:420px;padding:12px 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:500;animation:.25s cubic-bezier(.32,.72,0,1) admin-toast-in;display:flex;box-shadow:0 12px 32px #0f172a40}@keyframes admin-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.admin-toast button{color:var(--color-brand);font-family:inherit;font-size:var(--type-control);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px 8px;font-weight:600}.admin-toast button:hover{background:#ffffff1a}.admin-modal-overlay{z-index:250;backdrop-filter:blur(6px);background:#0f172a80;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.admin-modal-overlay.open{display:flex}.admin-modal{background:var(--color-surface);border-radius:18px;width:100%;max-width:520px;padding:28px;box-shadow:0 20px 60px #0f172a40}.admin-modal h2{color:var(--color-text);margin:0 0 6px;font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:700}.admin-modal-subtitle{color:var(--color-text-secondary);margin:0 0 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px}.admin-modal-cat-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.admin-modal-cat-btn{border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-control);color:var(--color-text);text-align:left;border-radius:12px;align-items:center;gap:10px;padding:16px;font-weight:600;transition:border-color .12s,background .12s;display:flex}.admin-modal-cat-btn:hover{border-color:var(--color-brand);background:color-mix(in srgb, var(--color-brand) 6%, transparent)}.admin-modal-cat-btn .material-symbols-outlined{color:var(--color-brand);font-size:22px}.admin-modal-close{background:var(--color-surface-hover);width:100%;color:var(--color-text);cursor:pointer;border:none;border-radius:10px;margin-top:20px;padding:12px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:600}.admin-confirm-modal{background:var(--color-surface);border-radius:18px;width:100%;max-width:480px;padding:28px;box-shadow:0 20px 60px #0f172a40}.admin-confirm-title{color:var(--color-text);margin:0 0 8px;font-family:Plus Jakarta Sans,sans-serif;font-size:18px;font-weight:700}.admin-confirm-desc{color:var(--color-text-secondary);margin:0 0 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;line-height:1.5}.admin-confirm-type-input{border:2px solid var(--color-border);width:100%;color:var(--color-text);border-radius:10px;margin-bottom:16px;padding:10px 12px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px}.admin-confirm-type-input:focus{border-color:var(--color-error);outline:none}.admin-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.admin-confirm-btn{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:var(--type-control);cursor:pointer;border:none;border-radius:10px;padding:10px 18px}.admin-confirm-btn-cancel{background:var(--color-surface-hover);color:var(--color-text)}.admin-confirm-btn-danger{background:var(--color-error);color:#fff}.admin-confirm-btn-danger:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.admin-header{padding:0 16px}.admin-main{padding:24px 16px}.admin-main-header h1{font-size:var(--type-page);font-family:var(--font-ui);font-weight:700;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.admin-templates-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.admin-template-thumb{height:140px}.admin-template-thumb-initial{font-size:44px}.admin-filters{flex-wrap:nowrap;width:100%;overflow-x:auto}.admin-modal-cat-grid{grid-template-columns:1fr}}
