:root { --paper:#f5eee1; --paper-2:#fffaf1; --ink:#211b17; --muted:#806f5c; --red:#9e3d2a; --gold:#b58a56; --green:#326344; --line:rgba(92,69,45,.14); --shadow:0 20px 55px rgba(61,42,26,.10); }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:var(--paper); font-family:"Songti SC","STSong","SimSun",serif; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
[hidden] { display:none !important; }
.eyebrow { color:var(--red); font-size:11px; letter-spacing:4px; }
.login-shell { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(360px,.6fr); min-height:100vh; }
.login-art { display:flex; flex-direction:column; justify-content:center; padding:8vw; color:#fff8eb; background:radial-gradient(circle at 78% 18%,rgba(192,126,77,.24),transparent 34%),linear-gradient(145deg,#211b17,#4e3025 62%,#8f573d); }
.brand-logo { display:flex; align-items:center; gap:10px; letter-spacing:2px; }
.brand-logo__english { font-size:13px; color:#e0b98f; white-space:nowrap; }
.brand-logo__identity { display:flex; align-items:center; gap:0; color:#f4d6ad; }
.brand-logo__identity strong { font-size:20px; letter-spacing:2px; white-space:nowrap; }
.brand-logo--sidebar { flex-direction:row; align-items:center; gap:7px; padding:4px 12px 28px; }
.brand-logo--sidebar .brand-logo__english { display:block; font-size:9px; }
.brand-logo--sidebar .brand-logo__identity { justify-content:flex-start; }
.brand-logo--sidebar .brand-logo__identity strong { font-size:15px; letter-spacing:1px; }
.login-art h1 { margin:8vh 0 22px; max-width:760px; font-size:clamp(42px,5vw,76px); line-height:1.18; font-weight:500; letter-spacing:5px; }
.login-art p { max-width:620px; color:rgba(255,248,235,.64); font-size:17px; line-height:1.9; }
.login-accounts { display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.login-accounts button { padding:9px 14px; border:1px solid rgba(255,248,235,.2); border-radius:999px; color:#f2dcc5; background:rgba(255,255,255,.06); }
.login-card { display:flex; flex-direction:column; justify-content:center; padding:60px; background:var(--paper-2); }
.login-card h2 { margin:10px 0 34px; font-size:36px; font-weight:500; }
.login-card label { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; color:#5d4b3a; font-size:14px; }
.login-card input,.field-input { width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:12px; outline:none; color:var(--ink); background:#fffdf8; }
.login-card .primary-button { margin-top:10px; }
.primary-button,.secondary-button,.danger-button,.text-button { border:0; border-radius:12px; }
.primary-button { padding:13px 20px; color:#fffaf0; background:var(--red); font-weight:600; }
.secondary-button { padding:10px 15px; color:#49392d; background:#eee1cf; }
.danger-button { padding:10px 15px; color:#fffaf0; background:#8f4436; }
.text-button { padding:4px 8px; color:var(--red); background:transparent; }
.form-error { min-height:20px; margin-bottom:10px; color:#a84435; font-size:13px; }
.login-note { margin-top:18px; color:var(--muted); font-size:12px; }
.admin-shell { display:grid; grid-template-columns:236px minmax(0,1fr); min-height:100vh; }
.sidebar { position:sticky; top:0; display:flex; height:100vh; flex-direction:column; overflow:hidden; padding:26px 18px; color:#f4ead8; background:#211b17; }
.sidebar-brand { border-bottom:1px solid rgba(255,255,255,.09); }
#side-nav { display:flex; min-height:0; flex:1; flex-direction:column; gap:6px; overflow-y:auto; margin-top:24px; padding-bottom:12px; scrollbar-width:none; }
#side-nav::-webkit-scrollbar { display:none; }
.nav-button { width:100%; padding:13px 16px; border:0; border-radius:11px; color:#cbb9a8; background:transparent; text-align:left; }
.nav-button:hover,.nav-button.active { color:#fff8eb; background:rgba(158,61,42,.45); }
.sidebar-foot { flex:none; margin-top:8px; padding:16px 12px 0; color:#806f61; font-size:11px; border-top:1px solid rgba(255,255,255,.08); }
.workspace { min-width:0; padding:30px 34px 60px; background:radial-gradient(circle at 96% 0,rgba(158,61,42,.08),transparent 30%),linear-gradient(180deg,#fbf6ec,#f1e7d8); }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.topbar h1 { margin:5px 0 0; font-size:36px; font-weight:500; }
.user-box { display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:16px; background:rgba(255,253,248,.82); }
.user-box > div:nth-child(2) { display:flex; flex-direction:column; }
.user-box strong { font-size:14px; }.user-box span { color:var(--muted); font-size:11px; }
.user-avatar { display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; color:#fff8eb; background:var(--red); }
.view-root { display:flex; flex-direction:column; gap:20px; }
.card { padding:24px; border:1px solid var(--line); border-radius:20px; background:rgba(255,253,248,.94); box-shadow:var(--shadow); }
.card-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.card-title h2 { margin:0; font-size:23px; font-weight:500; }
.metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.metric { padding:24px; border-radius:18px; color:#f9f0df; background:linear-gradient(145deg,#2a211b,#5b3c2d); }
.metric span { display:block; color:#d0b69b; font-size:12px; }.metric strong { display:block; margin-top:10px; font-size:42px; font-weight:500; }
.notice { padding:15px 18px; border-left:4px solid var(--red); border-radius:0 12px 12px 0; color:#655446; background:#f8ecdd; font-size:13px; line-height:1.8; }
.toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.toolbar input { min-width:260px; flex:1; padding:11px 14px; border:1px solid var(--line); border-radius:11px; background:#fffdf8; }
.exhibition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.exhibition-card { padding:22px; border:1px solid var(--line); border-radius:18px; background:#fffdf8; }
.exhibition-card__status { display:inline-block; padding:4px 10px; border-radius:999px; color:#316245; background:#dcecdf; font-size:11px; }
.exhibition-card__status.draft { color:#8a631f; background:#fbefd0; }
.exhibition-card h3 { margin:14px 0 8px; font-size:22px; font-weight:500; line-height:1.45; }
.review-groups { display:flex; flex-direction:column; gap:24px; }
.review-group { padding:20px; border:1px solid var(--line); border-radius:20px; background:rgba(255,250,241,.48); }
.review-group__head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:16px; padding:0 2px 14px; border-bottom:1px solid var(--line); }
.review-group__head h2 { margin:6px 0 0; font-size:23px; font-weight:500; }
.review-group__count { flex:none; color:var(--muted); font-size:12px; }
.review-group__count strong { color:var(--red); font-size:20px; font-weight:600; }
.review-toolbar { align-items:flex-end; }
.review-filter { display:flex; min-width:260px; flex:1; flex-direction:column; gap:6px; color:var(--muted); font-size:12px; }
.review-filter select { width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:#fffdf8; }
.review-license { margin-top:10px; color:var(--green); font-size:11px; }
.review-license--missing { color:#9e6a34; }
.community-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.community-review-card { display:flex; min-width:0; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:20px; background:#fffdf8; box-shadow:0 12px 32px rgba(61,42,26,.05); }
.community-review-card__head { display:flex; align-items:center; gap:12px; }
.community-review-card__avatar { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex:none; border-radius:50%; color:#fffaf0; background:linear-gradient(145deg,#6c5647,#2f2823); font-size:17px; }
.community-review-card__identity { min-width:0; flex:1; }
.community-review-card__identity h3 { margin:0; font-size:17px; font-weight:600; }
.community-review-card__identity div { margin-top:3px; color:var(--muted); font-size:11px; }
.community-review-card__status { flex:none; padding:5px 10px; border-radius:999px; color:#8a631f; background:#fbefd0; font-size:11px; }
.community-review-card__status--approved { color:#316245; background:#dcecdf; }
.community-review-card__status--rejected,.community-review-card__status--hidden,.community-review-card__status--reported,.community-review-card__status--deleted { color:#8f4436; background:#f1e1dc; }
.community-review-card__content { margin-top:18px; color:#332a23; font-size:16px; line-height:1.85; white-space:pre-wrap; overflow-wrap:anywhere; }
.community-review-card__images { display:grid; max-width:50%; gap:8px; margin-top:16px; }
.community-review-card__images--1 { grid-template-columns:1fr; }
.community-review-card__images--2,.community-review-card__images--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.community-review-image { height:80px; overflow:hidden; border-radius:10px; background:#e7ddce; }
.community-review-card__images--1 .community-review-image { height:130px; }
.community-review-image__asset { display:block; width:100%; height:100%; object-fit:contain; }
.community-review-card__meta { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:15px; color:var(--muted); font-size:11px; }
.community-review-card__report { color:var(--red); font-weight:600; }
.community-review-comments { margin-top:16px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#faf5ec; }
.community-review-comments__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.community-review-comments__head h4 { margin:0; color:#382d25; font-size:14px; font-weight:600; }
.community-review-comments__head span { margin-left:6px; color:var(--red); font-size:12px; }
.community-review-comments__list { display:flex; flex-direction:column; gap:9px; }
.community-review-comment { padding-top:9px; border-top:1px solid rgba(92,69,45,.1); }
.community-review-comment:first-child { padding-top:0; border-top:0; }
.community-review-comment__meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:11px; }
.community-review-comment__meta strong { color:#5a4739; font-size:12px; }
.community-review-comment__body p { margin:5px 0 7px; color:#4d4036; font-size:13px; line-height:1.65; overflow-wrap:anywhere; white-space:pre-wrap; }
.community-review-comment__delete { padding:4px 9px; border:1px solid #d8b8ad; border-radius:8px; color:#8f4436; background:#fffaf3; font-size:11px; }
.community-review-comments__empty { padding:8px 0 2px; color:var(--muted); font-size:12px; }
.community-review-card__note { margin-top:14px; padding:11px 13px; border-radius:10px; color:#8d5d42; background:#f3e7d5; font-size:12px; line-height:1.65; }
.community-review-card .card-actions { margin-top:auto; padding-top:18px; }
.exhibition-meta { color:var(--muted); font-size:12px; line-height:1.8; }
.card-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.card-actions button { padding:8px 12px; border:1px solid var(--line); border-radius:10px; color:#5d4b3d; background:#f8f1e5; }
.card-actions .publish { color:#fffaf0; background:var(--green); border-color:var(--green); }
.layout-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr); gap:20px; }
.section-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); }
.section-row:last-child { border-bottom:0; }
.section-row button { width:30px; height:30px; border:1px solid var(--line); border-radius:8px; background:#f7efe2; }
.section-row input[type="checkbox"] { width:18px; height:18px; accent-color:var(--red); }
.tab-editor { display:flex; flex-direction:column; gap:10px; margin-top:14px; }
.tab-editor label { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:center; gap:12px; color:var(--muted); font-size:12px; }
.tab-editor input { padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:#fffdf8; }
.preview-phone { padding:20px; border-radius:28px; background:#27211c; box-shadow:inset 0 0 0 7px #52453a; }
.preview-phone__screen { min-height:420px; padding:16px; border-radius:20px; background:var(--paper); }
.preview-block { margin-bottom:9px; padding:13px; border-radius:12px; color:#4b3d31; background:#fffaf1; font-size:13px; }
.preview-block.hero { min-height:110px; color:#fff6e8; background:linear-gradient(145deg,#4b3025,#9b5d42); }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th,td { padding:11px 12px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; }
th { color:var(--muted); font-size:11px; font-weight:500; }
.user-card { padding:18px; border:1px solid var(--line); border-radius:16px; background:#fffdf8; }
.user-card + .user-card { margin-top:12px; }
.user-card__head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.role-pill { padding:5px 10px; border-radius:999px; color:#7b3f2e; background:#f4e1d7; font-size:11px; }
.shop-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 32px; border:1px solid rgba(181,138,86,.24); border-radius:22px; color:#fff8eb; background:radial-gradient(circle at 92% 18%,rgba(214,172,116,.28),transparent 32%),linear-gradient(135deg,#241d18,#5c3d2d 70%,#8b5b3f); box-shadow:var(--shadow); }
.shop-hero h2 { margin:7px 0 8px; font-size:31px; font-weight:500; letter-spacing:2px; }
.shop-hero p { max-width:760px; margin:0; color:rgba(255,248,235,.66); font-size:13px; line-height:1.8; }
.shop-hero .eyebrow { color:#e1b889; }
.shop-hero .role-pill { flex:none; color:#fff5e6; background:rgba(255,255,255,.12); }
.shop-opening-card { padding:34px; border:1px solid var(--line); border-radius:22px; background:#fffdf8; box-shadow:var(--shadow); }
.shop-opening-card h2 { margin:8px 0 10px; font-size:30px; font-weight:500; }
.shop-opening-card > p { margin:0 0 22px; color:var(--muted); line-height:1.8; }
.shop-opening-card .modal-form { max-width:640px; }
.shop-metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.metric--light { color:#4b382a; background:linear-gradient(145deg,#f8f0e2,#eadbc5); border:1px solid rgba(181,138,86,.2); }
.metric--light span { color:#806f5c; }
.shop-actions { margin-top:0; }
.shop-actions .primary-button,.shop-actions .secondary-button { border:0; }
.status-pill,.return-pill { display:inline-block; padding:4px 9px; border-radius:999px; font-size:11px; line-height:1.4; }
.status-pill--active { color:#316245; background:#dcecdf; }
.status-pill--warning { color:#8a631f; background:#fbefd0; }
.status-pill--muted { color:#74675a; background:#e9e1d6; }
.return-pill { margin-top:4px; color:#8f4436; background:#f1e1dc; }
.member-shop-fields { margin-top:10px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#f8f1e5; }
.user-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.user-form-grid label,.form-field { display:flex; flex-direction:column; gap:6px; color:var(--muted); font-size:12px; }
.user-form-grid select,.user-form-grid input,.form-field select,.form-field input,.form-field textarea { padding:9px 11px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:#fffdf8; }
.permission-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:12px; }
.permission-grid label { display:flex; align-items:center; gap:7px; color:#6b5a4a; font-size:12px; }
.permission-grid input { accent-color:var(--red); }
.empty-state { padding:50px; color:var(--muted); text-align:center; }
.modal-root { position:fixed; inset:0; z-index:50; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(25,20,17,.62); }
.modal-card { position:relative; width:min(760px,100%); max-height:90vh; overflow:auto; padding:28px; border-radius:20px; background:#fffaf1; box-shadow:0 30px 80px rgba(0,0,0,.28); }
.modal-close { position:absolute; top:16px; right:18px; border:0; color:#8d7a68; background:transparent; font-size:28px; }
.modal-form { display:flex; flex-direction:column; gap:13px; }
.modal-form h2 { margin:0 0 6px; font-size:26px; font-weight:500; }
.toast { position:fixed; top:24px; left:50%; z-index:70; padding:10px 18px; border-radius:999px; color:#fffaf0; background:rgba(33,27,23,.94); font-size:13px; opacity:0; pointer-events:none; transform:translate(-50%,-12px); transition:.22s; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.form-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.review-thumb { height:240px; overflow:hidden; margin:-22px -22px 18px; background:#e7ddce; }
.review-thumb__image { display:block; width:100%; height:100%; object-fit:contain; background:#e7ddce; }
.product-list-thumb { display:block; width:54px; height:54px; border-radius:9px; object-fit:cover; }
.cover-upload-row { display:grid; grid-template-columns:220px minmax(0,1fr); gap:18px; align-items:center; }
.cover-upload-preview { height:150px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#eee4d7; }
.cover-upload-image { display:block; width:100%; height:100%; object-fit:cover; }
.cover-thumb { display:block; width:100%; height:100%; }
.works-admin-grid { display:flex; flex-direction:column; gap:9px; margin-bottom:20px; }
.works-admin-item { display:grid; grid-template-columns:24px 74px minmax(0,1fr); align-items:center; gap:12px; padding:10px; border:1px solid var(--line); border-radius:12px; background:#fffdf8; }
.works-admin-item > div:last-child { display:flex; flex-direction:column; gap:3px; }
.works-admin-item span,.works-admin-item small { color:var(--muted); font-size:11px; }
.works-admin-cover { width:74px; height:62px; overflow:hidden; border-radius:8px; background:#e7ddce; }
.works-admin-image { display:block; width:100%; height:100%; object-fit:contain; }
.detail-image-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.detail-image-item { position:relative; height:150px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#eee4d7; }
.detail-image-item img { width:100%; height:100%; object-fit:cover; }
.detail-image-item button { position:absolute; right:8px; bottom:8px; padding:5px 9px; border:0; border-radius:8px; color:#fff; background:rgba(143,68,54,.9); }
.detail-upload-button { display:inline-flex; align-items:center; justify-content:center; width:max-content; margin:10px 0 20px; cursor:pointer; }
.product-detail-preview { margin-bottom:20px; padding:18px; border:1px solid var(--line); border-radius:16px; background:#f8f0e3; }
.preview-product-cover { height:220px; overflow:hidden; border-radius:12px; background:#e7ddce; }
.preview-product-image { display:block; width:100%; height:100%; object-fit:contain; }
.product-detail-preview img { display:block; width:100%; margin-top:10px; border-radius:10px; }
.preview-product-text { margin-top:12px; color:#655446; font-size:13px; line-height:1.8; white-space:pre-wrap; }
.period-edit-card { margin-bottom:14px; padding:16px; border:1px solid var(--line); border-radius:14px; background:#fffdf8; }
.works-editor-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.works-frame-live-preview { display:flex; align-items:center; gap:24px; margin-top:14px; padding:18px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,#f6ecdf,#eee1cf); }
.works-frame-preview-shell { display:flex; width:220px; height:180px; flex:none; align-items:center; justify-content:center; overflow:hidden; border-radius:10px; background:#e7ddd0; }
.works-frame-preview { width:180px; height:140px; box-sizing:border-box; }
.works-frame-preview__mat { height:100%; box-sizing:border-box; }
.works-frame-preview__art { display:flex; height:100%; align-items:center; justify-content:center; overflow:hidden; color:#7f6d5b; background:linear-gradient(145deg,#f6f0e4,#b8a68f 58%,#55473a); font-family:serif; font-size:20px; letter-spacing:6px; }
.works-frame-preview-copy { display:flex; flex-direction:column; gap:7px; color:#806d59; font-size:12px; }
.works-frame-preview-copy strong { color:#392d25; font-size:18px; font-weight:600; }
.publish-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; padding:16px; border:1px solid var(--line); border-radius:14px; background:#f8f0e5; }
.works-editor-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.works-editor-columns section,.works-editor > section { min-width:0; padding:16px; border:1px solid var(--line); border-radius:16px; background:#fbf5ea; }
.works-editor input.field-input { margin-bottom:10px; }
.works-admin-item select { margin-top:7px; padding:6px 8px; border:1px solid var(--line); border-radius:8px; background:#fffdf8; }
button.works-admin-item { width:100%; border:1px solid var(--line); color:inherit; text-align:left; cursor:pointer; }
button.works-admin-item:hover { border-color:var(--red); background:#fff7ee; }
.works-selectable--selected { border-color:var(--red) !important; background:#f7e8dc !important; }
.works-pick-order,.works-order { display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; color:#fffaf0; background:var(--red); font-size:12px; font-weight:700; }
.pending-work { grid-template-columns:26px 74px minmax(0,1fr) auto; }
.pending-order-actions { display:flex; flex-wrap:wrap; gap:5px; justify-content:flex-end; }
.pending-order-actions button { padding:5px 7px; border:1px solid var(--line); border-radius:7px; background:#fffdf8; font-size:11px; }
.pending-order-actions button:last-child { color:#9e3d2a; }
.hero-layout-list,.exhibition-cover-list,.featured-selected-list,.available-works-picker { display:flex; flex-direction:column; gap:9px; margin-bottom:14px; }
.hero-layout-item,.exhibition-cover-row { display:grid; grid-template-columns:74px minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px; border:1px solid var(--line); border-radius:12px; background:#fffdf8; }
.hero-layout-item > div:nth-child(2),.exhibition-cover-row > div:nth-child(2) { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.compact-upload { display:inline-flex; padding:6px 10px; font-size:11px; cursor:pointer; }
.single-layout-rule { margin:18px 0; padding:18px; border:1px solid var(--line); border-radius:16px; background:#f8f0e3; }
.single-layout-rule h3 { margin:0 0 14px; font-size:18px; font-weight:500; }
.single-layout-preview { display:flex; align-items:flex-end; gap:28px; min-height:80px; overflow:auto; padding:10px; }
.single-preview-frame { display:flex; align-items:center; justify-content:center; flex:none; border:6px solid #c7a472; color:#665443; background:linear-gradient(145deg,#fffdf8,#e8dccb); box-shadow:0 10px 24px rgba(55,38,24,.14); text-align:center; }
.single-preview-frame span { padding:8px; font-size:12px; line-height:1.7; }
.single-preview-frame strong { color:var(--red); }
.single-preview-frame--square { width:40vh; height:40vh; max-width:320px; max-height:320px; }
.single-preview-frame--portrait { width:32vh; height:60vh; max-width:256px; max-height:520px; }
.member-role-admin { margin:16px 0; padding:16px; border:1px solid rgba(158,61,42,.16); border-radius:14px; background:#fbf3e9; }
.member-role-admin h3 { margin:0 0 12px; font-size:17px; font-weight:500; }
#member-search { margin-bottom:14px; }
.personal-field-options { margin:10px 0 20px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#f8f1e5; }
#batch-add-pending { margin-top:12px; }
.cloud-display-fields { margin:18px 0; padding:18px; border:1px solid var(--line); border-radius:16px; background:#f8f1e5; }
.cloud-display-fields h3 { margin:0 0 12px; font-size:18px; font-weight:500; }
.modal-card--wide { width:min(1280px,100%); }
.certificate-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.certificate-exhibition-groups { display:flex; flex-direction:column; gap:22px; }
.certificate-exhibition-group { padding:22px; border:1px solid var(--line); border-radius:22px; background:rgba(255,253,248,.9); box-shadow:var(--shadow); }
.certificate-exhibition-group__head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.certificate-exhibition-group__head h2 { margin:6px 0 5px; font-size:24px; font-weight:500; }
.certificate-exhibition-group__head p { margin:0; color:var(--muted); font-size:12px; }
.certificate-exhibition-group__head small { display:block; margin-top:7px; color:#9a8068; font-size:11px; }
.certificate-template-list { display:flex; flex-direction:column; gap:8px; margin:0 0 18px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#f8f1e5; }
.certificate-template-list__title { color:var(--red); font-size:11px; letter-spacing:1px; }
.certificate-template-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:#fffdf8; }
.certificate-template-row > div { display:flex; min-width:0; flex-direction:column; gap:4px; }
.certificate-template-row strong { font-size:13px; font-weight:600; }
.certificate-template-row small { color:var(--muted); font-size:10px; }
.certificate-template-row .secondary-button { flex:none; padding:7px 11px; font-size:11px; }
.certificate-issue-section { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.certificate-issue-section__head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.certificate-issue-section__head h3 { margin:0; color:#4a3b31; font-size:17px; font-weight:600; }
.certificate-issue-section__head span { color:var(--muted); font-size:11px; }
.certificate-initial-group { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; margin-top:14px; }
.certificate-initial-label { display:flex; align-items:flex-start; justify-content:center; padding-top:4px; color:var(--red); font-size:21px; font-weight:600; }
.certificate-author-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.certificate-author-card { min-width:0; padding:17px; border:1px solid var(--line); border-radius:16px; background:#fffdf8; }
.certificate-author-card__head { display:flex; align-items:center; gap:11px; }
.certificate-author-card__avatar { display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex:none; border-radius:50%; color:#fffaf0; background:linear-gradient(145deg,#8a4f3c,#3a2b23); font-size:17px; }
.certificate-author-card__identity { min-width:0; flex:1; }
.certificate-author-card__identity h3 { margin:0; font-size:17px; font-weight:600; }
.certificate-author-card__identity h3 span { display:inline-flex; margin-left:5px; padding:2px 6px; border-radius:999px; color:var(--red); background:#f5e5db; font-size:10px; vertical-align:2px; }
.certificate-author-card__identity p { margin:4px 0 0; color:var(--muted); font-size:10px; }
.certificate-author-card__head .primary-button { flex:none; padding:8px 11px; font-size:11px; }
.certificate-author-card__works { display:flex; flex-direction:column; gap:6px; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.certificate-work-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 9px; border-radius:9px; background:#f8f1e5; font-size:12px; }
.certificate-work-row span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.certificate-work-row small { flex:none; color:var(--muted); font-size:10px; }
.certificate-issued-list { display:flex; flex-direction:column; gap:4px; margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); }
.certificate-issued-list div { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; color:#665446; font-size:10px; }
.certificate-issued-list small { min-width:0; overflow:hidden; color:var(--muted); text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.certificate-issued-list .text-button { padding:3px 6px; border:1px solid var(--line); border-radius:6px; font-size:10px; white-space:nowrap; }
.certificate-header-actions { justify-content:flex-end; margin-top:0; align-self:flex-end; }
.empty-inline { padding:12px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); font-size:12px; text-align:center; }
.certificate-template-editor { display:flex; flex-direction:column; gap:16px; }
.certificate-template-editor h2 { margin:0; font-size:27px; font-weight:500; }
.certificate-editor-lead { margin:-8px 0 0; color:var(--muted); font-size:13px; }
.certificate-editor-columns { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); gap:22px; align-items:start; }
.certificate-editor-settings { display:flex; flex-direction:column; gap:14px; min-width:0; }
.certificate-token-bar { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:-5px; color:var(--muted); font-size:11px; }
.certificate-token-bar button { padding:5px 8px; border:1px solid rgba(158,61,42,.2); border-radius:8px; color:var(--red); background:#fbf0e7; font-size:11px; }
.certificate-size-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
.certificate-upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.certificate-upload-block { padding:12px; border:1px solid var(--line); border-radius:12px; background:#f8f1e5; }
.certificate-upload-preview { display:flex; align-items:center; justify-content:center; min-height:84px; margin-top:8px; overflow:hidden; border-radius:9px; color:var(--muted); background:#eae0d0; font-size:11px; }
.certificate-upload-preview img { display:block; width:100%; max-height:120px; object-fit:contain; }
.certificate-upload-block .text-button { margin-top:7px; padding:0; color:var(--red); font-size:11px; }
.certificate-layout-sections { display:flex; flex-direction:column; gap:10px; }
.certificate-layout-group { margin:0; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fbf6ec; }
.certificate-layout-group legend { padding:0 5px; color:#59493d; font-size:12px; font-weight:600; }
.certificate-layout-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.certificate-layout-field { display:flex; flex-direction:column; gap:4px; color:var(--muted); font-size:10px; }
.certificate-layout-field input,.certificate-layout-field select { width:100%; padding:7px 8px; border:1px solid var(--line); border-radius:7px; color:var(--ink); background:#fffdf8; }
.certificate-layout-field input[type="color"] { min-height:31px; padding:3px; }
.certificate-editor-preview { min-width:0; }
.certificate-preview-sticky { position:sticky; top:0; padding:17px; border:1px solid var(--line); border-radius:16px; background:#f2e8d9; }
.certificate-preview-sticky > p { margin:10px 0 0; color:var(--muted); font-size:10px; line-height:1.6; }
.certificate-paper-preview { position:relative; width:100%; overflow:hidden; container-type:inline-size; border:1px solid rgba(112,80,44,.26); border-radius:4px; background-color:#f8efdf; box-shadow:0 15px 35px rgba(68,46,28,.16); }
.certificate-paper-preview__inner { position:absolute; inset:0; }
.certificate-paper-preview__title,.certificate-paper-preview__body,.certificate-paper-preview__signature,.certificate-paper-preview__footer { position:absolute; margin:0; overflow-wrap:anywhere; }
.certificate-paper-preview__title { font-weight:600; line-height:1.35; }
.certificate-paper-preview__body { max-height:42%; overflow:hidden; }
.certificate-paper-preview__footer { line-height:1.7; }
.certificate-paper-preview__seal { position:absolute; display:flex; align-items:center; justify-content:center; aspect-ratio:1; border:3px solid rgba(158,45,35,.78); border-radius:50%; color:rgba(158,45,35,.88); text-align:center; transform:translate(-50%,-50%) rotate(-10deg); font-size:4cqw; font-weight:600; }
.certificate-paper-preview__seal-image { position:absolute; max-height:32%; object-fit:contain; transform:translate(-50%,-50%); mix-blend-mode:multiply; }
.certificate-paper-preview__signature-line { white-space:nowrap; }
.certificate-paper-preview__signature-line--name { display:flex; align-items:center; justify-content:center; gap:2cqw; flex-wrap:nowrap; }
.certificate-paper-preview__signature-title { white-space:nowrap; }
.certificate-paper-preview__signature-image { display:inline-block; width:auto; max-width:32cqw; max-height:8cqw; margin:0; object-fit:contain; vertical-align:middle; }
.certificate-upload-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.certificate-seal-toggle { display:flex; align-items:center; gap:8px; width:max-content; max-width:100%; padding:10px 13px; border:1px solid var(--line); border-radius:11px; color:#5a493c; background:#f8f1e5; font-size:12px; cursor:pointer; }
.certificate-seal-toggle input { width:17px; height:17px; accent-color:var(--red); }
.certificate-stepper { display:grid; grid-template-columns:30px minmax(0,1fr) 30px; align-items:center; gap:4px; }
.certificate-stepper button { display:flex; align-items:center; justify-content:center; height:33px; padding:0; border:1px solid var(--line); border-radius:7px; color:var(--red); background:#f7e9de; font-size:10px; }
.certificate-stepper input { min-width:0; text-align:center; }
.certificate-range { width:100%; margin-top:5px; accent-color:var(--red); }
.certificate-justify-note { margin-top:7px; color:#8b725c; font-size:10px; }
.certificate-save-button { align-self:flex-start; }
.certificate-issue-form h2 { margin:0; }
.certificate-issue-columns { display:grid; grid-template-columns:minmax(300px,.75fr) minmax(420px,1.25fr); gap:20px; align-items:start; }
.certificate-work-select { display:flex; flex-direction:column; gap:7px; margin:14px 0; }
.certificate-work-select h3 { margin:0; font-size:14px; font-weight:600; }
.certificate-work-select label { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); border-radius:10px; background:#fbf6ec; font-size:12px; }
.certificate-work-select input { width:17px; height:17px; accent-color:var(--red); }
.certificate-work-select small { color:var(--muted); font-size:10px; }
.certificate-issue-preview { min-width:0; padding:14px; border-radius:16px; background:#efe4d3; }
#issue-certificate-preview { margin-top:10px; }
@media (max-width:1000px) { .admin-shell { grid-template-columns:1fr; }.sidebar { position:relative; height:auto; overflow:visible; }.sidebar #side-nav { flex:none; flex-direction:row; overflow:auto; }.sidebar-foot { display:none; }.workspace { padding:22px; }.layout-grid,.exhibition-grid,.works-editor-columns,.works-editor-toolbar,.form-grid-2,.review-toolbar,.community-review-grid,.certificate-summary-grid,.certificate-author-grid,.certificate-editor-columns,.certificate-issue-columns,.certificate-upload-grid--three { grid-template-columns:1fr; }.metric-grid { grid-template-columns:1fr; }.shop-hero { align-items:flex-start; flex-direction:column; padding:24px; }.login-shell { grid-template-columns:1fr; }.login-art { padding:50px 28px; }.login-card { padding:42px 28px; }.review-group { padding:14px; }.review-group__head { align-items:flex-start; flex-direction:column; }.certificate-exhibition-group__head { align-items:flex-start; flex-direction:column; }.certificate-initial-group { grid-template-columns:28px minmax(0,1fr); }.certificate-preview-sticky { position:relative; }.modal-card--wide { padding:20px; } }
.exhibition-public-preview { overflow:hidden; border-radius:20px; background:#faf4e9; }
.exhibition-preview-hero { min-height:260px; padding:54px 42px 36px; color:#fffaf0; background-size:cover; background-position:center; }
.exhibition-preview-status { display:inline-flex; padding:5px 11px; border-radius:999px; color:#fffaf0; background:rgba(158,61,42,.82); font-size:11px; }
.exhibition-preview-hero h2 { max-width:780px; margin:18px 0 10px; font-size:38px; font-weight:500; line-height:1.35; }
.exhibition-preview-hero p { max-width:720px; margin:0 0 20px; color:rgba(255,250,240,.78); font-size:15px; line-height:1.8; }
.exhibition-preview-hero div { color:rgba(255,250,240,.72); font-size:12px; }
.exhibition-preview-body { padding:30px 36px 42px; }
.exhibition-preview-note { margin-bottom:20px; padding:12px 15px; border-left:3px solid var(--red); color:#735f4d; background:#f6ebde; font-size:12px; }
.exhibition-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 22px;margin-left:max(0px,calc(8vw - 36px));margin-right:max(0px,calc(8vw - 36px)); }
.exhibition-preview-work { min-width:0; padding:14px; border:1px solid var(--line); border-radius:16px; background:#fffdf8; }
.exhibition-public-frame { width:100%; box-sizing:border-box; }
.exhibition-public-mat { box-sizing:border-box; }
.exhibition-public-art { position:relative; height:330px; overflow:hidden; background:#e7ddce; }
.exhibition-public-image { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.exhibition-preview-work h3 { margin:15px 3px 8px; font-size:19px; font-weight:500; }
.exhibition-preview-meta { padding:0 3px; color:#887766; line-height:1.7; }
@media(max-width:900px){.exhibition-preview-grid{grid-template-columns:1fr;margin-left:0;margin-right:0}.exhibition-preview-body{padding:22px}.exhibition-preview-hero{padding:38px 24px 28px}.exhibition-preview-hero h2{font-size:29px}.exhibition-public-art{height:360px}}
.exhibition-video-preview { min-height:210px; background:#251f1b; }
.exhibition-video-upload-preview { width:100%; max-height:300px; background:#1b1714; object-fit:contain; }
.exhibition-video-upload-empty { display:flex; min-height:210px; align-items:center; justify-content:center; color:#cbb9a6; font-size:12px; }
.exhibition-preview-video { margin-bottom:24px; overflow:hidden; border-radius:16px; background:#1d1916; }
.exhibition-preview-video video { display:block; width:100%; max-height:520px; object-fit:contain; }
.data-tabs { display:flex; flex-wrap:wrap; gap:8px; padding:7px; border:1px solid var(--line); border-radius:15px; background:rgba(255,253,248,.72); }
.data-tab { padding:10px 18px; border:0; border-radius:10px; color:#725f4e; background:transparent; }
.data-tab.active { color:#fffaf0; background:var(--red); }
.data-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.data-toolbar label { display:flex; min-width:320px; flex:1; flex-direction:column; gap:7px; color:var(--muted); font-size:12px; }
.data-toolbar select,.data-search input { width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:#fffdf8; }
.analytics-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.analytics-summary--products { grid-template-columns:repeat(3,minmax(0,1fr)); }
.analytics-metric { padding:20px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,#fffdf8,#f3e8d8); }
.analytics-metric span { display:block; color:var(--muted); font-size:12px; }
.analytics-metric strong { display:block; margin-top:8px; color:var(--ink); font-size:31px; font-weight:500; }
.analytics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.analytics-chart { min-width:0; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fffdf8; }
.analytics-chart h3 { margin:0 0 16px; font-size:17px; font-weight:500; }
.analytics-chart__body { display:flex; flex-direction:column; align-items:center; gap:16px; }
.analytics-donut { position:relative; display:flex; width:150px; height:150px; align-items:center; justify-content:center; border-radius:50%; }
.analytics-donut__hole { display:flex; width:88px; height:88px; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:#fffdf8; }
.analytics-donut__hole strong { color:var(--ink); font-size:25px; font-weight:500; }
.analytics-donut__hole span { color:var(--muted); font-size:10px; }
.analytics-legend { display:flex; width:100%; flex-direction:column; gap:7px; }
.analytics-legend div { display:grid; grid-template-columns:9px minmax(0,1fr) auto; align-items:center; gap:8px; color:#6d5b4b; font-size:11px; }
.analytics-legend i { width:9px; height:9px; border-radius:50%; }
.analytics-legend strong { font-weight:500; }
.data-search { display:flex; gap:10px; margin-bottom:16px; }
.data-search input { flex:1; }
.table-wrap small { color:var(--muted); font-size:10px; }
@media(max-width:1100px){.analytics-grid{grid-template-columns:1fr}.analytics-summary,.analytics-summary--products{grid-template-columns:repeat(2,minmax(0,1fr))}.data-toolbar{align-items:stretch;flex-direction:column}.data-toolbar label{min-width:0}.data-search{align-items:stretch;flex-direction:column}}
