:root{--bg: #f8f9fc;--bg-secondary: #f1f3f8;--card: #ffffff;--brand: #1e5aa8;--brand-light: #2b6ec9;--brand-dark: #164a8a;--dark: #0f172a;--accent: #0ea5e9;--accent-orange: #f97316;--success: #10b981;--text: #1e293b;--text-secondary: #475569;--muted: #64748b;--line: #e2e8f0;--line-accent: #cbd5e1;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 4px 12px rgba(15, 23, 42, .1);--shadow-lg: 0 8px 24px rgba(15, 23, 42, .12);--shadow-xl: 0 16px 40px rgba(15, 23, 42, .15);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--site-container: 1320px}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{scroll-behavior:smooth}html,body,#app{margin:0;min-height:100%;font-family:Microsoft YaHei,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);background-image:linear-gradient(rgba(30,90,168,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(30,90,168,.03) 1px,transparent 1px);background-size:20px 20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(var(--site-container),calc(100% - 48px));margin:0 auto}.section,.page-section{padding:48px 0}.section--light{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-secondary) 100%);position:relative}.section--light:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--brand) 30%,var(--accent) 70%,transparent)}.eyebrow{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--brand);text-transform:uppercase;display:inline-block;position:relative;padding-left:16px}.eyebrow:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--accent);border-radius:50%}.muted{color:var(--muted)}.lead{font-size:13px;line-height:1.6;color:#334155;word-break:break-word;overflow-wrap:break-word}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:#fffffffa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0f172a0f;transition:all var(--transition-base)}.site-header__inner{display:flex;align-items:center;justify-content:flex-start;min-height:70px;gap:24px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand__logo{height:32px;width:32px;object-fit:contain;transition:all var(--transition-base);border-radius:8px}.brand:hover .brand__logo{transform:scale(1.05);filter:drop-shadow(0 2px 8px rgba(37,99,235,.18))}.brand__text{min-width:0}.brand__mark{width:32px;height:32px;flex:0 0 32px;filter:drop-shadow(0 2px 6px rgba(30,90,168,.2));transition:transform var(--transition-base),filter var(--transition-base)}.brand:hover .brand__mark{transform:scale(1.05);box-shadow:0 4px 12px #1e5aa84d}.brand__name{font-size:19px;font-weight:800;letter-spacing:0}.brand__sub{display:none}.desktop-nav{display:flex;gap:6px;margin-left:8px;flex:1 1 auto}.nav-link{flex:0 0 auto;min-height:52px;display:inline-flex;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary);position:relative;padding:10px 12px;font-size:15px;font-weight:500;line-height:1.35;border-radius:6px;transition:all var(--transition-base)}.nav-link:hover{color:var(--brand);background:#1e5aa80d}.nav-link--active{color:var(--brand);font-weight:600;background:#1e5aa814}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.lang-switch,.favorite-link,.menu-btn{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;transition:all var(--transition-base);font-weight:600;font-size:12px;color:var(--text)}.lang-switch,.favorite-link{display:inline-flex;align-items:center;justify-content:center;position:relative}.favorite-link{color:var(--text);font-size:18px}.favorite-link>span:first-child{transform:translate(-3px,3px)}.favorite-link:hover,.lang-switch:hover,.menu-btn:hover{border-color:var(--brand);background:#eff6ff;color:var(--brand);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.favorite-link__count{position:absolute;top:1px;right:1px;display:grid;min-width:16px;height:16px;padding:0 2px;place-items:center;border:1px solid #fff;border-radius:999px;background:var(--brand);color:#fff;font-size:9px;line-height:1;white-space:nowrap;word-break:normal;overflow-wrap:normal}.menu-btn{display:none}.mobile-nav{display:none;padding:0 24px 16px;border-top:1px solid var(--line);background:#fff;animation:slideDown .3s ease-out}.mobile-nav__link{display:block;padding:12px 0;border-bottom:1px solid #eef2f7;transition:all var(--transition-base)}.mobile-nav__link:hover{color:var(--brand);padding-left:8px}.mobile-nav__link--active{color:var(--brand);font-weight:700;background:linear-gradient(90deg,rgba(37,99,235,.05),transparent);padding-left:8px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.section-header,.page-heading{margin-bottom:32px;text-align:center}.section-header h2,.page-heading h1{display:block;max-width:100%;margin:0;padding-bottom:.08em;font-size:clamp(24px,3vw,40px);line-height:1.28;font-weight:700;color:var(--text);word-break:break-word;overflow-wrap:break-word}.page-heading p{margin-top:10px;font-size:16px;color:var(--text-secondary);line-height:1.6;word-break:break-word;overflow-wrap:break-word;max-width:700px;margin-left:auto;margin-right:auto}.site-footer{padding:60px 0 24px;background:linear-gradient(180deg,#1e293b,#0f172a);color:#cbd5e1;position:relative}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--accent),var(--brand))}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:22px}.footer-simple{display:flex;align-items:center;justify-content:center;gap:24px}.footer-qr-link{display:inline-flex!important;align-items:center;gap:12px;flex:0 0 auto;margin:0!important;padding:8px 12px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#ffffff0f;color:#e2e8f0!important;transition:border-color var(--transition-base),background var(--transition-base)}.footer-qr-link:hover{padding-left:12px!important;border-color:#0ea5e9b8;background:#ffffff1a}.footer-qr{width:72px;height:72px;flex:0 0 auto;shape-rendering:crispEdges}.footer-qr-copy{display:grid;gap:4px;min-width:0}.footer-qr-copy strong{font-size:13px;color:#f8fafc;line-height:1.4}.footer-qr-copy span{font-size:11px;color:#94a3b8;line-height:1.4;word-break:break-all}.footer-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;max-width:1200px;text-align:center}.footer-item{display:inline-flex;color:#64748b;font-size:13px;line-height:1.7;white-space:nowrap;margin:0}.footer-meta .footer-link{display:inline-flex;margin:0}.footer-item--strong{font-weight:600;color:#94a3b8}.footer-link{color:#64748b;text-decoration:none;transition:color var(--transition-base)}.footer-link:hover{color:var(--accent)}.footer-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#64748b;font-size:13px}.site-footer h3,.site-footer h4{margin:0 0 20px;font-size:16px;font-weight:700;color:#fff;position:relative;padding-bottom:12px}.site-footer h3:after,.site-footer h4:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background:var(--brand)}.site-footer p,.site-footer a{display:block;margin:0 0 10px;font-size:14px;color:#cbd5e1;line-height:1.8;transition:all var(--transition-base)}.site-footer a:hover{color:var(--accent);padding-left:8px}.admin-shell{display:grid;grid-template-columns:272px 1fr;height:100vh;min-height:100vh;overflow:hidden;background:#f3f6fb}.admin-sidebar{display:flex;min-height:0;height:100vh;box-sizing:border-box;flex-direction:column;gap:24px;overflow-y:auto;overscroll-behavior:contain;padding:20px 18px;background:linear-gradient(180deg,#162236,#1f3148);color:#d8e2f0;border-right:1px solid rgba(255,255,255,.08)}.admin-brand{display:flex;align-items:center;gap:14px;padding:12px 12px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-brand__badge{width:44px;height:44px;flex:0 0 44px;filter:drop-shadow(0 12px 16px rgba(14,165,233,.24))}.admin-brand__title{font-size:18px;font-weight:700;color:#fff}.admin-brand__sub{margin-top:4px;font-size:12px;color:#d8e2f0b8}.admin-nav-group{display:grid;gap:8px}.admin-nav-group__label{padding:0 12px 8px;font-size:12px;color:#d8e2f094;letter-spacing:.08em}.admin-nav-section{display:grid;gap:4px}.admin-nav-section__label{padding:10px 12px 4px;color:#fff;font-size:14px;font-weight:700}.admin-nav{display:flex;align-items:center;min-height:46px;padding:0 14px;border-radius:14px;color:#d8e2f0;transition:background .2s ease,color .2s ease,transform .2s ease}.admin-nav--child{min-height:40px;padding-left:28px;font-size:13px}.admin-nav:hover{background:#ffffff0f;color:#fff;transform:translate(2px)}.admin-nav.router-link-active{background:linear-gradient(135deg,#3b82f64d,#60a5fa26);color:#fff;box-shadow:inset 0 0 0 1px #93c5fd40}.admin-sidebar__footer{margin-top:auto;padding:14px 12px 8px;border-top:1px solid rgba(255,255,255,.08)}.admin-sidebar__meta{font-size:13px;line-height:1.7;color:#f8fbff}.admin-sidebar__meta--muted{color:#d8e2f09e}.admin-main{min-width:0;min-height:0;height:100vh;overflow-x:hidden;overflow-y:auto}.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;background:#ffffffdb;border-bottom:1px solid rgba(219,227,239,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.admin-topbar__heading{min-width:0}.admin-topbar__title{font-size:22px;font-weight:700;color:#0f172a}.admin-topbar__sub{margin-top:4px;font-size:13px;color:#64748b}.admin-topbar__actions{display:flex;align-items:center;gap:14px}.admin-user-chip{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 10px 24px #0f172a0a}.admin-user-chip__avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#dbeafe;color:#1d4ed8;font-weight:700}.admin-user-chip__name{font-size:14px;font-weight:600;color:#0f172a}.admin-user-chip__role{font-size:12px;color:#64748b}.admin-content{padding:28px}.admin-main--full-height{display:flex;flex-direction:column;overflow:hidden}.admin-main--full-height .admin-topbar{flex-shrink:0}.admin-main--full-height .admin-content{flex:1;min-height:0;display:flex;flex-direction:column}.admin-page{display:grid;gap:20px}.admin-page__hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 30px;border:1px solid #e2e8f0;border-radius:24px;background:linear-gradient(135deg,#fff,#f7fbff);box-shadow:0 18px 50px #0f172a0d}.admin-page__hero--compact{padding:22px 24px}.admin-page__eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;color:#3b82f6;letter-spacing:.12em}.admin-page__title{margin:0;font-size:30px;line-height:1.12;color:#0f172a}.admin-page__desc{margin:10px 0 0;max-width:640px;font-size:14px;line-height:1.8;color:#64748b}.admin-page__hero-meta{min-width:180px;padding:16px 18px;border-radius:18px;background:#eff6ff;border:1px solid #dbeafe}.admin-page__hero-label{display:block;font-size:12px;color:#64748b;margin-bottom:6px}.admin-page__hero-meta strong{font-size:18px;color:#1e3a8a}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.admin-stats--messages{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{background:#fff;border-radius:22px;padding:24px;border:1px solid #e2e8f0;box-shadow:0 14px 40px #0f172a0d}.stat-card--blue{background:linear-gradient(135deg,#4f8fe8,#78adf3);border-color:transparent}.stat-card span{color:#64748b;font-size:13px;font-weight:600}.stat-card strong{display:block;margin-top:14px;font-size:36px;line-height:1;color:#0f172a}.stat-card em{display:block;margin-top:12px;font-style:normal;font-size:13px;color:#94a3b8}.stat-card--blue span,.stat-card--blue strong,.stat-card--blue em{color:#fff}.admin-panel{border-radius:24px;border-color:#e2e8f0!important;box-shadow:0 18px 46px #0f172a0d}.admin-panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.gallery-option-actions{display:flex;align-items:center;gap:8px}.gallery-option-filter{width:190px}.admin-panel__title{font-size:18px;font-weight:700;color:#0f172a}.admin-panel__sub{margin-top:6px;font-size:13px;color:#64748b}.crud-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.crud-toolbar .el-input{flex:1 1 320px;min-width:240px}.crud-toolbar .el-select{width:180px}.crud-search-card{margin-bottom:16px;padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}.crud-search-form{display:grid;grid-template-columns:minmax(240px,1fr) 220px 180px;gap:12px;align-items:end}.crud-search-form .el-form-item{margin-bottom:0}.crud-search-actions{display:flex;gap:10px;flex-wrap:wrap}.crud-action-bar{display:flex;justify-content:flex-end;margin-bottom:16px}.message-status-switch{display:inline-flex;gap:10px;flex-wrap:wrap}.admin-table{--el-table-border-color: #edf2f7;--el-table-header-bg-color: #f8fafc;--el-table-row-hover-bg-color: #f8fbff}.admin-inline-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:600}.admin-message-text{color:#334155;line-height:1.75;white-space:normal;word-break:break-word}.admin-login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#dbeafe,#eff6ff 28%,#f8fbff 58%,#fff);padding:24px}.admin-login__wrap{width:min(1120px,100%);display:grid;grid-template-columns:1.08fr .92fr;border-radius:30px;overflow:hidden;border:1px solid #dbe5f0;background:#fff;box-shadow:0 35px 100px #0f172a1f}.admin-login__intro{padding:48px;background:linear-gradient(160deg,#172554,#1d4ed8 56%,#60a5fa);color:#fff}.admin-login__badge{width:40px;height:40px;filter:drop-shadow(0 8px 16px rgba(15,23,42,.18))}.admin-login__intro h1{margin:20px 0 14px;font-size:36px;line-height:1.15}.admin-login__intro p{margin:0;max-width:500px;color:#ffffffd1;line-height:1.9}.admin-login__tips{display:grid;gap:16px;margin-top:36px}.admin-login__tip{padding:18px 20px;border-radius:20px;background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14)}.admin-login__tip strong{display:block;margin-bottom:6px;font-size:16px}.admin-login__tip span{color:#ffffffc7;line-height:1.7;font-size:14px}.admin-login__card{padding:42px 38px;background:#fff}.admin-login__card-head{margin-bottom:26px}.admin-login__card-head h2{margin:0 0 10px;font-size:28px;color:#0f172a}.admin-login__card-head p{margin:0;color:#64748b;line-height:1.8}.full-btn{width:100%;min-height:44px;border-radius:12px;margin-top:8px}.crud-header{display:flex;align-items:center;justify-content:space-between}.crud-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.crud-form-item{margin-bottom:4px}.crud-form-item--full{grid-column:1 / -1}.crud-form-item>.el-form-item__content{width:100%;min-width:0}.crud-form-divider{grid-column:1 / -1;margin:24px 0 16px}.crud-form-divider .el-divider__text{font-size:15px;font-weight:600;color:#1e293b;background:#fff}.crud-field-help{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:8px 12px;background:#f0f9ff;border:1px solid #e0f2fe;border-radius:8px;font-size:12px;line-height:1.6;color:#0369a1}.crud-field-help .el-icon{flex-shrink:0;margin-top:2px;font-size:14px;color:#0284c7}.crud-table-image{width:72px;height:54px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#f8fafc;display:grid;place-items:center}.crud-table-image img{width:100%;height:100%;object-fit:cover}.image-preview-trigger{cursor:zoom-in}button.image-preview-trigger{padding:0;border:0;color:inherit;font:inherit}.crud-table-image.image-preview-trigger,.crud-image-preview.image-preview-trigger{cursor:zoom-in}.crud-image-preview.image-preview-trigger:hover{border-color:#1d4ed880;box-shadow:0 0 0 3px #1d4ed81f}.crud-image-field{display:grid;gap:12px}.crud-image-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.crud-image-preview{width:min(320px,100%);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f8fafc}.crud-image-preview--upload{position:relative}.crud-image-preview img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.media-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.media-stats{display:flex;gap:18px;flex-wrap:wrap}.media-stats>div{display:grid;gap:4px;min-width:86px}.media-stats span{color:var(--muted);font-size:12px}.media-stats strong{font-size:24px;color:#0f172a}.media-toolbar--header{justify-content:flex-end}.media-library-body,.media-picker-body{min-height:260px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.media-card{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;text-align:left;padding:0;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.media-card.el-button{display:block;width:100%;height:auto;white-space:normal;color:inherit}.media-card.el-button+.media-card.el-button{margin-left:0}.media-card:hover{border-color:#1d4ed852;box-shadow:0 12px 30px #0f172a14;transform:translateY(-1px)}.media-card--active{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81f}.media-card--panel{cursor:default}.media-card--panel:hover{transform:none}.media-card--upload-error,.gallery-image-list__item--upload-error{border-color:#dc2626}.media-card__image{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;background:#f8fafc}.media-card__image-button{display:block;width:100%;padding:0;border:0;background:transparent}.media-card__body{padding:14px;display:grid;gap:6px}.media-card__title{font-size:14px;font-weight:700;color:#0f172a;word-break:break-all}.media-card__meta{font-size:12px;color:#64748b;line-height:1.6;word-break:break-all}.media-card__actions{padding:0 14px 14px;display:flex;gap:8px;flex-wrap:wrap}.media-pagination{margin-top:20px;display:flex;justify-content:flex-end}.media-empty{border:1px dashed var(--line);border-radius:14px;padding:40px 20px;color:var(--muted);text-align:center;background:#f8fafc}.crud-pagination{margin-top:20px;display:flex;justify-content:flex-end}.gallery-panel{margin-bottom:22px}.gallery-option-admin-card{margin-bottom:0}.gallery-admin-header{margin-bottom:18px}.gallery-batch-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.gallery-category-tags{display:flex;gap:6px;flex-wrap:wrap}.gallery-thumb-admin{width:76px;height:58px}.gallery-thumb-admin--preview{padding:0;cursor:zoom-in;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.gallery-thumb-admin--preview:hover{border-color:#1d4ed880;box-shadow:0 0 0 3px #1d4ed81f;transform:translateY(-1px)}.gallery-thumb-admin--preview:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.gallery-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.gallery-image-list__item{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#f8fafc;cursor:grab;transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.gallery-image-list__item:active{cursor:grabbing}.gallery-image-list__item--dragging{opacity:.45}.gallery-image-list__item--drag-over{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed829;transform:translateY(-2px)}.gallery-image-list__preview{display:block;width:100%;padding:0;border:0;background:transparent}.gallery-image-list__item img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover}.gallery-image-list__actions{display:flex;justify-content:flex-end;gap:4px;padding:6px 8px;background:#fff}.image-upload-state,.media-upload-state{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-content:center;justify-items:center;gap:8px;padding:12px;color:#fff;background:#0f172aad;font-size:13px;font-weight:700;text-align:center;pointer-events:none}.image-upload-state .el-icon,.media-upload-state .el-icon{font-size:28px}.gallery-image-list__item .gallery-image-list__actions{position:relative;z-index:2}.gallery-image-list__item--upload-error .image-upload-state,.media-card--upload-error .media-upload-state{background:#991b1bc7}.crud-gallery-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.crud-gallery-preview button{padding:0;border:0;background:transparent}.crud-gallery-preview img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#f8fafc}.crud-specs-table{display:grid;gap:12px;width:100%;min-width:0}.crud-specs-actions{display:flex;gap:10px;flex-wrap:wrap}.crud-specs-grid-wrap{display:block;width:100%;min-width:0;overflow-x:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.crud-specs-grid{width:100%;border-collapse:collapse;table-layout:fixed}.crud-specs-grid td{padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle}.crud-specs-grid td:first-child{width:28%}.crud-specs-grid tr:last-child td{border-bottom:0}.crud-specs-grid td:last-child{border-right:0}.crud-specs-grid .el-input{width:100%;display:block}.crud-specs-grid .el-input__wrapper{width:100%}.editor{border:1px solid var(--line);border-radius:14px;overflow:visible;background:#fff}.editor-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:#f8fafc;border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}.editor-toolbar__group{display:inline-flex;align-items:center;gap:4px}.editor-toolbar__group--menu{position:relative}.editor-toolbar__divider{width:1px;height:22px;background:#dbe3ee}.editor-tool{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border:none;background:transparent;color:#475569;cursor:pointer;border-radius:6px;font-size:15px;font-weight:600;line-height:1}.editor-tool:hover{background:#e8eef7;color:#1d4ed8}.editor-tool svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.editor-tool--font{font-family:Georgia,Times New Roman,serif;font-size:18px}.editor-tool--menu{gap:6px;min-width:42px}.editor-tool__caret{font-size:10px;color:#94a3b8}.editor-tool--italic{font-style:italic}.editor-tool--strike{text-decoration:line-through}.editor-toolbar__menu{position:absolute;top:calc(100% + 8px);left:0;min-width:106px;padding:8px 0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 30px #0f172a1f;z-index:20}.editor-toolbar__menu--compact{min-width:140px}.editor-toolbar__menu button{display:block;width:100%;padding:10px 16px;border:none;background:transparent;text-align:left;color:#334155;cursor:pointer}.editor-toolbar__menu button:hover{background:#f8fafc;color:#1d4ed8}.editor-inline-panel{display:flex;flex-direction:column;gap:10px;padding:12px;border-bottom:1px solid var(--line);background:#fff}.editor-inline-panel__title{font-size:13px;font-weight:600;color:#334155}.editor-inline-panel__row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.editor-inline-panel__input{flex:1 1 320px;min-width:220px;height:38px;padding:0 12px;border:1px solid #cbd5e1;border-radius:10px;outline:none}.editor-inline-panel__input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.editor-inline-panel__btn{height:38px;padding:0 16px;border:1px solid #dbe3ee;border-radius:10px;background:#fff;color:#334155;cursor:pointer}.editor-inline-panel__btn--primary{border-color:#2563eb;background:#2563eb;color:#fff}.editor-surface{min-height:180px;padding:14px;outline:none;line-height:1.8;font-size:14px;border-radius:0 0 14px 14px}.editor-surface [data-rich-image]{position:relative;display:inline-block;max-width:100%;min-width:120px;margin:12px 12px 12px 0;vertical-align:top;cursor:default}.editor-surface [data-rich-image]:after{content:"";position:absolute;top:0;right:-4px;width:10px;height:100%;cursor:ew-resize}.editor-surface [data-rich-image] img{display:block;width:100%;height:auto;border-radius:10px}.editor-surface h1,.editor-surface h2,.editor-surface h3,.editor-surface h4,.editor-surface h5,.editor-surface h6{margin:.7em 0 .35em;line-height:1.4}.editor-surface blockquote{margin:12px 0;padding-left:12px;border-left:3px solid #cbd5e1;color:#475569}.editor-surface hr{border:none;border-top:1px solid #dbe3ee;margin:16px 0}.editor-surface code{padding:2px 6px;border-radius:6px;background:#f1f5f9;font-family:Consolas,Monaco,monospace;font-size:13px}.editor-surface table{width:100%;margin:12px 0;border-collapse:collapse}.editor-surface td,.editor-surface th{border:1px solid #dbe3ee;padding:8px 10px}@media (max-width: 1100px){.footer-grid,.admin-stats,.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-login__wrap{grid-template-columns:1fr}.container{width:min(100% - 32px,var(--site-container))}}@media (max-width: 1440px){.container{width:min(100% - 36px,var(--site-container))}.site-header__inner{gap:16px}.desktop-nav{gap:4px}}@media (max-width: 768px){.admin-nav-section__label{padding-top:6px}.admin-nav--child{padding-left:24px}.container{width:min(100% - 24px,var(--site-container))}.desktop-nav{display:none}.menu-btn{display:inline-grid;place-items:center}.mobile-nav{display:block}.admin-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.admin-main{height:auto;overflow:visible}.admin-main--full-height{height:100dvh;min-height:560px;overflow:hidden}.footer-grid,.admin-stats{grid-template-columns:1fr}.footer-simple{align-items:flex-start;flex-direction:column;justify-content:flex-start;gap:18px}.footer-meta{justify-content:flex-start;text-align:left;gap:6px 12px}.footer-item{white-space:normal}.media-grid{grid-template-columns:1fr}.site-header__inner{min-height:50px}.brand__logo,.brand__mark{height:28px;width:28px;flex-basis:28px}.brand__name{font-size:13px}.brand__sub{font-size:10px}.section,.page-section{padding:28px 0}.admin-sidebar{display:none}.admin-topbar,.admin-content{padding-left:18px;padding-right:18px}.admin-topbar,.admin-topbar__actions,.admin-page__hero,.crud-header{flex-direction:column;align-items:stretch}.admin-page__hero-meta{min-width:0}.crud-form-grid{grid-template-columns:1fr}.crud-form-item--full{grid-column:auto}.admin-login{padding:14px}.admin-login__intro,.admin-login__card{padding:28px 22px}.admin-login__intro h1{font-size:28px}.admin-page__title{font-size:24px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}img{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%}img[src]{animation:shimmer 1.5s infinite}img[src]:not([src=""]){animation:none;background:transparent}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}input[type=text]:not(.el-input__inner),input[type=email]:not(.el-input__inner),input[type=tel]:not(.el-input__inner),textarea:not(.el-textarea__inner),select{transition:all var(--transition-base);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-family:inherit;font-size:14px}input[type=text]:not(.el-input__inner):focus,input[type=email]:not(.el-input__inner):focus,input[type=tel]:not(.el-input__inner):focus,textarea:not(.el-textarea__inner):focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #2563eb1a;background:#fff}button{font-family:inherit;transition:all var(--transition-base)}button:not(:disabled){cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{transition:all var(--transition-base)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--brand),var(--accent));border-radius:5px;transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--brand-dark),var(--brand))}::selection{background:#2563eb33;color:var(--brand-dark)}::-moz-selection{background:#2563eb33;color:var(--brand-dark)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes pageLoad{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}main{animation:pageLoad .5s ease-out}[title]{position:relative}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}@media print{.site-header,.site-footer{display:none!important}}h1,h2,h3,h4,h5,h6{word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}p,span,div{word-break:break-word;overflow-wrap:break-word}.container,.page-section{max-width:100%;overflow-x:hidden}.section--light:before{background:linear-gradient(90deg,transparent 0%,rgba(37,99,235,.1) 20%,rgba(139,92,246,.1) 50%,rgba(37,99,235,.1) 80%,transparent 100%)}.site-header{background:#fffffff2;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);box-shadow:0 1px 3px #0f172a08,0 1px 2px #0f172a05}img{background:linear-gradient(110deg,#f0f0f0 8%,#f8f8f8 18%,#f0f0f0 33%);background-size:200% 100%}.container{width:min(var(--site-container),calc(100% - 40px))}.eyebrow{text-transform:uppercase;position:relative;padding-left:12px}.eyebrow:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:10px;background:linear-gradient(135deg,var(--brand),var(--accent));border-radius:2px}html{scroll-behavior:smooth;scroll-padding-top:60px}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}
