:root {
  --bg:#f4f3f8; --panel:rgba(255,255,255,.86); --panel-solid:#fff; --ink:#16141e;
  --muted:#777482; --line:rgba(34,28,55,.10); --accent:#7455e9; --accent-2:#bd7cff;
  --danger:#c54b5d; --shadow:0 24px 70px rgba(45,31,87,.10); color-scheme:light;
}
* { box-sizing:border-box; }
html { font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif; color:var(--ink); background:var(--bg); }
body { margin:0; min-height:100vh; background:var(--bg); transition:background .2s,color .2s; }
.ambient { position:fixed; z-index:-1; border-radius:50%; filter:blur(15px); pointer-events:none; opacity:.55; }
.ambient-one { width:460px; height:460px; top:-230px; right:4%; background:radial-gradient(circle,#d8c8ff 0,transparent 70%); }
.ambient-two { width:380px; height:380px; left:-180px; bottom:5%; background:radial-gradient(circle,#cce8ff 0,transparent 70%); }
.topbar { min-height:74px; padding:10px max(24px,calc((100vw - 1220px)/2)); display:flex; align-items:center; background:rgba(255,255,255,.74); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; backdrop-filter:blur(24px); }
.brand { display:flex; align-items:center; gap:11px; color:var(--ink); text-decoration:none; }
.brand-copy-link,.brand-mark-link { color:inherit; text-decoration:none; }
.quick-logo-form { margin:0; line-height:0; }
.quick-logo-picker { position:relative; display:block; cursor:pointer; line-height:normal; }
.quick-logo-picker input[type="file"] { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.logo-edit-badge { position:absolute; right:-4px; bottom:-4px; width:16px; height:16px; display:grid; place-items:center; border:2px solid var(--panel-solid); border-radius:50%; background:var(--ink); color:var(--panel-solid); font-size:12px; font-weight:900; line-height:1; box-shadow:0 3px 9px rgba(0,0,0,.22); }
.quick-logo-picker:hover .brand-mark { outline:2px solid rgba(116,85,233,.34); outline-offset:3px; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.brand-mark { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:13px; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-2)); font-weight:850; box-shadow:0 9px 24px rgba(116,85,233,.30); }
.brand-mark img { width:100%; height:100%; padding:3px; display:block; object-fit:contain; object-position:center; border-radius:inherit; }
.brand .brand-mark,.share-header>.brand-mark,.feedback-shell>.brand-mark { width:var(--brand-logo-size,52px); height:var(--brand-logo-size,52px); flex-shrink:0; }
.brand-mark:has(img) { background:transparent; box-shadow:none; border-radius:var(--brand-logo-radius,22%); }
.brand-mark img { padding:0; }
.brand { align-items:center; }
.brand-copy { justify-content:center; min-width:0; }
.brand-copy-link { display:flex; align-items:center; }
@media(max-width:650px) { .brand .brand-mark,.share-header>.brand-mark,.feedback-shell>.brand-mark { width:min(var(--brand-logo-size,52px),56px); height:min(var(--brand-logo-size,52px),56px); } }
.brand-copy { display:flex; flex-direction:column; line-height:1.05; }
.brand-copy strong { font-size:15px; }
.brand-copy small { margin-top:5px; font-size:7px; letter-spacing:.08em; color:var(--muted); white-space:nowrap; }
.topbar nav { display:flex; align-items:center; gap:22px; margin-left:auto; }
.topbar nav a,.link-button { color:var(--muted); text-decoration:none; border:0; background:none; font:inherit; cursor:pointer; transition:color .2s; }
.topbar nav a:hover,.link-button:hover { color:var(--accent); }
.topbar nav form { margin:0; }
.theme-toggle { flex:0 0 auto; width:40px; height:40px; margin-left:16px; border:1px solid var(--line); border-radius:13px; background:var(--panel-solid); color:var(--ink); font-size:19px; cursor:pointer; box-shadow:0 5px 18px rgba(30,22,58,.06); }
.account-chip { min-height:38px; padding:4px 11px 4px 5px; border:1px solid var(--line); border-radius:99px; background:rgba(255,255,255,.45); color:var(--muted); font-size:11px; white-space:nowrap; display:flex; align-items:center; gap:8px; }
.account-chip img,.account-chip b { width:28px!important; height:28px!important; min-width:28px; max-width:28px!important; min-height:28px; max-height:28px!important; flex:0 0 28px; border-radius:50%!important; object-fit:cover!important; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-2)); overflow:hidden; }
.page-shell { max-width:1220px; margin:auto; padding:52px 24px 74px; min-height:calc(100vh - 126px); }
.app-footer { max-width:1220px; margin:auto; padding:0 24px 28px; display:flex; justify-content:space-between; color:var(--muted); font-size:11px; letter-spacing:.05em; }
.hero-row { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.hero-row.compact { margin-bottom:20px; }
.hero-row h1 { font-size:clamp(34px,5vw,54px); line-height:.98; margin:9px 0 12px; letter-spacing:-.05em; }
.hero-row p,.muted { color:var(--muted); }
.eyebrow { font-size:11px; letter-spacing:.19em; color:var(--accent); font-weight:850; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:43px; padding:0 18px; border-radius:13px; border:1px solid transparent; text-decoration:none; font:inherit; font-weight:750; cursor:pointer; transition:transform .18s,box-shadow .18s,border-color .18s; }
.button:hover { transform:translateY(-1px); }
.button.primary { background:linear-gradient(135deg,var(--accent),#9372f6); color:#fff; box-shadow:0 12px 28px rgba(116,85,233,.25); }
.button.subtle { border-color:var(--line); background:var(--panel-solid); color:var(--ink); }
.button.wide { width:100%; }
.danger-button { background:#fff0f2; color:var(--danger); border-color:#ffd3da; }
.stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:17px; }
.stat { min-height:112px; background:var(--panel); border:1px solid var(--line); border-radius:21px; padding:20px; display:flex; align-items:center; gap:16px; box-shadow:0 12px 35px rgba(39,27,78,.055); backdrop-filter:blur(16px); }
.stat>div { display:flex; flex-direction:column; gap:5px; }
.stat span { color:var(--muted); }
.stat strong { font-size:32px; letter-spacing:-.04em; }
.stat-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:15px; font-size:20px; }
.stat-icon.violet { color:#7354e8; background:#eee9ff; }
.stat-icon.amber { color:#a56714; background:#fff1d7; }
.stat-icon.blue { color:#1872a9; background:#def2ff; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); backdrop-filter:blur(18px); }
.storage-panel { position:relative; overflow:hidden; margin-bottom:20px; padding:23px; display:grid; grid-template-columns:1.1fr 1fr; gap:25px; align-items:center; }
.storage-panel:after { content:""; position:absolute; width:220px; height:220px; right:-110px; top:-125px; border-radius:50%; background:linear-gradient(135deg,rgba(116,85,233,.13),rgba(189,124,255,.03)); }
.storage-summary { display:flex; align-items:center; gap:18px; }
.storage-summary h2 { margin:5px 0; font-size:22px; }
.storage-summary p { margin:0; color:var(--muted); }
.storage-ring { --p:calc(var(--usage) * 1%); width:82px; height:82px; flex:0 0 82px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--accent) var(--p),var(--line) 0); position:relative; }
.storage-ring:before { content:""; position:absolute; inset:8px; border-radius:50%; background:var(--panel-solid); }
.storage-ring span { position:relative; z-index:1; font-size:18px; font-weight:850; }
.storage-ring small { font-size:10px; }
.storage-details { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.storage-details>div { padding:13px; border-radius:15px; background:rgba(116,85,233,.055); display:flex; flex-direction:column; gap:4px; }
.storage-details span,.storage-details small { color:var(--muted); font-size:11px; }
.storage-details strong { font-size:15px; }
.capacity-alert { grid-column:1/-1; padding:12px 15px; border-radius:13px; background:#fff1d8; color:#925a0b; font-weight:700; }
.storage-warning { border-color:rgba(235,158,42,.4); }
.filterbar { display:flex; gap:10px; padding:12px; background:var(--panel); border:1px solid var(--line); border-radius:17px; margin-bottom:22px; backdrop-filter:blur(18px); }
.filterbar input { flex:1; min-width:160px; border:0; background:rgba(116,85,233,.045); }
input,select,textarea { border:1px solid var(--line); border-radius:12px; background:var(--panel-solid); padding:11px 13px; font:inherit; color:var(--ink); outline:none; }
input:focus,select:focus,textarea:focus { border-color:rgba(116,85,233,.55); box-shadow:0 0 0 3px rgba(116,85,233,.10); }
.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.profile-card { overflow:hidden; border-radius:22px; background:var(--panel); border:1px solid var(--line); box-shadow:0 10px 32px rgba(38,24,79,.06); transition:transform .22s,box-shadow .22s; }
.profile-card:hover { transform:translateY(-4px); box-shadow:0 23px 52px rgba(38,24,79,.13); }
.cover { display:block; position:relative; aspect-ratio:4/3; background:#eceaf1; overflow:hidden; }
.cover:after { content:""; position:absolute; inset:auto 0 0; height:38%; background:linear-gradient(transparent,rgba(14,10,24,.28)); pointer-events:none; }
.cover img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.profile-card:hover .cover img { transform:scale(1.025); }
.cover-empty { height:100%; display:grid; place-items:center; font-size:64px; color:#fff; background:linear-gradient(135deg,#29223f,#997bf0); }
.status-badge { display:inline-flex; padding:5px 9px; border-radius:99px; font-size:11px; font-weight:800; }
.cover .status-badge { position:absolute; z-index:2; top:12px; right:12px; }
.cover-meta-badges { position:absolute; z-index:2; top:12px; left:12px; display:flex; flex-wrap:wrap; gap:5px; max-width:calc(100% - 82px); }
.cover-meta-badges .ownership,.cover-meta-badges .availability { margin:0; box-shadow:0 5px 16px rgba(18,12,31,.16); }
.status-badge.active { background:#e5f8ed; color:#1f7a46; }
.status-badge.inactive { background:#efefec; color:#777; }
.card-body { padding:19px; }
.card-body h2 { font-size:24px; margin:5px 0; letter-spacing:-.03em; }
.code { color:var(--accent); font-size:11px; font-weight:850; letter-spacing:.11em; }
.meta { color:var(--muted); min-height:22px; }
.price-chip { display:inline-flex; margin:0 0 4px; padding:7px 10px; border-radius:10px; background:linear-gradient(135deg,rgba(116,85,233,.12),rgba(189,124,255,.08)); color:var(--accent); font-size:12px; font-weight:800; }
.availability { display:inline-flex; margin-bottom:10px; padding:5px 8px; border-radius:99px; font-size:10px; font-weight:850; background:#e5f8ed; color:#1f7a46; }
.availability.limited { background:#fff1d7; color:#9a620f; }
.availability.booked,.availability.paused { background:#efefec; color:#777; }
.ownership { display:inline-flex; margin:0 0 10px 5px; padding:5px 8px; border-radius:99px; font-size:10px; font-weight:850; background:#eee9ff; color:#654ab8; }
.ownership.external { background:#def2ff; color:#1872a9; }
.ownership.unclassified { background:#efefec; color:#777; }
.tags { display:flex; gap:6px; flex-wrap:wrap; margin:13px 0; }
.tags span { font-size:11px; padding:6px 9px; background:#f0ecff; color:#5a45ad; border-radius:99px; }
.card-actions { display:flex; gap:18px; padding-top:14px; border-top:1px solid var(--line); }
.card-actions a { font-weight:750; color:var(--ink); text-decoration:none; }
.card-actions a:hover { color:var(--accent); }
.pagination { margin-top:24px; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 13px; border:1px solid var(--line); border-radius:16px; background:var(--panel); }
.pagination a { color:var(--accent); font-weight:750; text-decoration:none; }
.pagination .page-direction:last-child { text-align:right; }
.page-direction { min-width:78px; }
.page-direction.disabled { color:var(--muted); opacity:.42; }
.page-numbers { display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; overflow-x:auto; }
.page-numbers a,.page-numbers strong,.page-numbers i { min-width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:10px; font-size:12px; font-style:normal; }
.page-numbers strong { border-color:var(--accent); background:var(--accent); color:#fff; }
.page-numbers i { border-color:transparent; color:var(--muted); }
@media(max-width:580px) { .pagination { gap:6px; } .page-direction { min-width:auto; font-size:11px; } .page-numbers { justify-content:flex-start; } }
.form-panel { padding:27px; }
.form-fieldset { padding:0; margin:0; border:0; }
.form-fieldset:disabled { opacity:.76; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form-grid label,.stack-form label { display:flex; flex-direction:column; gap:8px; font-weight:700; }
.form-grid label>span b { color:var(--danger); }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; }
.form-grid input[type=checkbox] { width:auto; align-self:start; }
.span-2 { grid-column:1/-1; }
.form-grid small { font-weight:400; color:var(--muted); }
.auto-field-badge { display:inline-flex; margin-left:6px; padding:3px 6px; border-radius:99px; color:var(--accent); background:rgba(116,85,233,.09); font-size:9px; font-style:normal; font-weight:800; vertical-align:middle; }
.error,.form-error { color:var(--danger)!important; }
.form-error { background:#fff0f2; padding:12px; border-radius:11px; margin-bottom:15px; }
.upload-zone { padding:19px; border:1px dashed rgba(116,85,233,.35); border-radius:15px; background:rgba(116,85,233,.04); }
.form-actions { display:flex; gap:10px; margin-top:24px; }
.quick-save-dock { position:fixed; z-index:35; bottom:max(18px,env(safe-area-inset-bottom)); right:24px; padding:10px 14px; border:1px solid var(--line); border-radius:16px; background:var(--panel); box-shadow:0 8px 28px #0003; display:flex; align-items:center; gap:12px; max-width:calc(100vw - 32px); }
.quick-save-dock[hidden] { display:none; }
.quick-save-dock small { max-width:180px; }
.feedback-return { position:sticky; top:8px; z-index:10; padding:10px 0; background:var(--panel); margin:12px 0; }
@media(max-width:720px) { .quick-save-dock { bottom:calc(84px + env(safe-area-inset-bottom)); right:16px; } }
.profile-save-actions { position:sticky; z-index:12; bottom:14px; align-items:center; justify-content:flex-end; padding:10px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.9); box-shadow:0 14px 36px rgba(28,20,50,.14); backdrop-filter:blur(20px); }
.profile-save-actions>span { margin-right:auto; color:var(--muted); font-size:12px; }
html[data-theme=dark] .profile-save-actions { background:rgba(25,23,33,.92); }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:20px; }
.section-heading h2 { margin:6px 0 0; }
.media-panel { padding:27px; margin-top:22px; }
.detail-panel { padding:27px; margin-top:22px; }
.detail-list,.schedule-list { display:grid; gap:10px; }
.content-list,.contact-list { display:grid; gap:10px; }
.content-edit-row,.contact-edit-row,.content-quick-add,.contact-quick-add { padding:14px; border:1px solid var(--line); border-radius:15px; background:var(--panel-solid); }
.content-edit-row { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(320px,2fr) auto auto; gap:10px; align-items:center; }
.content-edit-row textarea,.content-quick-add textarea { width:100%; resize:vertical; }
.content-edit-row>div,.contact-edit-row>div { display:flex; gap:7px; }
.content-quick-add { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(320px,2fr) auto auto; gap:10px; align-items:center; margin-top:14px; border-style:dashed; background:rgba(116,85,233,.035); }
.contact-edit-row,.contact-quick-add { display:grid; grid-template-columns:1.15fr 1fr 1.25fr 1.2fr auto auto; gap:9px; align-items:center; }
.contact-quick-add { margin-top:14px; border-style:dashed; background:rgba(116,85,233,.035); }
.community-list { display:grid; gap:9px; }
.community-edit-row,.community-quick-add { display:grid; grid-template-columns:1.15fr 1fr 1.6fr 1.2fr auto auto; gap:9px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:15px; background:var(--panel-solid); }
.community-quick-add { margin-top:14px; border-style:dashed; background:rgba(116,85,233,.035); }
.community-edit-row>div { display:flex; gap:7px; }
.community-preview { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--panel-solid); }
.community-preview span { min-width:0; overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.community-preview small { margin-left:auto; color:var(--muted); }
.compact-note { margin:10px 2px 0; font-size:11px; }
.compact-note code { color:var(--accent); }
.content-preview,.contact-preview { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--panel-solid); }
.content-preview p { flex-basis:100%; margin:0; color:var(--muted); }
.content-preview small,.contact-preview small { margin-left:auto; color:var(--muted); }
.engagement-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.engagement-summary article { min-height:92px; padding:15px; display:flex; flex-direction:column; justify-content:center; gap:5px; border:1px solid var(--line); border-radius:15px; background:rgba(116,85,233,.045); }
.engagement-summary span,.engagement-summary small { color:var(--muted); font-size:11px; }
.engagement-summary strong { font-size:21px; }
.engagement-list { display:grid; gap:9px; }
.engagement-edit-row,.engagement-quick-add { display:grid; grid-template-columns:1fr 1.35fr .8fr 1.05fr 1fr 1.35fr auto; gap:8px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--panel-solid); }
.engagement-edit-row>div { display:flex; gap:7px; }
.engagement-quick-add { margin-top:14px; border-style:dashed; background:rgba(116,85,233,.035); }
.engagement-preview { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--panel-solid); }
.engagement-preview span { color:var(--accent); }
.engagement-preview small { flex-basis:100%; color:var(--muted); }
.detail-row { padding:12px; border:1px solid var(--line); border-radius:15px; background:var(--panel-solid); }
.price-row { display:grid; grid-template-columns:1.35fr .8fr .8fr 1.05fr .75fr 1.1fr auto auto auto auto; gap:8px; align-items:center; }
.readonly-price { display:grid; grid-template-columns:1.4fr 1fr 1fr .8fr; gap:12px; color:var(--muted); }
.readonly-price strong { color:var(--ink); }
.price-row input,.price-row select { min-width:0; width:100%; }
.quick-add { margin-top:16px; padding:15px; border:1px dashed rgba(116,85,233,.32); border-radius:15px; display:grid; grid-template-columns:1.3fr .8fr .8fr 1.1fr .75fr auto auto 1.2fr auto; gap:9px; align-items:center; background:rgba(116,85,233,.035); }
.quick-add input,.quick-add select { min-width:0; width:100%; }
.quick-add select[name=currency],.price-row select[name=currency] { min-width:132px; }
.inline-check { display:flex; align-items:center; gap:5px; white-space:nowrap; font-size:12px; }
.inline-check input { width:17px!important; height:17px; }
.schedule-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--panel-solid); }
.schedule-row>div { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.schedule-row small { width:100%; color:var(--muted); }
.schedule-edit { display:flex; align-items:center; gap:7px; }
.schedule-edit input { max-width:180px; }
.schedule-status { padding:5px 8px; border-radius:99px; font-size:10px; font-weight:850; background:#e5f8ed; color:#1f7a46; }
.schedule-status.held { background:#fff1d7; color:#95600d; }
.schedule-status.booked,.schedule-status.unavailable { background:#efefec; color:#777; }
.schedule-add { grid-template-columns:1fr 1fr .7fr 1.2fr auto; }
.bulk-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:15px; color:var(--muted); font-size:12px; }
.bulk-toolbar>div { display:flex; flex-wrap:wrap; gap:7px; }
.media-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.media-item { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--panel-solid); margin:0; position:relative; }
.media-item[draggable=true] { cursor:grab; }
.media-item.dragging { opacity:.48; border-color:var(--accent); }
.media-select { position:absolute; z-index:4; top:9px; left:9px; width:21px!important; height:21px; accent-color:var(--accent); }
.media-item img { display:block; width:100%; aspect-ratio:1; object-fit:cover; background:#111; }
.media-item.video-item { width:100%; max-width:360px; align-self:start; justify-self:center; }
.media-item video { display:block; width:100%; height:auto; max-height:640px; min-height:180px; object-fit:contain; background:#111; }
.media-actions { display:flex; align-items:center; justify-content:space-between; padding:9px; }
.media-actions small { color:var(--muted); font-size:9px; }
.media-actions form { margin:0; }
.media-actions button { border:0; background:none; color:var(--ink); cursor:pointer; font-weight:700; }
.media-actions .danger { color:var(--danger); }
.danger-zone { margin-top:30px; }
.narrow { max-width:660px; }
.stack-form { display:flex; flex-direction:column; gap:16px; }
.stack-form p { display:flex; flex-direction:column; gap:8px; margin:0; }
.stack-form input,.stack-form select { width:100%; }
.table-panel { overflow:hidden; }
.share-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px; border-bottom:1px solid var(--line); }
.share-row:last-child { border:0; }
.share-row p { margin:6px 0; color:var(--muted); }
.share-row small { color:var(--muted); }
.share-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
nav.share-actions { margin-bottom:16px; }
.share-actions form { margin:0; }
.empty-state { grid-column:1/-1; text-align:center; padding:60px 20px; border:1px dashed rgba(116,85,233,.28); border-radius:20px; }
.empty-state p { color:var(--muted); }
.profile-bulk-toolbar { margin:0 0 14px; padding:11px 13px; display:flex; align-items:center; gap:12px; border:1px solid rgba(197,75,93,.18); border-radius:15px; background:rgba(197,75,93,.055); color:var(--muted); font-size:11px; }
.profile-bulk-toolbar>span { margin-right:auto; }
.profile-bulk-toolbar strong { white-space:nowrap; color:var(--ink); }
.profile-bulk-toolbar .button { min-height:34px; padding:0 13px; font-size:11px; }
.profile-bulk-toolbar .button:disabled { opacity:.45; cursor:not-allowed; }
.profile-delete-select { display:inline-flex; align-items:center; gap:5px; color:var(--danger); font-size:10px; cursor:pointer; white-space:nowrap; }
.profile-delete-select input { width:14px; height:14px; margin:0; accent-color:var(--danger); }
.dashboard-card-grid .profile-card { position:relative; overflow:visible; }
.dashboard-card-grid .cover { overflow:hidden; border-radius:17px 17px 0 0; }
.card-ranking-ribbons { position:absolute; z-index:7; top:-10px; left:-10px; display:flex; flex-direction:column; align-items:flex-start; gap:5px; max-width:calc(100% - 16px); pointer-events:none; }
.card-label-stack { position:absolute; z-index:7; top:9px; left:9px; right:64px; display:flex; flex-direction:column; align-items:flex-start; gap:7px; pointer-events:none; }
.card-label-stack .card-ranking-ribbons { position:static; max-width:100%; pointer-events:auto; }
.dashboard-card-grid .card-label-stack .cover-meta-badges { position:static; max-width:100%; }
.card-label-stack .card-ranking-ribbons span { overflow-wrap:anywhere; }
.bulk-instructions { padding:18px; border:1px solid var(--line); border-radius:16px; margin-bottom:20px; }
.bulk-instructions li { margin:8px 0; line-height:1.65; }
.bulk-extra,.bulk-child-group { margin:24px 0; padding:18px; border:1px solid var(--line); border-radius:16px; }
.bulk-extra summary { cursor:pointer; font-weight:700; margin-bottom:16px; }
.bulk-child-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; border-top:1px solid var(--line); padding:18px 0; }
.bulk-child-row label { display:block; margin-bottom:7px; }
.bulk-child-row p { margin:0; }
.bulk-child-group>small { display:block; margin-top:10px; }
@media(max-width:650px) { .bulk-child-row { grid-template-columns:1fr; } }
.card-ranking-ribbons span { display:inline-flex; align-items:center; gap:4px; padding:5px 9px 5px 6px; border:1px solid; border-radius:10px 99px 99px 10px; box-shadow:0 7px 18px rgba(0,0,0,.20); font-size:9px; font-weight:850; backdrop-filter:blur(12px); }
.card-ranking-ribbons b { font-size:14px; line-height:1; }
.card-ranking-ribbons .rank-1 { border-color:#e7bc50; background:rgba(80,59,10,.94); color:#ffe28a; }
.card-ranking-ribbons .rank-2 { border-color:#b9c1cc; background:rgba(54,59,68,.94); color:#edf2f8; }
.card-ranking-ribbons .rank-3 { border-color:#c58256; background:rgba(75,45,28,.94); color:#f1b58d; }
.medal-details { pointer-events:auto; }
.medal-details summary { cursor:pointer; list-style:none; }
.medal-details summary::-webkit-details-marker { display:none; }
.medal-details>div { display:flex; flex-direction:column; gap:5px; padding-top:5px; }
.medal-details:not([open])>div { display:none; }
.medal-details summary span { min-height:32px; }
@media(max-width:580px) { .profile-bulk-toolbar { align-items:stretch; flex-direction:column; } .profile-bulk-toolbar .button { width:100%; } }
.bulk-profile-edit { padding:22px; }
.bulk-safe-option { display:flex; align-items:center; gap:11px; margin-bottom:18px; padding:13px; border-radius:14px; background:rgba(116,85,233,.08); }
.bulk-safe-option span { display:flex; flex-direction:column; gap:3px; }
.bulk-safe-option small,.bulk-edit-grid small { color:var(--muted); }
.bulk-edit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.bulk-edit-grid section { display:flex; flex-direction:column; gap:9px; padding:17px; border:1px solid var(--line); border-radius:16px; background:var(--panel-solid); }
.bulk-edit-grid h2 { margin:0 0 5px; font-size:16px; }
.bulk-edit-grid label { display:flex; align-items:center; gap:7px; font-weight:750; }
.bulk-edit-grid .nested-check { margin-left:22px; color:var(--muted); font-weight:500; }
@media(max-width:720px) { .bulk-edit-grid { grid-template-columns:1fr; } }
.messages { position:fixed; right:24px; top:88px; z-index:50; width:min(460px,calc(100vw - 32px)); }
.message { padding:12px 16px; border-radius:12px; background:#24212c; color:#fff; box-shadow:var(--shadow); margin-bottom:8px; transition:opacity .25s,transform .25s; }
.message-hide { opacity:0; transform:translateX(18px); }
.saving-message { display:flex; align-items:center; gap:10px; background:linear-gradient(135deg,#7455e9,#9372f6); }
.saving-spinner { width:17px; height:17px; flex:0 0 17px; border:2px solid rgba(255,255,255,.38); border-top-color:#fff; border-radius:50%; animation:save-spin .7s linear infinite; }
.button.is-saving { cursor:wait; opacity:.82; }
@keyframes save-spin { to { transform:rotate(360deg); } }
@media(max-width:580px) { .messages { right:16px; top:78px; } }
.login-wrap { min-height:calc(100vh - 190px); display:grid; place-items:center; }
.login-card { width:min(430px,100%); padding:38px; background:var(--panel); border:1px solid var(--line); border-radius:26px; box-shadow:var(--shadow); backdrop-filter:blur(20px); }
.login-card h1 { font-size:40px; margin:10px 0; letter-spacing:-.04em; }
.login-card>p { color:var(--muted); margin-bottom:25px; }
.account-layout { display:grid; grid-template-columns:330px minmax(0,1fr); gap:20px; align-items:start; }
.account-create { position:sticky; top:96px; }
.account-list { display:grid; gap:14px; }
.account-card { padding:20px; }
.account-title,.account-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.account-title>div { display:flex; flex-direction:column; gap:4px; }
.account-title .account-identity { flex-direction:row; align-items:center; gap:12px; }
.account-identity>span:last-child { display:flex; flex-direction:column; gap:3px; }
.account-identity small { color:var(--muted); }
.account-avatar { display:block; width:48px!important; height:48px!important; min-width:48px; max-width:48px!important; min-height:48px; max-height:48px!important; flex:0 0 48px; border-radius:50%!important; object-fit:cover!important; overflow:hidden; border:2px solid var(--panel-solid); box-shadow:0 5px 16px rgba(45,31,87,.14); }
.account-avatar.fallback { display:grid; place-items:center; color:#fff; font-weight:850; background:linear-gradient(135deg,var(--accent),var(--accent-2)); }
.account-title strong { font-size:20px; }
.account-title div span,.account-footer small { color:var(--muted); }
.account-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:18px 0; }
.account-fields label { display:flex; flex-direction:column; gap:7px; font-size:13px; font-weight:700; }
.account-fields .check-row { flex-direction:row; align-items:center; align-self:end; min-height:42px; }
.account-fields .check-row input { width:18px; height:18px; }
.account-footer { padding-top:14px; border-top:1px solid var(--line); }
.audit-filter input { flex:1; }
.audit-panel { overflow:hidden; }
.audit-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:13px; align-items:center; padding:17px 20px; border-bottom:1px solid var(--line); }
.audit-row:last-child { border:0; }
.audit-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; color:#fff; font-weight:850; background:linear-gradient(135deg,var(--accent),var(--accent-2)); }
.audit-avatar.image { object-fit:cover; }
.audit-main>div { display:flex; align-items:center; gap:9px; }
.audit-main p { margin:5px 0 0; color:var(--muted); }
.audit-action { padding:4px 7px; border-radius:99px; color:var(--accent); background:rgba(116,85,233,.09); font-size:10px; font-weight:800; }
.audit-row time { color:var(--muted); font-size:11px; white-space:nowrap; }
.audit-field-changes { margin-top:10px; overflow-wrap:anywhere; }
.audit-field-changes summary { color:var(--accent); cursor:pointer; }
.audit-field-changes p { white-space:pre-wrap; }
.share-page { background:#17151d; color:#f4f3ef; }
.share-shell { position:relative; z-index:2; width:min(920px,100%); margin:auto; padding:36px 20px 90px; }
.share-header { display:flex; align-items:center; gap:14px; padding-bottom:28px; border-bottom:1px solid #34313b; }
.share-header h1 { margin:4px 0; }
.shared-profile { padding:52px 0; border-bottom:1px solid #34313b; }
.public-catalog { padding:30px 0 4px; }
.public-catalog-heading h2 { margin:7px 0 4px; font-size:28px; }
.public-catalog-heading p { margin:0 0 18px; color:#aaa4b5; }
.public-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.public-catalog-grid>a { overflow:hidden; display:flex; flex-direction:column; border:1px solid #393441; border-radius:17px; color:#f4f1fa; background:#201d26; text-decoration:none; transition:transform .18s,border-color .18s; }
.public-catalog-grid>a:hover { transform:translateY(-2px); border-color:#7657cf; }
.public-catalog-grid img,.catalog-cover-empty { width:100%; aspect-ratio:4/3; display:grid; place-items:center; object-fit:cover; background:linear-gradient(135deg,#29223f,#7359c8); color:#fff; font-size:42px; }
.public-catalog-grid a>span:last-child { display:flex; flex-direction:column; gap:4px; padding:12px; }
.public-catalog-grid small { color:#a98cff; font-weight:850; letter-spacing:.1em; }
.public-catalog-grid strong { font-size:18px; }
.public-catalog-grid em { color:#aaa4b5; font-size:11px; font-style:normal; }
.catalog-pagination { flex-direction:column; margin:16px 0; background:#201d26; border-color:#393441; color:#f4f1fa; }
.catalog-page-directions { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.catalog-page-directions a,.catalog-page-directions>span { min-height:44px; display:flex; align-items:center; }
.catalog-page-directions [aria-disabled=true] { opacity:.4; }
.catalog-pagination a,.catalog-back,.catalog-view-link { color:#c5adff; }
.catalog-pagination .page-numbers { max-width:100%; }
.catalog-pagination .page-numbers a,.catalog-pagination .page-numbers strong { min-width:44px; height:44px; }
.catalog-card-intro { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.catalog-view-link { padding-top:8px; }
.catalog-card { min-width:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid #393441; border-radius:17px; background:#201d26; color:#f4f1fa; }
.catalog-card a { color:inherit; text-decoration:none; }
.catalog-card .catalog-photo-link { display:block; }
.catalog-card-body { display:flex; flex-direction:column; gap:8px; padding:14px; min-width:0; }
.catalog-card-body .catalog-view-link { color:#c5adff; min-height:44px; display:flex; align-items:center; }
.browse-filters { margin:16px 0; display:flex; flex-wrap:wrap; gap:12px; }
.browse-filters>details { flex:1 1 220px; min-width:0; padding:12px; border:1px solid var(--line,#393441); border-radius:14px; }
.browse-filters summary { cursor:pointer; min-height:36px; line-height:36px; }
.browse-filters>p { flex-basis:100%; }
.browse-filter-help { flex-basis:100%; color:var(--muted,#aaa4b5); }
.browse-filter-header { flex-basis:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.browse-filter-header small { font-size:13px; color:var(--muted,#aaa4b5); }
.browse-filter-header .button { min-height:44px; white-space:nowrap; }
.browse-options { max-height:260px; overflow-y:auto; align-content:flex-start; padding:4px; overscroll-behavior:contain; }
.browse-selected { flex-basis:100%; align-items:center; }
.browse-selected>a { border:1px solid currentColor; }
@media(max-width:650px) { .browse-filters { gap:8px; } .browse-filters>details { flex-basis:100%; padding:10px 12px; } .browse-filters summary { min-height:44px; line-height:1.5; padding:10px 0; overflow-wrap:anywhere; } }
.browse-chips { display:flex; flex-wrap:wrap; gap:7px; margin:8px 0; }
.browse-chips a { display:inline-flex; align-items:center; min-height:40px; padding:5px 11px; max-width:100%; overflow-wrap:anywhere; border-radius:20px; background:rgba(148,108,235,.16); color:var(--accent,#c5adff); text-decoration:none; font-size:13px; border:1px solid transparent; }
.browse-chips a[aria-current=true] { border-color:currentColor; font-weight:700; }
.expandable-intro { margin:8px 0; min-width:0; font-size:14px; line-height:1.65; }
.expandable-intro summary { list-style:none; cursor:pointer; }
.expandable-intro summary::-webkit-details-marker { display:none; }
.intro-preview { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; color:var(--muted,#aaa4b5); overflow-wrap:anywhere; }
.intro-toggle { display:block; min-height:40px; padding-top:7px; color:var(--accent,#c5adff); }
.intro-toggle i { font-style:normal; }
.intro-close,.expandable-intro[open] .intro-open,.expandable-intro[open] .intro-preview { display:none; }
.expandable-intro[open] .intro-close { display:inline; }
.intro-full { white-space:normal; overflow-wrap:anywhere; }
@media(max-width:650px) {
  .share-page .public-catalog-grid { grid-template-columns:minmax(0,1fr); }
  .share-shell { padding-left:14px; padding-right:14px; }
  .catalog-card-body { padding:16px; }
  .catalog-card-body em { font-size:14px; }
  .browse-chips a { min-height:44px; }
}
.public-heat-badge { display:inline-flex; width:fit-content; padding:6px 10px; margin-bottom:8px; border-radius:12px; font-size:12px; border:1px solid; }
.public-heat-badge.rank-1 { color:#ffe28a; background:#503b0a; border-color:#e7bc50; }
.public-heat-badge.rank-2 { color:#edf2f8; background:#363b44; border-color:#b9c1cc; }
.public-heat-badge.rank-3 { color:#f1b58d; background:#4b2d1c; border-color:#c58256; }
.catalog-back { display:inline-flex; align-items:center; min-height:44px; margin-top:18px; }
.shared-intro { max-width:760px; margin-bottom:28px; }
.shared-intro h2 { font-size:42px; margin:8px 0 14px; }
.measurements { font-size:18px; color:#d2d0ca; }
.intro-text { font-size:18px; line-height:1.75; color:#e8e6df; }
.public-intro-section { margin-top:22px; padding-top:18px; border-top:1px solid #34313b; }
.public-intro-section h3 { margin:0 0 8px; font-size:20px; }
.booking-contact-block { margin-top:28px; padding:22px; border:1px solid #403a4c; border-radius:20px; background:linear-gradient(145deg,#211e29,#19171f); }
.booking-contact-block h3 { margin:6px 0; font-size:24px; }
.booking-contact-block>p { margin:0 0 16px; color:#aaa4b5; }
.booking-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.booking-contact-grid>article { padding:15px; border:1px solid #3c3747; border-radius:15px; background:#17151d; }
.booking-contact-grid article>div:first-child { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px; }
.booking-contact-grid article>div:first-child span,.booking-contact-grid article small { color:#aaa4b5; font-size:11px; }
.booking-contact-grid article small { flex-basis:100%; }
.booking-contact-grid code { display:block; overflow:hidden; margin:12px 0; color:#e9ddff; font:700 14px/1.4 inherit; text-overflow:ellipsis; white-space:nowrap; }
.contact-actions { display:flex; gap:8px; }
.contact-actions a,.contact-actions button { min-height:36px; padding:0 11px; display:inline-flex; align-items:center; border:1px solid #514864; border-radius:10px; color:#eee9f8; background:#292430; font:700 12px/1 inherit; text-decoration:none; cursor:pointer; }
.contact-actions a { color:#fff; border-color:#7657cf; background:#6549b8; }
.telegram-community-block { margin-top:18px; padding:22px; border:1px solid #274d68; border-radius:20px; background:linear-gradient(145deg,#192631,#171a22); }
.telegram-community-block h3 { margin:6px 0; font-size:24px; }
.telegram-community-block>p { margin:0 0 16px; color:#a8b8c5; }
.telegram-community-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.telegram-community-grid>a { padding:14px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; align-items:center; border:1px solid #31566f; border-radius:15px; color:#edf8ff; background:#14212b; text-decoration:none; transition:transform .18s,border-color .18s; }
.telegram-community-grid>a:hover { transform:translateY(-2px); border-color:#54a9dd; }
.telegram-community-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#229ed9; }
.telegram-community-grid a>span:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:4px; }
.telegram-community-grid small { overflow:hidden; color:#9fb3c1; text-overflow:ellipsis; white-space:nowrap; }
.telegram-community-grid b { color:#65bce7; font-size:12px; white-space:nowrap; }
.shared-price { display:inline-block; padding:10px 14px; border:1px solid #5a5268; border-radius:12px; background:#211e29; color:#f0e9ff; }
.public-price-list,.public-schedule { max-width:650px; margin:14px 0; padding:14px 17px; border:1px solid #34313b; border-radius:14px; background:#201e26; }
.public-price-list p,.public-schedule p { display:flex; justify-content:space-between; gap:18px; margin:7px 0; }
.public-schedule h3 { margin:0 0 10px; }
.public-schedule span { color:#aaa; }
.shared-media { display:grid; gap:14px; }
.shared-media figure { margin:0; }
.shared-media img,.shared-media video { width:100%; display:block; border-radius:16px; background:#0b0b0b; max-height:1100px; object-fit:contain; }
.shared-media .video-figure { width:min(100%,380px); margin-inline:auto; }
.shared-media .video-figure video { max-height:680px; }
.catalog-share-form { max-width:820px; padding:24px; }
.catalog-privacy-note { display:flex; flex-direction:column; gap:4px; margin-bottom:18px; padding:14px; border:1px solid rgba(56,178,110,.25); border-radius:14px; background:rgba(56,178,110,.07); }
.catalog-privacy-note span { color:var(--muted); font-size:12px; }
.catalog-share-form #id_profiles { max-height:360px; overflow:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--panel-solid); }
.catalog-share-form #id_profiles label { display:flex; flex-direction:row; align-items:center; gap:8px; padding:8px; border-radius:10px; background:rgba(116,85,233,.045); }
.catalog-share-form #id_profiles input[type=checkbox] { width:18px; height:18px; min-height:18px; flex:0 0 18px; margin:0; }
.catalog-share-form #id_profiles label { min-height:44px; justify-content:flex-start; cursor:pointer; overflow-wrap:anywhere; }
.catalog-field { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.catalog-field small { color:var(--muted); }
.catalog-selection-tools { display:flex; flex-direction:column; gap:10px; }
.catalog-selection-tools[hidden],.catalog-share-form #id_profiles>div[hidden] { display:none; }
.catalog-selection-tools .button { min-height:44px; padding:8px 12px; }
.selection-tools { margin-bottom:20px; }
.ranking-rules { margin:12px 0 24px; color:var(--muted); }
.ranking-rules summary { cursor:pointer; }
.bulk-preview-row { padding:16px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.bulk-preview-row ins { text-decoration:none; color:var(--accent); }
progress[data-upload-progress] { width:100%; accent-color:var(--accent); }
.upload-queue-row { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line); }
.upload-queue-row span { min-width:0; overflow-wrap:anywhere; }
.upload-queue-row button { flex-shrink:0; min-height:44px; }
@media(max-width:650px) { .public-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalog-share-form #id_profiles { grid-template-columns:1fr; } }
.shared-media figcaption { color:#aaa; padding:8px 3px; }
.share-shell footer { text-align:center; color:#777; padding-top:36px; }
.watermark { position:fixed; inset:-15%; z-index:1; pointer-events:none; display:grid; grid-template-columns:repeat(3,1fr); align-content:space-around; transform:rotate(-23deg); opacity:.11; }
.watermark span { font-size:18px; white-space:nowrap; text-align:center; }
html[data-theme=dark] { --bg:#0e0d13; --panel:rgba(27,25,35,.88); --panel-solid:#1b1923; --ink:#f3f1f8; --muted:#9c98aa; --line:rgba(236,229,255,.10); --accent:#a98cff; --accent-2:#d59aff; --danger:#ff8698; --shadow:0 24px 70px rgba(0,0,0,.28); color-scheme:dark; }
html[data-theme=dark] .topbar { background:rgba(20,18,27,.78); }
html[data-theme=dark] .account-chip { background:rgba(255,255,255,.04); }
html[data-theme=dark] .stat-icon.violet { background:#302947; color:#b8a4ff; }
html[data-theme=dark] .stat-icon.amber { background:#3a2e20; color:#efb962; }
html[data-theme=dark] .stat-icon.blue { background:#1d3240; color:#6fc5f5; }
html[data-theme=dark] .tags span { background:#302947; color:#c7b8ff; }
html[data-theme=dark] .danger-button,html[data-theme=dark] .form-error { background:#3a2228; border-color:#60333d; }
html[data-theme=dark] .status-badge.active { background:#18392a; color:#75d99f; }
html[data-theme=dark] .status-badge.inactive { background:#2a2830; color:#aaa; }
html[data-theme=dark] .capacity-alert { background:#3d3020; color:#f2bc68; }
@media(max-width:1000px) {
  .account-layout { grid-template-columns:1fr; } .account-create { position:static; }
  .account-chip { display:none; } .topbar nav { gap:14px; } .storage-panel { grid-template-columns:1fr; }
  .price-row,.quick-add { grid-template-columns:repeat(2,minmax(0,1fr)); } .schedule-add { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .page-shell { padding:34px 16px 60px; } .topbar { padding:10px 16px; } .topbar nav { gap:11px; }
  .topbar nav a { font-size:12px; } .hero-row { align-items:start; flex-direction:column; }
  .stats-grid { grid-template-columns:1fr 1fr; } .stats-grid .stat:last-child { grid-column:1/-1; }
  .card-grid { grid-template-columns:1fr 1fr; } .form-grid,.account-fields { grid-template-columns:1fr; }
  .span-2 { grid-column:auto; } .media-grid { grid-template-columns:repeat(2,1fr); }
  .share-row { align-items:flex-start; flex-direction:column; } .share-actions { flex-wrap:wrap; }
  .bulk-toolbar { align-items:flex-start; flex-direction:column; }
  .storage-details { grid-template-columns:repeat(3,1fr); } .shared-profile { padding:34px 0; }
  .shared-intro h2 { font-size:34px; } .audit-row { grid-template-columns:38px 1fr; }
  .schedule-row { align-items:flex-start; flex-direction:column; } .schedule-edit { width:100%; flex-wrap:wrap; }
  .audit-row time { grid-column:2; } .audit-filter { flex-wrap:wrap; } .audit-filter input { flex-basis:100%; }
}
@media(max-width:580px) {
  .brand-copy { display:none; } .topbar nav a:first-child { display:none; } .theme-toggle { margin-left:8px; }
  .card-grid,.stats-grid { grid-template-columns:1fr; } .stats-grid .stat:last-child { grid-column:auto; }
  .filterbar { flex-wrap:wrap; } .filterbar input { flex-basis:100%; } .storage-summary { align-items:flex-start; }
  .storage-ring { width:70px; height:70px; flex-basis:70px; } .storage-details { grid-template-columns:1fr; }
  .app-footer { padding:0 16px 24px; } .messages { left:16px; right:16px; }
  .price-row,.quick-add,.schedule-add { grid-template-columns:1fr; } .schedule-row { align-items:flex-start; }
}
.feedback-button { display:inline-flex; margin-top:20px; padding:12px 17px; border:1px solid #5a5268; border-radius:13px; color:#f0e9ff; text-decoration:none; font-weight:800; background:#211e29; }
.feedback-page { min-height:100vh; background:linear-gradient(145deg,#111019,#262035); }
.feedback-shell { width:min(620px,100%); margin:auto; padding:42px 18px; }
.feedback-shell>.brand-mark { margin-bottom:18px; }
.feedback-card { padding:30px; border:1px solid rgba(255,255,255,.12); border-radius:24px; color:#f4f1fa; background:rgba(25,23,33,.94); box-shadow:0 30px 90px rgba(0,0,0,.35); }
.feedback-card h1 { margin:8px 0; font-size:38px; }
.feedback-card>p { margin:0 0 24px; color:#aaa4b5; }
.feedback-card input,.feedback-card select,.feedback-card textarea { color:#f4f1fa; background:#1c1924; border-color:rgba(255,255,255,.12); }
.success-card { text-align:center; padding:60px 30px; }
.feedback-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-bottom:20px; }
.feedback-summary article { display:flex; flex-direction:column; gap:5px; padding:18px; }
.feedback-summary strong { color:var(--accent); font-size:25px; }
.feedback-summary small { color:var(--muted); }
.feedback-list { padding:8px 22px; }
.feedback-list article { display:flex; justify-content:space-between; gap:18px; padding:17px 0; border-bottom:1px solid var(--line); }
.feedback-list article:last-child { border:0; }
.feedback-list article>div { display:flex; flex-direction:column; gap:5px; }
.feedback-list article span { color:var(--muted); font-size:11px; }
.feedback-list article p { margin:5px 0 0; line-height:1.6; }
@media(max-width:760px) { .feedback-summary { grid-template-columns:repeat(2,1fr); } }
@media(max-width:580px) { .feedback-card { padding:22px; } .feedback-card h1 { font-size:31px; } .feedback-list article { flex-direction:column; } .feedback-list .button { width:100%; } }

/* V1.5 guidance, presence and Telegram center */
.visibility-guide { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:10px 12px; align-items:center; padding:14px 16px; margin-bottom:22px; border:1px solid var(--line); border-radius:15px; background:rgba(116,85,233,.045); }
.visibility-guide p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.visibility { display:inline-flex; align-items:center; width:max-content; padding:4px 7px; border-radius:99px; font-size:10px; font-style:normal; font-weight:850; vertical-align:middle; margin-left:6px; }
.visibility.internal { color:#9a5e08; background:#fff1d7; }
.visibility.public { color:#177245; background:#e5f8ed; }
.role-guide,.guide-panel,.telegram-panel { padding:25px; margin-bottom:20px; }
.role-guide .section-heading a { color:var(--accent); text-decoration:none; font-weight:750; }
.role-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.role-grid article { padding:16px; border:1px solid var(--line); border-radius:15px; background:var(--panel-solid); }
.role-grid b { font-size:17px; }
.role-grid p { min-height:68px; margin:9px 0; color:var(--muted); font-size:12px; line-height:1.55; }
.role-grid small { color:var(--accent); }
.account-state { display:flex!important; flex-direction:row!important; align-items:center; gap:7px!important; }
.status-badge.online { color:#167442; background:#dcf8e9; }
.status-badge.online i { width:7px; height:7px; margin-right:5px; border-radius:50%; background:#21b365; box-shadow:0 0 0 4px rgba(33,179,101,.13); }
.help-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px; }
.help-card { padding:23px; }
.help-card>span { color:var(--accent); font-size:11px; font-weight:850; letter-spacing:.16em; }
.help-card h2 { margin:9px 0; }
.help-card p { margin:0; color:var(--muted); line-height:1.7; }
.guide-table { display:grid; gap:0; border:1px solid var(--line); border-radius:15px; overflow:hidden; }
.guide-table>div { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:10px; padding:13px 15px; border-bottom:1px solid var(--line); align-items:center; }
.guide-table>div:last-child { border-bottom:0; }
.guide-table .guide-head { color:var(--muted); background:rgba(116,85,233,.055); }
.guide-table b { font-size:12px; }
.guide-table .internal-row { background:rgba(240,174,62,.06); }
.guide-table .internal-row b:nth-child(n+3) { color:#b05f25; }
.safety-note { padding:13px 16px; border-radius:14px; background:#e8f8ef; color:#236742; line-height:1.6; }
.safety-note.prominent { margin-bottom:20px; border:1px solid rgba(29,139,83,.2); }
.master-state { padding:9px 13px; border-radius:99px; color:var(--muted); background:var(--panel); border:1px solid var(--line); font-weight:800; }
.master-state.on { color:#167442; background:#e5f8ed; }
.setup-guide { padding:0 22px; margin-bottom:20px; }
.setup-guide summary { padding:18px 0; cursor:pointer; font-weight:850; }
.setup-guide ol { margin:0 0 12px; padding-left:22px; color:var(--muted); line-height:1.85; }
.setup-guide p { color:#9a5e08; font-size:12px; }
.tg-grid { display:grid; grid-template-columns:1fr 1.4fr auto auto; gap:12px; align-items:end; }
.tg-grid label,.tg-target-form label,.publish-form label { display:flex; flex-direction:column; gap:7px; font-weight:700; font-size:13px; }
.tg-grid small,.tg-target-form small { color:var(--muted); font-weight:400; }
.inline-form { display:inline-block; margin-top:12px; }
.tg-target-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; align-items:end; }
.tg-target-form .wide { grid-column:1/-1; }
.tg-target-form textarea { width:100%; resize:vertical; }
.tg-target-form .check-row { flex-direction:row; align-items:center; min-height:44px; }
.tg-target-form .check-row input { width:18px; height:18px; }
.template-help { color:var(--muted); font-size:12px; }
.template-help code { display:inline-block; margin:2px; padding:3px 6px; border-radius:6px; color:var(--accent); background:rgba(116,85,233,.09); }
.target-list { display:grid; gap:13px; }
.target-card { padding:18px; border:1px solid var(--line); border-radius:17px; background:var(--panel-solid); }
.target-card header { display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; }
.target-card header>div { display:flex; flex-direction:column; gap:4px; }
.target-card header small { color:var(--muted); }
.target-actions { display:flex; gap:8px; }
.hour-range { display:grid; grid-template-columns:1fr auto 1fr; gap:6px; align-items:center; }
.hour-range i { color:var(--muted); font-style:normal; }
.publish-form { display:grid; grid-template-columns:1fr 1fr 1.3fr auto; gap:12px; align-items:end; margin-bottom:12px; }
.publish-form .target-picker { align-self:stretch; }
#id_targets { max-height:150px; margin:0; padding:8px; overflow:auto; display:grid; gap:5px; border:1px solid var(--line); border-radius:12px; background:var(--panel-solid); }
#id_targets>div label { min-height:30px; display:flex; flex-direction:row; align-items:center; gap:8px; font-weight:650; }
#id_targets input { width:17px; height:17px; min-height:0; accent-color:var(--accent); }
.batch-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.batch-preview article { min-width:0; }
.batch-preview h3 { margin:0 0 8px; font-size:14px; }
.batch-preview pre { min-height:190px; margin:0; padding:16px; border:1px solid var(--line); border-radius:15px; background:var(--panel-solid); color:var(--ink); font:inherit; line-height:1.65; white-space:pre-wrap; }
.batch-media { grid-template-columns:repeat(5,minmax(0,1fr)); margin-bottom:14px; }
.publish-log { display:grid; }
.publish-log>div { display:grid; grid-template-columns:auto auto minmax(180px,1fr) auto; gap:9px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.publish-log>div:last-child { border:0; }
.publish-log small { color:var(--muted); text-align:right; }
html[data-theme=dark] .visibility.internal { background:#3b2d1d; color:#efbd70; }
html[data-theme=dark] .visibility.public,html[data-theme=dark] .master-state.on,html[data-theme=dark] .safety-note { background:#18392a; color:#81dbaa; }
html[data-theme=dark] .status-badge.online { background:#18392a; color:#75d99f; }
@media(max-width:1000px) { .role-grid,.help-grid { grid-template-columns:repeat(2,1fr); } .tg-grid,.tg-target-form,.publish-form { grid-template-columns:repeat(2,1fr); } }
@media(max-width:1000px) { .content-edit-row,.content-quick-add { grid-template-columns:1fr 2fr; } .contact-edit-row,.contact-quick-add,.community-edit-row,.community-quick-add,.engagement-edit-row,.engagement-quick-add { grid-template-columns:repeat(2,minmax(0,1fr)); } .engagement-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .visibility-guide { grid-template-columns:auto 1fr; } .guide-table>div { grid-template-columns:1.5fr repeat(3,.7fr); font-size:11px; } .publish-log>div { grid-template-columns:auto 1fr; } .publish-log small { grid-column:1/-1; text-align:left; } }
@media(max-width:580px) { .role-grid,.help-grid,.tg-grid,.tg-target-form,.publish-form { grid-template-columns:1fr; } .tg-target-form .wide { grid-column:auto; } .guide-panel { overflow-x:auto; } .guide-table { min-width:650px; } }
@media(max-width:580px) { .content-edit-row,.content-quick-add,.contact-edit-row,.contact-quick-add,.community-edit-row,.community-quick-add,.engagement-edit-row,.engagement-quick-add,.booking-contact-grid,.telegram-community-grid,.batch-preview { grid-template-columns:1fr; } .content-edit-row>div,.contact-edit-row>div,.community-edit-row>div,.engagement-edit-row>div,.contact-actions { width:100%; } .content-edit-row>div .button,.contact-edit-row>div .button,.community-edit-row>div .button,.engagement-edit-row>div .button,.contact-actions>* { flex:1; justify-content:center; } .engagement-summary { grid-template-columns:1fr 1fr; } .batch-media { grid-template-columns:repeat(2,1fr); } .profile-save-actions>span { display:none; } }
@media(max-width:760px) { .topbar nav { overflow-x:auto; scrollbar-width:none; } .topbar nav::-webkit-scrollbar { display:none; } }

/* V1.6 compact overview, device sessions, preview and storage assistant */
.dashboard-overview { margin-bottom:20px; overflow:hidden; }
.dashboard-overview>summary { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:17px 21px; cursor:pointer; list-style:none; }
.dashboard-overview>summary::-webkit-details-marker { display:none; }
.dashboard-overview>summary>span:first-child { display:flex; flex-direction:column; gap:4px; }
.dashboard-overview>summary small { color:var(--muted); }
.overview-chips { display:flex; align-items:center; gap:8px; }
.overview-chips i { padding:6px 9px; border-radius:99px; background:rgba(116,85,233,.08); color:var(--accent); font-style:normal; font-size:11px; font-weight:800; }
.overview-chips i.warning { color:#a85a14; background:#fff1d7; }
.overview-chips b { font-size:11px; color:var(--muted); }
.dashboard-overview[open]>summary { border-bottom:1px solid var(--line); }
.dashboard-overview[open] .overview-chips b { font-size:0; }
.dashboard-overview[open] .overview-chips b:after { content:'收起⌃'; font-size:11px; }
.dashboard-overview .stats-grid { padding:20px 20px 0; margin-bottom:0; }
.dashboard-overview .stat { min-height:88px; box-shadow:none; }
.storage-panel-inner { padding:20px; display:grid; grid-template-columns:1.1fr 1fr; gap:20px; align-items:center; }
.storage-assistant-link { width:max-content; }
.tg-alert { display:block; margin-bottom:18px; padding:12px 15px; border:1px solid #f0abb4; border-radius:13px; background:#fff0f2; color:#a43f50; text-decoration:none; font-weight:800; }
.device-list { margin-top:15px; padding-top:12px; border-top:1px solid var(--line); }
.device-list summary { cursor:pointer; color:var(--accent); font-weight:800; }
.device-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 0; border-bottom:1px solid var(--line); }
.device-row>span { display:flex; min-width:0; flex-direction:column; gap:3px; }
.device-row small { overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.device-row em { color:#167442; font-style:normal; font-size:11px; }
.tg-preview { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:15px; }
.tg-preview pre { min-height:220px; margin:0; padding:18px; border:1px solid var(--line); border-radius:15px; background:var(--panel-solid); color:var(--ink); font:inherit; line-height:1.7; white-space:pre-wrap; }
.preview-media { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; align-content:start; }
.preview-media img,.preview-media span { width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; background:var(--panel-solid); }
.preview-media span { display:grid; place-items:center; color:var(--muted); }
.preview-actions { display:flex; gap:10px; margin-top:15px; }
.storage-mini .stat { min-height:105px; }
.storage-mini small { color:var(--muted); }
.storage-table-panel { padding:22px; margin-bottom:20px; }
details.storage-table-panel>summary { cursor:pointer; font-weight:850; }
details.storage-table-panel[open]>summary { margin-bottom:18px; }
.storage-table { display:grid; }
.storage-table>div { display:grid; grid-template-columns:minmax(180px,1fr) 110px 180px auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.storage-table>div>span { display:flex; min-width:0; flex-direction:column; gap:3px; }
.storage-table small { color:var(--muted); }
html[data-theme=dark] .tg-alert { background:#3a2228; border-color:#60333d; color:#ff9cac; }
@media(max-width:760px) { .storage-panel-inner,.tg-preview { grid-template-columns:1fr; } .storage-table>div { grid-template-columns:1fr auto; } .storage-table>div>small { grid-column:1; } .overview-chips i:first-child { display:none; } }
@media(max-width:580px) {
  .topbar { min-height:64px; gap:8px; padding-left:12px; padding-right:12px; }
  .topbar nav { flex:1; justify-content:flex-start; gap:6px; }
  .topbar nav a,.topbar .link-button { min-height:40px; padding:0 9px; display:inline-flex; align-items:center; white-space:nowrap; }
  .theme-toggle { flex:0 0 42px; width:42px; height:42px; }
  .page-shell { padding:24px 12px 70px; }
  .hero-row { margin-bottom:20px; }
  .hero-row h1 { font-size:36px; }
  .button { min-height:46px; }
  input,select,textarea { min-height:46px; font-size:16px; }
  textarea { min-height:110px; }
  .dashboard-overview>summary { padding:14px; }
  .dashboard-overview .stats-grid { padding:12px 12px 0; }
  .storage-panel-inner { padding:12px; }
  .overview-chips { gap:5px; }
  .overview-chips i { padding:5px 7px; }
  .form-panel,.detail-panel,.media-panel,.telegram-panel,.guide-panel,.role-guide,.storage-table-panel { padding:17px; border-radius:18px; }
  .form-actions,.target-actions,.preview-actions { position:sticky; bottom:8px; z-index:8; padding:8px; border:1px solid var(--line); border-radius:15px; background:var(--panel); backdrop-filter:blur(18px); }
  .form-actions .button,.preview-actions .button { flex:1; }
  .device-row { align-items:flex-start; flex-direction:column; }
  .device-row .button { width:100%; }
  .storage-table>div { padding:14px; margin-bottom:8px; border:1px solid var(--line); border-radius:13px; background:var(--panel-solid); }
  .storage-table>div .button { grid-column:1/-1; width:100%; }
  .preview-media { grid-template-columns:repeat(2,1fr); }
  .tg-preview pre { min-height:160px; }
  .account-card { padding:16px; }
  .account-title { align-items:flex-start; }
  .account-state { flex-wrap:wrap; justify-content:flex-end; }
  .messages { top:72px; }
}

/* V1.7 wide-screen dashboard and mobile navigation */
.topbar { padding-left:max(28px,calc((100vw - 1500px)/2)); padding-right:max(28px,calc((100vw - 1500px)/2)); }
.page-shell { width:min(100%,1500px); max-width:none; padding-left:28px; padding-right:28px; }
.app-footer { width:min(100%,1500px); max-width:none; padding-left:28px; padding-right:28px; }
.desktop-nav { min-width:0; }
.nav-more,.mobile-account-menu { position:relative; }
.nav-more>summary { padding:9px 12px; border:1px solid var(--line); border-radius:11px; color:var(--muted); cursor:pointer; list-style:none; white-space:nowrap; }
.nav-more>summary::-webkit-details-marker,.mobile-account-menu>summary::-webkit-details-marker { display:none; }
.nav-more[open]>summary { color:var(--accent); border-color:rgba(116,85,233,.32); background:rgba(116,85,233,.07); }
.nav-menu { position:absolute; z-index:30; top:calc(100% + 10px); right:0; width:178px; padding:8px; border:1px solid var(--line); border-radius:15px; background:var(--panel-solid); box-shadow:0 18px 55px rgba(25,18,48,.18); }
.topbar .nav-menu a,.topbar .nav-menu .link-button { width:100%; min-height:40px; padding:0 11px; display:flex; align-items:center; border-radius:9px; color:var(--ink); font-size:13px; text-align:left; white-space:nowrap; }
.topbar .nav-menu a:hover,.topbar .nav-menu .link-button:hover { color:var(--accent); background:rgba(116,85,233,.07); }
.mobile-account-menu,.mobile-bottom-nav { display:none; }
.dashboard-commandbar { display:grid; grid-template-columns:minmax(330px,.85fr) minmax(600px,2.15fr); gap:14px; align-items:start; margin-bottom:24px; }
.dashboard-commandbar .dashboard-overview,.dashboard-commandbar .filterbar { margin-bottom:0; }
.dashboard-commandbar .filterbar { min-height:64px; align-items:center; }
.dashboard-commandbar .dashboard-overview>summary { min-height:64px; padding-top:12px; padding-bottom:12px; }
.dashboard-commandbar .overview-chips i:first-child { display:none; }
.dashboard-commandbar:has(.dashboard-overview[open]) .dashboard-overview,.dashboard-commandbar:has(.dashboard-overview[open]) .filterbar { grid-column:1/-1; }
.card-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.card-grid.single-result { grid-template-columns:1fr; }
.single-result .profile-card { min-height:400px; display:grid; grid-template-columns:minmax(400px,540px) minmax(340px,1fr); }
.single-result .cover { height:100%; min-height:400px; aspect-ratio:auto; }
.single-result .card-body { padding:32px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.single-result .card-body h2 { font-size:34px; margin:8px 0; }
.single-result .card-body .meta { font-size:15px; }
.single-result .card-actions { width:100%; margin-top:auto; }
.card-grid.two-results { grid-template-columns:repeat(2,minmax(0,1fr)); }

@media(max-width:1350px) {
  .card-grid:not(.single-result):not(.two-results) { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .desktop-nav { gap:15px!important; }
}
@media(max-width:1100px) {
  .dashboard-commandbar { grid-template-columns:1fr; }
  .dashboard-commandbar .dashboard-overview,.dashboard-commandbar .filterbar { grid-column:1; }
  .card-grid:not(.single-result) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .single-result .profile-card { grid-template-columns:minmax(340px,460px) minmax(300px,1fr); }
}
@media(max-width:850px) and (min-width:761px) {
  .card-grid:not(.single-result) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  body { padding-bottom:78px; }
  .topbar { min-height:64px; padding:8px 14px; }
  .desktop-nav { display:none!important; }
  .mobile-account-menu { display:block; margin-left:auto; }
  .mobile-account-menu>summary { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; cursor:pointer; overflow:hidden; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-2)); }
  .mobile-account-menu>summary img { width:100%; height:100%; object-fit:cover; }
  .mobile-account-menu>summary b { font-size:13px; }
  .mobile-account-menu .nav-menu>span { display:block; padding:9px 11px; color:var(--muted); font-size:11px; border-bottom:1px solid var(--line); }
  .theme-toggle { margin-left:4px; }
  .page-shell { width:100%; padding:26px 14px 42px; }
  .app-footer { display:none; }
  .mobile-bottom-nav { position:fixed; z-index:24; left:10px; right:10px; bottom:8px; min-height:64px; padding:7px; display:flex; align-items:stretch; justify-content:space-around; gap:3px; border:1px solid var(--line); border-radius:19px; background:rgba(255,255,255,.9); box-shadow:0 16px 50px rgba(24,17,48,.22); backdrop-filter:blur(22px); }
  .mobile-bottom-nav a { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border-radius:12px; color:var(--muted); font-size:10px; text-decoration:none; }
  .mobile-bottom-nav a.active { color:var(--accent); background:rgba(116,85,233,.08); }
  .mobile-bottom-nav b { font-size:17px; line-height:1; }
  .hero-row { display:grid; grid-template-columns:1fr auto; align-items:end; gap:14px; }
  .hero-row>div { min-width:0; }
  .hero-row h1 { font-size:36px; }
  .hero-row p { margin-bottom:0; }
  .hero-row>.button { min-height:42px; padding:0 13px; white-space:nowrap; }
  .dashboard-commandbar { gap:10px; margin-bottom:16px; }
  .dashboard-commandbar .filterbar { display:grid; grid-template-columns:1fr 1fr; }
  .dashboard-commandbar .filterbar input { grid-column:1/-1; width:100%; }
  .dashboard-commandbar .filterbar .button { grid-column:1/-1; }
  .card-grid,.card-grid.single-result,.card-grid.two-results,.card-grid:not(.single-result):not(.two-results) { grid-template-columns:1fr; gap:14px; }
  .single-result .profile-card { min-height:0; display:block; }
  .single-result .cover { min-height:0; height:auto; aspect-ratio:4/3; }
  .single-result .card-body { padding:19px; display:block; }
  .single-result .card-body h2 { font-size:25px; }
  .single-result .card-actions { margin-top:14px; }
  .form-actions,.target-actions,.preview-actions { bottom:82px; }
}
html[data-theme=dark] .mobile-bottom-nav { background:rgba(20,18,27,.92); }

/* V1.7.1 compact archive grid and moderated public reviews */
.dashboard-hero { margin-bottom:22px; }
.dashboard-hero .hero-brand-line { display:block; margin-top:5px; color:var(--accent); font-size:10px; font-weight:850; letter-spacing:.13em; }
.dashboard-hero h1 { font-size:clamp(32px,3.2vw,42px); margin:7px 0 9px; }
.dashboard-hero p { margin-top:0; }
.dashboard-card-grid .profile-card { border-radius:18px; }
.dashboard-card-grid .card-body { padding:15px; }
.dashboard-card-grid .card-body h2 { margin:4px 0; font-size:21px; }
.dashboard-card-grid .meta { min-height:20px; margin:9px 0; font-size:12px; }
.card-public-intro { min-height:34px; margin:7px 0 10px; overflow:hidden; display:-webkit-box; color:var(--muted); font-size:11px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.dashboard-card-grid .cover .status-badge { top:9px; right:9px; }
.dashboard-card-grid .cover-meta-badges { top:9px; left:9px; }
.dashboard-card-grid .tags { margin:9px 0; }
.dashboard-card-grid .card-actions { padding-top:11px; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.dashboard-card-grid,.public-catalog-grid { align-items:start; }
.dashboard-card-grid .profile-card,.public-catalog-grid .catalog-card { align-self:start; min-width:0; height:auto; }
.dashboard-card-grid .card-body { min-width:0; }
.dashboard-card-grid .card-body h2,.catalog-card-body strong,.dashboard-card-grid .meta { overflow-wrap:anywhere; }
.dashboard-card-grid .card-actions>a,.dashboard-card-grid .profile-delete-select { white-space:nowrap; min-height:40px; display:inline-flex; align-items:center; }
.expandable-intro .intro-full { max-height:360px; max-height:min(50vh,360px); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding-right:6px; }
@media(hover:none),(prefers-reduced-motion:reduce) { .profile-card:hover { transform:none; } .profile-card:hover .cover img { transform:none; } .profile-card { transition:none; } }
.feedback-actions { display:flex; align-items:center; gap:8px; }
.review-state { display:inline-flex; width:max-content; margin-top:7px; padding:4px 8px; border-radius:99px; color:#9a620f; background:#fff1d7; font-size:10px; font-style:normal; font-weight:850; }
.review-state.public { color:#177245; background:#e5f8ed; }
.public-feedback-list { margin-top:20px; padding:24px; border:1px solid rgba(255,255,255,.12); border-radius:24px; color:#f4f1fa; background:rgba(25,23,33,.94); }
.public-feedback-list h2 { margin:7px 0 15px; }
.public-feedback-list article { padding:15px 0; border-top:1px solid rgba(255,255,255,.1); }
.public-feedback-list article>span { margin-left:8px; color:#aaa4b5; font-size:12px; }
.public-feedback-list article p { margin:8px 0 0; line-height:1.65; }
.public-review-block { margin-top:24px; padding:20px; border:1px solid #34313b; border-radius:18px; background:#211e29; }
.public-review-block h3 { margin:0 0 14px; }
.public-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.public-review-grid article { padding:14px; border-radius:13px; background:#191720; }
.public-review-grid article>span { display:block; margin-top:4px; color:#aaa4b5; font-size:11px; }
.public-review-grid article p { margin:8px 0 0; line-height:1.6; }
html[data-theme=dark] .review-state { color:#efbd70; background:#3b2d1d; }
html[data-theme=dark] .review-state.public { color:#81dbaa; background:#18392a; }
@media(max-width:760px) {
  .dashboard-hero { margin-bottom:17px; }
  .dashboard-hero h1 { font-size:30px; }
  .dashboard-card-grid .card-body { padding:17px; }
  .dashboard-card-grid .card-body h2 { font-size:23px; }
  .feedback-actions { width:100%; flex-direction:column; }
  .feedback-actions form,.feedback-actions .button { width:100%; }
  .public-review-grid { grid-template-columns:1fr; }
}

/* V1.8 moderation and 50GB storage protection */
.nav-count,.mobile-count { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:5px; padding:0 5px; border-radius:99px; color:#fff; background:#cf4056; font-size:9px; font-style:normal; line-height:1; }
.mobile-bottom-nav b { position:relative; }
.mobile-count { position:absolute; top:-9px; right:-13px; margin:0; }
.review-state.hidden { color:#777; background:#efefec; }
.profile-storage { display:inline-flex; margin:0 0 10px 5px; padding:5px 8px; border-radius:99px; color:var(--muted); background:rgba(116,85,233,.07); font-size:10px; font-weight:800; }
.card-actions .profile-storage { margin:-3px 0 -3px auto; align-items:center; white-space:nowrap; }
.overview-chips i.watch { color:#9a620f; background:#fff1d7; }
.overview-chips i.critical { color:#fff; background:#bd344b; }
.capacity-alert.watch { background:#fff6df; color:#8f681d; }
.capacity-alert.critical { background:#bd344b; color:#fff; }
.danger-zone { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.danger-zone form { margin:0; }
.danger-zone small { flex-basis:100%; color:var(--muted); }
html[data-theme=dark] .review-state.hidden { color:#bbb; background:#2a2830; }
@media(max-width:580px) { .danger-zone form,.danger-zone .button { width:100%; } }

/* V2 data center */
.analytics-hero { align-items:flex-end; }
.analytics-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.analytics-filter { display:grid; grid-template-columns:1.2fr 1fr 1fr auto; gap:12px; align-items:end; padding:18px; margin-bottom:18px; }
.analytics-filter label,.engagement-ledger-form label { display:flex; flex-direction:column; gap:6px; color:var(--muted); font-size:11px; font-weight:750; }
.analytics-filter input,.analytics-filter select,.engagement-ledger-form input,.engagement-ledger-form select { width:100%; min-width:0; }
.analytics-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.analytics-kpis article { padding:19px; border:1px solid var(--line); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); display:flex; flex-direction:column; gap:7px; }
.analytics-kpis span,.analytics-kpis small { color:var(--muted); }
.analytics-kpis strong { font-size:25px; }
.analytics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.analytics-panel,.ranking-panel { padding:20px; }
.analytics-table>div { display:grid; grid-template-columns:.6fr repeat(3,1fr); gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.analytics-table .head,.records-table .head { color:var(--muted); font-size:11px; }
.funnel-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.funnel-grid div { padding:14px 8px; text-align:center; border:1px solid var(--line); border-radius:13px; background:rgba(116,85,233,.045); }
.funnel-grid strong,.funnel-grid span { display:block; }
.funnel-grid strong { font-size:22px; }
.funnel-grid span { margin-top:5px; color:var(--muted); font-size:11px; }
.ranking-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.ranking-panel h2 { margin:0 0 12px; }
.ranking-panel>small { display:block; margin:-7px 0 10px; color:var(--muted); }
.ranking-panel>div { display:grid; grid-template-columns:26px minmax(0,1fr) auto; gap:9px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }
.ranking-panel>div>b { color:var(--accent); }
.ranking-panel>div>strong { font-size:12px; text-align:right; }
.month-lock-banner { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:14px 17px; margin-bottom:16px; border:1px solid rgba(116,85,233,.28); border-radius:15px; background:rgba(116,85,233,.06); }
.month-lock-banner.locked { border-color:rgba(56,178,110,.28); background:rgba(56,178,110,.07); }
.month-lock-banner form { display:flex; gap:8px; align-items:center; }
.analytics-detail { padding:18px; }
.analytics-detail>summary,.engagement-record>summary,.engagement-new>summary { cursor:pointer; list-style:none; }
.records-table { min-width:900px; margin-top:15px; }
.analytics-detail { overflow:auto; }
.records-table>div { display:grid; grid-template-columns:100px 1fr 1.4fr .7fr .9fr 1fr .8fr; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }
.records-table span { min-width:0; }
.records-table small { display:block; color:var(--muted); }
.engagement-record { border:1px solid var(--line); border-radius:14px; background:var(--panel-solid); overflow:hidden; }
.engagement-record>summary { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:13px 15px; }
.engagement-record>summary span { display:flex; flex-direction:column; gap:3px; }
.engagement-record>summary small { color:var(--muted); }
.engagement-ledger-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; padding:16px; border-top:1px solid var(--line); background:rgba(116,85,233,.025); }
.engagement-ledger-form .wide { grid-column:1/-1; }
.engagement-form-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; }
.engagement-form-actions span { margin-right:auto; color:var(--muted); font-size:12px; }
.engagement-new { margin-top:14px; }
.engagement-new>summary { display:inline-flex; }
.engagement-new[open]>summary { margin-bottom:10px; }

@media(max-width:1000px) {
  .analytics-kpis,.ranking-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .engagement-ledger-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .funnel-grid { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:760px) {
  .analytics-actions,.analytics-actions .button { width:100%; }
  .analytics-filter,.analytics-grid,.analytics-kpis,.ranking-grid,.engagement-ledger-form { grid-template-columns:1fr; }
  .analytics-filter .button { width:100%; }
  .funnel-grid { grid-template-columns:repeat(2,1fr); }
  .month-lock-banner,.month-lock-banner form,.engagement-form-actions { align-items:stretch; flex-direction:column; }
  .engagement-form-actions .button { width:100%; }
  .engagement-record>summary { align-items:flex-start; }
  .dashboard-overview .stats-grid .stat:last-child { grid-column:auto; }
}
@media print {
  .topbar,.mobile-bottom-nav,.app-footer,.theme-toggle,.analytics-filter,.analytics-actions,.messages,.month-lock-banner { display:none!important; }
  body { background:#fff!important; color:#111!important; }
  .page-shell { max-width:none; padding:0; }
  .panel,.analytics-kpis article { box-shadow:none; background:#fff!important; break-inside:avoid; }
}

.brand-logo-setting { padding:22px; margin-bottom:18px; }
.brand-logo-setting>form { display:grid; grid-template-columns:minmax(220px,1fr) minmax(300px,1.5fr) auto auto; gap:15px; align-items:center; }
.brand-logo-preview { display:flex; align-items:center; gap:13px; }
.brand-logo-preview .brand-mark.large { width:58px; height:58px; border-radius:17px; font-size:23px; flex:0 0 58px; }
.brand-logo-preview .logo-live-preview { width:150px; height:150px; flex:0 0 150px; overflow:hidden; }
.logo-live-preview img { border-radius:0; object-fit:cover; }
.logo-adjustments { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:14px; }
.logo-adjustments label { flex:1 1 180px; }
.logo-adjustments p { flex-basis:100%; font-size:13px; color:var(--muted); }
.logo-adjustments input[type=range] { width:100%; padding:0; min-height:44px; }
.logo-adjustments output { font-weight:700; }
.brand-logo-preview>div { display:flex; flex-direction:column; gap:5px; }
.brand-logo-preview strong { font-size:17px; }
.brand-logo-preview small,.brand-logo-upload small { color:var(--muted); font-size:10px; }
.brand-logo-upload { display:flex; flex-direction:column; gap:7px; color:var(--muted); font-size:11px; }
.brand-logo-upload input { padding:8px; }
@media(max-width:900px) { .brand-logo-setting>form { grid-template-columns:1fr 1fr; } }
@media(max-width:580px) { .brand-logo-setting { padding:17px; } .brand-logo-setting>form { grid-template-columns:1fr; } .brand-logo-setting .button { width:100%; } }

.tg-selection-actions,.tg-media-actions {display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}
.publish-form .target-picker {max-height:300px;overflow:auto;display:block;min-width:0}
.publish-form .target-picker label {display:flex;gap:10px;align-items:center;padding:10px;overflow-wrap:anywhere}
.publish-form .target-picker input {width:auto;flex-shrink:0}
.tg-profile-preview {padding:18px 0;border-bottom:1px solid var(--border)}
.tg-media-picker {display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;max-height:420px;overflow:auto}
.tg-media-picker label {display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border);border-radius:12px}
.tg-media-picker input {width:22px;height:22px}
.tg-media-picker img,.tg-media-picker video,.tg-video-label {height:130px;width:100%;object-fit:contain}
.tg-video-label {display:grid;place-items:center;background:var(--panel)}

.bulk-child-group [hidden] { display: none !important; }
.bulk-delete-notice { color: #f4bc8d; padding: 12px; border: 1px solid #805f3c; border-radius: 12px; }

/* V2.4.14: touch targets, wrapping and long-form actions. */
.bulk-child-group > summary { cursor:pointer; font-size:17px; font-weight:750; padding:8px 0; overflow-wrap:anywhere; }
.bulk-child-group > summary small { font-size:12px; font-weight:400; color:var(--muted); }
.bulk-child-group > summary::after { content:attr(data-active); font-size:12px; margin-left:12px; color:var(--accent); }
.bulk-child-group[open] > summary { margin-bottom:16px; }
.bulk-edit-grid > *, .bulk-child-row > *, .form-actions > *, .shared-intro, .catalog-card-body { min-width:0; }
.bulk-preview-row p, .bulk-preview-row summary, .booking-contact-grid code, .telegram-community-grid strong, .messages .message { overflow-wrap:anywhere; }
.bulk-confirm-form .form-actions { position:sticky; bottom:18px; z-index:20; padding:14px; border:1px solid var(--line); border-radius:16px; background:var(--panel-solid); }
.bulk-profile-edit, .bulk-confirm-form { padding-bottom:110px; }
.save-feedback-toast { position:fixed; z-index:80; top:85px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 32px); max-height:30vh; overflow:auto; padding:13px 18px; border:1px solid var(--line); border-radius:14px; background:var(--panel-solid); color:var(--ink); box-shadow:0 10px 30px #0003; overflow-wrap:anywhere; }
.save-feedback-toast[hidden] { display:none; }
.video-load-status { display:block; padding:8px; color:var(--muted); font-size:12px; }
.shared-media .video-figure video, .media-item.video-item video { object-fit:contain; max-height:min(680px,78vh); max-height:min(680px,78dvh); }
.shared-media img { max-height:85vh; max-height:85dvh; }
.catalog-back { display:inline-flex; align-items:center; min-height:44px; margin:12px 0; }
.browse-chips a, .page-numbers a, .page-numbers strong { min-height:36px; display:inline-flex; align-items:center; justify-content:center; overflow-wrap:anywhere; }
.browse-selected { position:relative; padding:10px; border:1px solid var(--line); border-radius:12px; }
@media(max-width:760px) {
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]), select, textarea { font-size:16px; max-width:100%; min-width:0; }
  .button, .browse-chips a, .page-numbers a, .page-numbers strong, .contact-actions a, .contact-actions button { min-height:44px; }
  .form-actions, .profile-bulk-toolbar, .selection-tools, .filterbar { flex-wrap:wrap; gap:8px; }
  .profile-bulk-toolbar > span { flex-basis:100%; }
  .filterbar input[type=search] { width:100%; flex-basis:100%; }
  .bulk-edit-grid, .bulk-child-row { grid-template-columns:minmax(0,1fr); }
  .bulk-child-group { padding:14px; margin:14px 0; }
  .bulk-instructions { padding:14px; }
  .bulk-instructions ol { padding-left:20px; }
  .bulk-confirm-form .form-actions { bottom:calc(82px + env(safe-area-inset-bottom)); }
  .bulk-confirm-form .form-actions .button { flex:1 1 140px; }
  .quick-save-dock { left:12px; right:12px; max-width:none; justify-content:space-between; bottom:calc(82px + env(safe-area-inset-bottom)); }
  .quick-save-dock small { min-width:0; max-width:50%; }
  .quick-save-dock .button { flex-shrink:0; }
  .save-feedback-toast { top:74px; }
  .feedback-shell, .share-shell { padding-bottom:calc(28px + env(safe-area-inset-bottom)); }
  .mobile-bottom-nav { bottom:calc(8px + env(safe-area-inset-bottom)); }
  .pagination, .catalog-page-directions { gap:8px; flex-wrap:wrap; }
  .cover-meta-badges { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; animation:none!important; } }

.bulk-delete-selection { padding:14px; margin:14px 0; border:1px solid var(--line); border-radius:12px; overflow-wrap:anywhere; }
.bulk-delete-selection label { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px; }
.bulk-delete-selection input[type=checkbox] { width:20px; height:20px; flex:0 0 20px; }

/* Public notice: contained scrolling and keyboard-accessible native dialog. */
#site-notice { width:min(620px,calc(100vw - 32px)); max-height:85vh; max-height:85dvh; padding:0; border:1px solid var(--line); border-radius:22px; background:var(--panel-solid); color:var(--ink); box-shadow:0 24px 80px #0005; }
#site-notice::backdrop { background:rgba(8,6,18,.65); }
#site-notice[open] { display:flex; flex-direction:column; }
.notice-head { padding:24px 24px 12px; flex-shrink:0; }
.notice-head h2 { font-size:22px; margin:8px 0; overflow-wrap:anywhere; }
.notice-body { overflow:auto; min-height:0; padding:12px 24px; line-height:1.85; overflow-wrap:anywhere; white-space:normal; }
.notice-actions { padding:16px 24px max(16px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); flex-shrink:0; }
.notice-actions button { width:100%; min-height:44px; }
.site-notice-entry { text-align:center; padding:12px 12px 90px; }
form[action$="/notice/"] input:not([type="checkbox"]),form[action$="/notice/"] textarea { width:100%; box-sizing:border-box; }
@media(max-width:600px) { .notice-head,.notice-body { padding-left:16px; padding-right:16px; } .notice-head h2 { font-size:20px; } }

.home-copy {min-width:0;overflow-wrap:anywhere;} .home-copy h1 {font-size:clamp(28px,4vw,56px);line-height:1.25;} .home-text-form input,.home-text-form textarea {width:100%;box-sizing:border-box;}
