.admin-table-frame{box-shadow:none;overflow:hidden}.admin-table-frame .mantine-Table-th{border-top:0;border-bottom:1px solid var(--line);color:#777f75;background:#eef1ea;height:40px;font-size:11px;font-weight:750}.admin-table-frame .mantine-Table-td{color:#4c544a;border-color:#edf0e9;height:62px;font-size:12px}.admin-table-frame--compact .mantine-Table-th{height:36px;padding-block:6px}.admin-table-frame--compact .mantine-Table-td{height:44px;padding-block:7px}.admin-table-frame .mantine-Table-tr:hover{background:#fafbf7}.admin-table-frame .mantine-Table-td.admin-table-empty{color:#778078;text-align:center;height:112px}.admin-table-frame--compact .mantine-Table-td.admin-table-empty{height:80px}.pp-page-pattern{min-width:0}.pp-section-stack{gap:var(--pp-page-section-gap);flex-direction:column;min-width:0;display:flex}.pp-section-stack--stats-query,.pp-section-stack--stats-tabs{gap:var(--pp-page-section-gap)}.pp-pattern-dashboard,.pp-pattern-list,.pp-pattern-gallery,.pp-pattern-detail,.pp-pattern-form,.pp-pattern-matrix,.pp-pattern-cards,.pp-pattern-workspace,.pp-pattern-settings,.pp-pattern-delivery{flex-direction:column;gap:16px;display:flex}.pp-pattern-list,.pp-pattern-gallery{gap:10px}.pp-pagination{margin-top:0}.pp-pattern-list>:is(.pp-table-frame,.admin-table-frame)+.pp-pagination,.pp-list-page>.pp-table-frame+.pp-pagination,.pp-gallery-page>.pp-table-frame+.pp-pagination{margin-top:calc(-1 * var(--pp-section-gap))}.pp-pattern-form,.pp-pattern-settings{max-width:1080px}.pp-pattern-delivery{gap:14px}.pp-list-page,.pp-gallery-page{gap:var(--pp-section-gap);flex-direction:column;display:flex}.pp-query-field{flex:none;min-width:0}.pp-query-field-grow{flex-grow:1;max-width:280px}.pp-query-field>*{width:100%}.pp-query-actions{align-items:center;gap:8px;display:flex}.pp-table-frame{border:1px solid var(--pp-border);background:var(--pp-surface);border-radius:13px;overflow:hidden}.pp-table{table-layout:fixed;border-collapse:collapse;width:100%}.pp-table .pp-select-column{width:58px}.pp-table thead tr,.pp-table th{height:var(--pp-table-head-height)}.pp-table th{background:var(--pp-table-head);color:#858c83;font-size:var(--pp-table-head-font-size);text-align:left;border-bottom:1px solid #edf0e9;padding:0 15px;font-weight:700;line-height:1}.pp-table tbody tr,.pp-table td{height:var(--pp-table-row-height)}.pp-table td{color:#4c544a;font-size:var(--pp-table-body-font-size);vertical-align:middle;border-bottom:1px solid #edf0e9;padding:10px 15px;line-height:1.45}.pp-table tbody tr:last-child td{border-bottom:0}.pp-table td b,.pp-table td small{display:block}.pp-table td small{color:#92988f;margin-top:3px;font-size:8px}.admin-page .pp-table input.pp-checkbox{vertical-align:middle;accent-color:#98b833;width:13px;height:13px;min-height:13px;margin:0;padding:0;display:inline-block}.pp-empty{color:var(--pp-muted)}.pp-table-actions{justify-content:center;align-items:center;gap:5px;display:flex}.action-icon-button{border-radius:7px;width:30px;min-width:30px;height:30px;min-height:30px}.action-icon-button:focus,.action-icon-button:focus-visible,.action-icon-button[data-focused],.action-icon-button[data-focus-visible]{box-shadow:none;outline:0}.table-action-head,.table-action-cell{text-align:center}.table-action-cell>*{margin-inline:auto}.pp-status{color:#687066;background:#ecefe9;border-radius:12px;width:max-content;padding:4px 8px;font-size:8px;font-style:normal;display:inline-flex}.pp-status-success{color:#317b49;background:#e8f8e6}.pp-status-pending{color:#96680f;background:#fff5da}.pp-status-danger{color:#c94f45;background:#ffebe7}.pp-pagination-item{align-items:center;gap:4px;display:inline-flex}.pp-pagination-gap{color:var(--pp-muted);font-style:normal}@media (width<=1100px){.pp-query-bar{flex-wrap:wrap}.pp-query-field-grow{flex-grow:1;max-width:none}.pp-table-frame{overflow-x:auto}.pp-table{min-width:820px}}.page-notice{--page-notice-sidebar-width:var(--admin-sidebar-width,280px);z-index:3000;top:84px;left:calc(50% + var(--page-notice-sidebar-width) / 2);width:calc((100vw - var(--page-notice-sidebar-width)) / 2);min-width:calc((100vw - var(--page-notice-sidebar-width)) / 2);max-width:calc(100vw - var(--page-notice-sidebar-width) - 64px);position:fixed;transform:translate(-50%);box-shadow:0 14px 34px #1018282e}.page-notice--success{color:#067647;background:#ecfdf3;border-color:#75e0a7}.page-notice--error{color:#b42318;background:#fffbfa;border-color:#fda29b}.page-notice--viewport{width:50vw;min-width:50vw;max-width:calc(100vw - 32px);left:50%}.page-notice--login{border-radius:12px;width:100%;min-width:0;max-width:none;padding:10px 12px;position:absolute;inset:auto auto calc(100% + 16px) 0;transform:none;box-shadow:0 12px 26px #3114143d}.page-notice--login:after{content:"";background:#fffbfa;border-bottom:1px solid #fda29b;border-right:1px solid #fda29b;width:12px;height:12px;position:absolute;bottom:-7px;left:28px;transform:rotate(45deg)}@media (width<=900px){.page-notice{width:calc(100vw - 32px);min-width:0;max-width:calc(100vw - 32px);left:50%}.page-notice--viewport,.page-notice--login{width:calc(100vw - 32px);min-width:0;max-width:calc(100vw - 32px);position:fixed;top:24px;bottom:auto;left:50%;transform:translate(-50%)}.page-notice--login:after{display:none}}.gallery-public-download-review{color:#fff;background:linear-gradient(#080e0966 0%,#080e09ad 62%,#080e09d6 100%),url(https://cdn.boxroom.top/admin/releases/image-gallery-admin-20260915.235211/assets/gallery-download-lawn-wedding.png) 50%/cover no-repeat;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.gallery-public-download-page{z-index:1;color:#fff;text-shadow:0 2px 18px #0000007a;align-content:center;gap:14px;width:min(100%,390px);display:grid;position:relative}.gallery-public-download-brand{justify-self:start;align-items:center;gap:10px;margin-bottom:2px;display:flex}.gallery-public-download-brand-mark{border-radius:14px;flex:0 0 50px;place-items:center;width:50px;height:50px;display:grid;overflow:hidden;box-shadow:0 12px 28px #0000004d}.gallery-public-download-brand-mark .brandLogo{object-fit:cover;width:50px;height:50px}.gallery-public-download-brand-copy{gap:2px;display:grid}.gallery-public-download-brand strong{font-size:18px;line-height:1}.gallery-public-download-brand small{color:#ffffffb8;font-size:12px;line-height:1}.gallery-public-download-intro h1{color:#fff;letter-spacing:0;max-width:8em;margin:0;font-size:46px;line-height:1.04}.gallery-public-download-file{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c120db8;border:1px solid #fff3;border-radius:8px;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:10px;padding:14px;display:grid;box-shadow:0 28px 74px #00000057,inset 0 1px #ffffff1f}.gallery-public-download-file-icon{color:#d8ff43;background:#d8ff4329;border-radius:8px;align-self:center;place-items:center;width:52px;height:52px;display:grid}.gallery-public-download-file-copy{align-self:center;gap:4px;min-width:0;display:grid}.gallery-public-download-file-copy strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.3;overflow:hidden}.gallery-public-download-file-copy span{color:#ffffffad;font-size:13px;line-height:1.35}.gallery-public-download-expiry{color:#ffffffad;justify-self:center;align-items:center;gap:5px;margin-top:-4px;font-size:12px;line-height:1.35;display:inline-flex}.gallery-public-download-start{color:#10160f;background:#d8ff43;border:0;width:100%;height:54px;box-shadow:0 18px 42px #00000042}.gallery-public-download-start:hover:not(:disabled){background:#e2ff66}.gallery-public-download-start:disabled,.gallery-public-download-start[data-disabled]{color:#ffffff94;box-shadow:none;cursor:not-allowed;opacity:1;background:#fff3}.gallery-public-download-expiry.is-inactive{color:#ffffffc7}.gallery-public-download-dispatched{background:#0c120db8;border:1px solid #d8ff4347;border-radius:8px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:5px 10px;padding:14px;display:grid}.gallery-public-download-dispatched>svg{color:#d8ff43;grid-row:1/span 2}.gallery-public-download-dispatched>div{gap:2px;display:grid}.gallery-public-download-dispatched strong{color:#fff;font-size:14px}.gallery-public-download-dispatched span,.gallery-public-download-dispatched small{color:#ffffffad;font-size:11px;line-height:1.45}.gallery-public-download-dispatched small{grid-column:2}.gallery-public-download-error{color:#ffb1a6;text-align:center;margin:0;font-size:12px}.gallery-public-download-state{color:#ffffffa8;text-align:center;background:#10160f;place-content:center;gap:8px;min-height:100vh;padding:24px;display:grid}.gallery-public-download-state.is-error strong{color:#ff8a7a;font-size:18px}.gallery-public-download-state span{font-size:12px}@media (width<=720px){.gallery-public-download-review{min-height:100svh;padding:max(20px, env(safe-area-inset-top)) 18px max(20px, env(safe-area-inset-bottom));background:linear-gradient(#090f0a52 0%,#090f0aa8 54%,#0b110c 100%),url(https://cdn.boxroom.top/admin/releases/image-gallery-admin-20260915.235211/assets/gallery-download-lawn-wedding.png) 70%/auto 100% no-repeat}.gallery-public-download-page{gap:14px;width:min(100%,390px)}.gallery-public-download-intro h1{max-width:8em;font-size:clamp(38px,12vw,46px)}.gallery-public-download-file{background:#0c120dcc;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:14px}.gallery-public-download-start{height:52px}}@media (width<=420px){.gallery-public-download-review{background:linear-gradient(#090f0a4d 0%,#090f0ab8 44%,#0b110c 100%),url(https://cdn.boxroom.top/admin/releases/image-gallery-admin-20260915.235211/assets/gallery-download-lawn-wedding.png) 64%/auto 100% no-repeat;padding-inline:14px}}:root{--ui-ink:#151814;--ui-muted:#737970;--ui-line:#e1e5dc;--ui-paper:#f4f5ef;--ui-surface:#fff;--ui-dark:#171c18;--ui-sidebar:#1a1f1b;--ui-brand:#d8ff43;--ui-success:#317b49;--ui-warning:#f07a48;--ui-danger:#c94f45;--ui-focus:#228be6;--ui-focus-ring:#228be63d;--ui-batch-surface:#edf2d9;--ui-shadow-page:0 18px 55px #181e171f;--ui-control-height:36px;--ui-compact-control-height:30px;--ui-pagination-size:27px;--ui-control-radius:8px;--ui-compact-radius:7px;--ui-card-radius:12px;--ui-pagination-gap:4px;--ui-pattern-gap:10px;--ui-page-section-gap:16px;--ink:var(--ui-ink);--muted:var(--ui-muted);--line:var(--ui-line);--paper:var(--ui-paper);--white:var(--ui-surface);--dark:var(--ui-dark);--side:var(--ui-sidebar);--lime:var(--ui-brand);--green:var(--ui-success);--orange:var(--ui-warning);--red:var(--ui-danger);--shadow:var(--ui-shadow-page);--control-h:var(--ui-control-height);--control-sm:var(--ui-compact-control-height);--mini-control-h:44px;--radius-control:var(--ui-control-radius);--radius-card:var(--ui-card-radius);--pp-control-height:var(--ui-control-height);--pp-control-radius:var(--ui-control-radius);--pp-section-gap:var(--ui-pattern-gap);--pp-page-section-gap:var(--ui-page-section-gap);--pp-table-head-height:36px;--pp-table-row-height:58px;--pp-table-head-font-size:8px;--pp-table-body-font-size:10px;--pp-border:var(--ui-line);--pp-muted:var(--ui-muted);--pp-surface:var(--ui-surface);--pp-table-head:#eef1ea;--pp-brand:var(--ui-brand);--pp-ink:var(--ui-ink)}.primary-btn,.secondary-btn,.danger-btn{height:var(--ui-control-height);min-height:var(--ui-control-height);border-radius:var(--ui-control-radius);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.primary-btn{border:1px solid var(--ui-brand);background:var(--ui-brand);color:var(--ui-ink)}.primary-btn:hover{filter:brightness(.94)}.secondary-btn{border:1px solid var(--ui-line);background:var(--ui-surface);color:#4f564d}.danger-btn{color:var(--ui-danger);background:#fff0ed;border:1px solid #f1d5d0}.text-btn{min-height:var(--ui-compact-control-height);border-radius:var(--ui-compact-radius);color:#4e574c;background:0 0;border:0;align-items:center;padding:0 8px;font-size:11px;display:inline-flex}.filters,.pp-query-bar{min-height:var(--ui-control-height);box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;padding:0;display:flex}.filters{margin-bottom:11px}.filters select,.filters>input,.search,.pp-query-bar .mantine-Input-input,.pp-query-bar .mantine-Button-root{height:var(--ui-control-height);min-height:var(--ui-control-height);border-radius:var(--ui-control-radius)}.filters select,.filters>input,.search{border:1px solid var(--ui-line);background:var(--ui-surface);color:#61675f;font-size:12px}.filters select,.filters>input{padding:0 10px}.search{align-items:center;gap:7px;min-width:260px;padding:0 10px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%}.bulk-bar,.image-bulk,.pp-batch-bar{background:var(--ui-batch-surface);min-height:39px;color:var(--ui-ink);border-radius:9px;align-items:center;gap:7px;padding:7px 12px;font-size:9px;display:flex}.bulk-bar,.image-bulk{margin-bottom:10px}.bulk-bar>span:first-child,.image-bulk>span:first-child,.pp-batch-bar>span:first-child{margin-right:auto}.bulk-bar button,.image-bulk button,.pp-batch-bar button{height:var(--ui-compact-control-height);min-height:var(--ui-compact-control-height);border:1px solid var(--ui-line);border-radius:var(--ui-compact-radius);background:var(--ui-surface);color:#50574e;cursor:pointer;justify-content:center;align-items:center;padding:0 10px;font-size:10px;font-weight:500;display:inline-flex}.danger-link,.pp-batch-bar button.pp-danger-action{color:var(--ui-danger)!important}.pagination,.pp-pagination{margin-top:var(--ui-pattern-gap);min-height:var(--ui-pagination-size);color:#858b83;box-shadow:none;background:0 0;border:0;justify-content:space-between;align-items:center;padding:3px 2px 0;font-size:8px;display:flex}.pagination>div,.pp-pagination-nav{align-items:center;gap:var(--ui-pagination-gap);display:flex}.pagination button,.pp-pagination-nav button{width:var(--ui-pagination-size);min-width:var(--ui-pagination-size);height:var(--ui-pagination-size);min-height:var(--ui-pagination-size);border:1px solid var(--ui-line);border-radius:var(--ui-compact-radius);background:var(--ui-surface);color:#50574e;text-align:center;padding:0;font-size:8px;display:block}.pagination button.on,.pp-pagination-nav button[aria-current=page]{background:var(--ui-ink);color:var(--ui-surface)}.pagination button:disabled,.pp-pagination-nav button:disabled{cursor:not-allowed;opacity:.45}:root{color:#151923;--bg:#f5f7fb;--panel:#fff;--line:#d9e2ec;--text:#141923;--muted:#697586;--brand:#ff6a00;--ok:#14883e;--warn:#b85c00;--bad:#d92d20;--blue:#1666c5;--radius:8px;--sh-background:#fff;--sh-foreground:#141923;--sh-card:#fff;--sh-card-foreground:#141923;--sh-popover:#fff;--sh-popover-foreground:#141923;--sh-primary:#ff6a00;--sh-primary-foreground:#fff;--sh-secondary:#f1f5f9;--sh-secondary-foreground:#1f2937;--sh-muted:#f8fafc;--sh-muted-foreground:#697586;--sh-accent:#fff4ec;--sh-accent-foreground:#9a3d00;--sh-destructive:#d92d20;--sh-destructive-foreground:#fff;--sh-border:#d9e2ec;--sh-input:#cfd9e5;--sh-ring:var(--ui-focus);--sh-success:#14883e;--sh-success-bg:#e9f7ee;--sh-warning:#b85c00;--sh-warning-bg:#fff4e5;background:#f4f6f9;font-family:Microsoft YaHei,Segoe UI,Arial,sans-serif}.app-help-hint{color:var(--mantine-color-gray-6);cursor:help;place-items:center;line-height:1;display:inline-grid}body{background:var(--bg);color:var(--text);font-size:13px}.shell{background:var(--bg);grid-template-columns:280px minmax(0,1fr);transition:grid-template-columns .2s}.shell>main{min-width:0}.mantine-Modal-root .mantine-Modal-content{translate:var(--modal-main-center-offset,0px) 0}.sidebar{background:var(--sidebar);color:#d5dbd5;min-height:100vh;max-height:100vh;position:sticky;top:0;overflow:hidden}.shell--sidebar-collapsed .brand{justify-content:center;padding-inline:0}.shell--sidebar-collapsed .brand strong,.shell--sidebar-collapsed .nav-group-title,.shell--sidebar-collapsed .nav-label{display:none}.shell--sidebar-collapsed .group-nav button{border-radius:12px;flex:0 0 40px;justify-content:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.shell--sidebar-collapsed .group-nav button>span{text-align:center;width:40px;font-size:18px;line-height:1}.brand{border-color:#ffffff14;height:72px;padding:0 22px}.brand span{background:var(--brand);width:38px;height:38px;color:var(--brand-ink);border-radius:10px;font-size:18px}.brand strong{color:#fff;font-size:17px}.brand em{color:var(--brand);font-style:normal}.group-nav{scrollbar-width:thin;scrollbar-color:#3b443c transparent;gap:14px;max-height:calc(100vh - 72px);padding:18px 14px 24px;overflow-y:auto}.sidebar-release-version{color:#d5dbd594;letter-spacing:.02em;margin-top:auto;padding:12px 22px 2px;font-size:11px}.shell--sidebar-collapsed .sidebar-release-version{text-align:center;padding-inline:0;font-size:0}.shell--sidebar-collapsed .sidebar-release-version:first-letter{font-size:11px}.nav-group-title{color:#697169;letter-spacing:1.2px;min-height:28px;padding:4px 10px;font-size:10px}nav button{min-height:42px;color:var(--sidebar-muted);border-radius:9px;padding:10px 12px;font-size:12px;transition:background .18s,color .18s,transform .18s}nav button:hover{color:#fff;background:#252b26}.topbar{border-color:var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;height:64px;padding:0 12px}.shell>main .topbar{padding-inline:12px}.topbar-path{color:var(--muted);font-size:12px}.topbar-path b{color:var(--text)}.topbar button{border-color:var(--line);color:#555d53;border-radius:8px;min-height:32px;padding:0 11px;font-size:11px}.topbar .sidebar-toggle{aspect-ratio:1;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;font-size:18px;line-height:1;display:inline-flex}.topbar-action{margin-left:4px}.adminName{color:var(--text);align-items:center;gap:6px;margin-left:auto;font-size:12px;font-weight:700;display:inline-flex}.admin-role-icon{color:#667b20;align-items:center;display:inline-flex}@media (width<=900px){.shell.shell--sidebar-collapsed{grid-template-columns:280px minmax(0,1fr)}.shell--sidebar-collapsed .brand{justify-content:flex-start;padding-inline:22px}.shell--sidebar-collapsed .brand strong,.shell--sidebar-collapsed .nav-group-title{display:initial}.shell--sidebar-collapsed .nav-label{display:inline}.shell--sidebar-collapsed .group-nav{padding-inline:14px}.shell--sidebar-collapsed .group-nav button{justify-content:flex-start;padding-inline:12px}}.shell--print-template-editor{height:100vh;overflow:hidden}.shell--print-template-editor>main{min-height:0;overflow:hidden}.content.content--print-template-editor{height:calc(100vh - 72px);min-height:0;padding:0;position:relative;overflow:auto}.admin-page{width:min(1640px,100%);margin:0 auto}.admin-page .head{align-items:flex-end;margin-bottom:22px}.page-eyebrow{color:#8a9087;letter-spacing:2px;margin-bottom:7px;font-size:9px;font-weight:850;display:block}.admin-page h1{color:var(--text);letter-spacing:-.7px;font-size:28px;line-height:1.15}.admin-page .page-title-actions .mantine-Button-root,.admin-page .mantine-Button-root[data-variant=filled]{color:var(--brand-ink);font-weight:700}.mantine-Input-input{border-color:var(--line);--input-bd-focus:var(--ui-focus);background:#fff;font-size:12px}.mantine-Input-input:focus,.mantine-Input-input:focus-within,.mantine-Combobox-input:focus-within{border-color:var(--ui-focus);box-shadow:0 0 0 2px var(--ui-focus-ring)}.admin-page .mantine-Card-root{border-color:var(--line);background:var(--panel)}.admin-stat-strip{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.admin-stat-item{border-right:1px solid var(--line);min-height:76px;padding:14px 18px}.admin-stat-item:last-child{border-right:0}.admin-stat-item small,.admin-stat-item strong,.admin-stat-item span{display:block}.admin-stat-item small{color:#8d938a;font-size:10px}.admin-stat-item strong{color:var(--text);margin-top:6px;font-size:20px;line-height:1}.admin-stat-item span{color:var(--muted);margin-top:5px;font-size:10px}.admin-filter-bar{grid-template-columns:minmax(260px,1fr) 180px 160px auto auto;align-items:center;gap:8px;display:grid}.admin-filter-search{max-width:420px}.admin-user-identity{align-items:center;gap:10px;min-width:190px;display:flex}.admin-avatar{color:#69583e;background:#eee4d1;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-weight:750;display:grid}.admin-user-identity b,.admin-user-identity small{display:block}.admin-user-identity b{color:var(--text);font-size:12px}.admin-user-identity small{color:#92988f;text-overflow:ellipsis;white-space:nowrap;max-width:230px;margin-top:3px;font-size:10px;overflow:hidden}.admin-page .role-pagination-bar{border-top:1px solid var(--line);min-height:52px;padding:10px 14px}.admin-page.system-settings-shell{max-width:770px}.admin-page.system-settings-shell .head{margin-bottom:10px}.admin-page.system-settings-shell.system-settings-shell--expert{max-width:1640px}.pp-page-pattern.system-settings-page{gap:0}.pp-page-pattern.system-settings-page--expert{width:100%;max-width:none}.system-settings-tabs{margin-top:2px}:is(.system-settings-tabs,.pp-tabs) .mantine-Tabs-list{border-color:var(--line);gap:3px}:is(.system-settings-tabs,.pp-tabs) .mantine-Tabs-tab{color:#7c8279;min-height:39px;padding-inline:13px;font-size:12px}:is(.system-settings-tabs,.pp-tabs) .mantine-Tabs-tab[data-active]{border-color:var(--text);color:var(--text);font-weight:750}:is(.system-settings-tabs,.pp-tabs) .mantine-Tabs-panel{margin-top:13px}.dealer-credit-tabs .dealer-credit-table-region{gap:0}.dealer-credit-tabs .dealer-credit-table-region>.admin-table-frame+.pp-pagination{margin-top:0}.system-settings-card{border-color:var(--line);background:#fff;border-radius:13px;padding:22px}.system-settings-card-title{color:var(--text);margin:0;font-size:15px;font-weight:800;line-height:1.2}.system-settings-card .mantine-InputWrapper-label,.system-settings-card .mantine-Switch-label{color:var(--text);margin-bottom:6px;font-size:12px;font-weight:500}.system-settings-card .mantine-Input-input{border-radius:8px;height:36px;min-height:36px}.system-settings-raw-card{width:100%;margin-top:2px;overflow:hidden}.system-settings-raw-table{table-layout:fixed;width:100%}.system-settings-raw-table th,.system-settings-raw-table td{vertical-align:top}.system-settings-raw-table th:first-child{width:23%}.system-settings-raw-table th:nth-child(2){width:24%}.system-settings-raw-table th:nth-child(3){width:12%}.system-settings-raw-table th:nth-child(4){width:10%}.system-settings-raw-table th:nth-child(5),.system-settings-raw-table th:nth-child(6){width:8%}.system-settings-raw-table th:nth-child(7){width:10%}.system-settings-raw-table th:nth-child(8){width:5%}.system-settings-raw-table :is(th:nth-child(5),td:nth-child(5),th:nth-child(6),td:nth-child(6),th:nth-child(7),td:nth-child(7),th:nth-child(8),td:nth-child(8)){text-align:center}.system-settings-raw-table :is(td:nth-child(5),td:nth-child(6)){vertical-align:middle}.system-settings-raw-table :is(td:nth-child(5),td:nth-child(6)) .mantine-Switch-root{display:inline-flex}.system-settings-desktop-switch{--switch-color:var(--brand)}.system-settings-desktop-switch .mantine-Switch-track{--switch-bg:#cfd4cc;border:1px solid #aab2a6}.system-settings-desktop-switch .mantine-Switch-thumb{--switch-thumb-bg:#fff;box-shadow:0 1px 3px #15181452}.system-settings-desktop-switch .mantine-Switch-input:checked+.mantine-Switch-track{--switch-bg:var(--brand);border-color:#8da51f}.system-settings-desktop-switch .mantine-Switch-input:checked+.mantine-Switch-track>.mantine-Switch-thumb{--switch-thumb-bg:var(--brand-ink)}.system-settings-desktop-switch .mantine-Switch-input:disabled+.mantine-Switch-track{--switch-bg:#cfd4cc;opacity:1}.system-settings-desktop-switch .mantine-Switch-input:disabled+.mantine-Switch-track>.mantine-Switch-thumb{--switch-thumb-bg:#fff}.system-settings-desktop-switch .mantine-Switch-input:checked:disabled+.mantine-Switch-track{--switch-bg:var(--brand);border-color:#8da51f}.system-settings-desktop-switch .mantine-Switch-input:checked:disabled+.mantine-Switch-track>.mantine-Switch-thumb{--switch-thumb-bg:var(--brand-ink)}.system-settings-raw-text,.system-settings-raw-description{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:36px;display:block;overflow:hidden}.system-settings-raw-json{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.system-settings-raw-table .mantine-Textarea-input{border-radius:8px;height:auto;min-height:36px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45}.wechat-auth-table{table-layout:fixed;width:100%}.wechat-auth-table :is(th,td){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wechat-auth-table :is(th,td):first-child{width:14%}.wechat-auth-table :is(th,td):nth-child(2){width:8%}.wechat-auth-table :is(th,td):nth-child(3){width:18%}.wechat-auth-table :is(th,td):nth-child(4){width:31%}.wechat-auth-table :is(th,td):nth-child(5){text-align:center;width:7%}.wechat-auth-table :is(th,td):nth-child(6){text-align:center;width:15%}.wechat-auth-table :is(th,td):nth-child(7){text-align:center;width:7%;min-width:88px;overflow:visible}.wechat-default-action{--ai-bg:#eef1eb;--ai-hover:#e2e6df;--ai-color:#8a9388;color:#8a9388!important;background-color:#eef1eb!important}.wechat-default-action:hover{background-color:#e2e6df!important}.wechat-default-action.is-active{--ai-bg:#ccff2c;--ai-hover:#ccff2c;--ai-color:#162012;box-shadow:0 0 0 1px #16201214,0 8px 18px #ccff2c38;color:#162012!important;background-color:#ccff2c!important}.wechat-default-action.is-active:hover{background-color:#ccff2c!important}.system-settings-form-grid .system-settings-wide-field{grid-column:1/-1}.system-settings-default-event,.system-settings-runtime-path{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1fr) minmax(360px,1.35fr);align-items:end;gap:24px;padding-top:18px;display:grid}.system-settings-default-event-input,.system-settings-runtime-path-input{flex:1}.system-settings-runtime-path-form,.system-settings-runtime-path-input{min-width:0}@media (width<=720px){.system-settings-default-event,.system-settings-runtime-path{grid-template-columns:1fr;gap:12px}.system-settings-runtime-path-form{width:100%}}.settings-health-strip{color:#596057;background:#fff;border-radius:9px;gap:18px;margin-top:12px;padding:12px;font-size:11px;display:flex}.settings-health-strip span{align-items:center;gap:6px;display:flex}.settings-health-strip i,.audit-dot{background:#54c16d;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.settings-danger-zone{background:#fff9f7;border:1px solid #f1d5d0;border-radius:12px;align-items:center;gap:16px;margin-top:12px;padding:12px;display:flex}.settings-danger-zone div{margin-right:auto}.settings-danger-zone b{color:var(--text);font-size:12px}.settings-danger-zone p{color:#997b76;margin-top:4px;font-size:11px}.audit-timeline{border:1px solid var(--line);background:#fff;border-radius:12px 12px 0 0;margin-top:14px;overflow:hidden}.audit-timeline article{border-bottom:1px solid #edf0e9;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:82px;padding:14px 18px;display:grid}.audit-timeline article:last-child{border-bottom:0}.audit-timeline b{color:var(--text);font-size:12px}.audit-timeline p{color:#70776e;margin:5px 0;font-size:11px}.audit-timeline small{color:#989e96;font-size:10px}.audit-timeline+.role-pagination-bar{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 12px 12px;margin-top:0}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-metrics article{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:126px;padding:20px}.dashboard-metrics article.dark{color:#fff;background:#171c18;border-color:#171c18}.dashboard-metrics small,.dashboard-metrics strong,.dashboard-metrics span{display:block}.dashboard-metrics small{color:#8d938b;font-size:11px}.dashboard-metrics strong{margin:16px 0 10px;font-size:30px;line-height:1}.dashboard-metrics span{color:#92988f;font-size:10px}.dashboard-section-head{margin:28px 0 12px}.dashboard-health-strip{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;padding:14px 16px;display:grid}.dashboard-health-strip span{grid-template-columns:8px minmax(0,1fr);align-items:center;gap:3px 8px;display:grid}.dashboard-health-strip i{border-radius:50%;grid-row:1/3;width:8px;height:8px}.dashboard-health-strip i.ok{background:#54c16d}.dashboard-health-strip i.warn{background:#f0a43e}.dashboard-health-strip b{font-size:11px}.dashboard-health-strip small{color:#92988f;font-size:10px}@media (width<=1100px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.dashboard-metrics,.dashboard-health-strip{grid-template-columns:1fr}}@media (width<=1100px){.shell{grid-template-columns:220px minmax(0,1fr)}.content{padding:26px 24px 40px}.admin-filter-bar{grid-template-columns:minmax(220px,1fr) 160px 150px}.admin-filter-bar .mantine-Button-root{width:max-content}}@media (width<=760px){.shell{grid-template-columns:72px minmax(0,1fr)}.brand{justify-content:center;padding:0}.brand strong,.nav-group-title{display:none}nav button{justify-content:center;font-size:0}nav button span{font-size:12px}.topbar{padding:0 14px}.topbar-path{display:none}.content{padding:22px 14px 32px}.admin-page .head{align-items:flex-start;gap:14px}.admin-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat-item:nth-child(2){border-right:0}.admin-stat-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-filter-bar{grid-template-columns:1fr}.admin-filter-search{max-width:none}}:root{--bg:#f4f5ef;--panel:#fff;--line:#e1e5dc;--text:#151814;--muted:#737970;--brand:#d8ff43;--brand-ink:#151814;--sidebar:#1a1f1b;--sidebar-muted:#a7aea7;--radius:12px;--sh-background:var(--panel);--sh-foreground:var(--text);--sh-card:var(--panel);--sh-card-foreground:var(--text);--sh-popover:var(--panel);--sh-popover-foreground:var(--text);--sh-primary:var(--brand);--sh-primary-foreground:var(--brand-ink);--sh-secondary:#f0f2ec;--sh-secondary-foreground:#4f564d;--sh-muted:#f4f5ef;--sh-muted-foreground:var(--muted);--sh-accent:#f3f9d8;--sh-accent-foreground:#37420e;--sh-border:var(--line);--sh-input:#d5dbd1;--sh-ring:var(--ui-focus)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.shell{background:var(--bg);grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#d5dbd5;min-height:100vh}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;height:72px;padding:0 22px;display:flex}.brand span{background:var(--brand);width:38px;height:38px;color:var(--brand-ink);border-radius:10px;place-items:center;font-weight:800;display:grid}.brandLogo{object-fit:contain;width:100%;height:100%;display:block}.brand>span,.loginBrand>span{background:#fff;overflow:hidden}nav{gap:2px;padding:10px 8px;display:grid}.nav-group{gap:2px;display:grid}.nav-group-title{color:#697169;align-items:center;gap:8px;min-height:30px;padding:4px 10px;font-size:10px;font-weight:700;display:flex}.nav-dot{opacity:.55;background:currentColor;border-radius:50%;width:5px;height:5px}nav button,.topbar button,.heading button{cursor:pointer;background:#fff;border:1px solid #d8e0eb;border-radius:6px;min-height:36px}nav button{color:inherit;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:10px;padding:10px 12px;display:flex}nav button.active{background:var(--brand);color:var(--brand-ink);font-weight:750}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;align-items:center;gap:12px;height:64px;padding:0 30px;display:flex}.topbar button{align-items:center;gap:6px;display:inline-flex}.adminName{color:var(--text);margin-left:auto;font-size:12px;font-weight:700}.loadingPage{background:var(--bg);place-items:center;min-height:100vh;display:grid}.loginPage{color:#fff;background:linear-gradient(90deg,#040e0852 0%,#040e0824 34%,#040e0800 55%),url(https://cdn.boxroom.top/admin/releases/image-gallery-admin-20260915.235211/assets/hummingbird-login-hero-v3.png) 50%/cover no-repeat;min-height:100vh;position:relative;overflow:hidden}.loginStory{text-shadow:0 2px 18px #0000009e;width:430px;position:absolute;top:clamp(72px,11.5vh,125px);left:clamp(48px,14vw,270px)}.loginStory>span{color:#ffffffb8;letter-spacing:2px;margin-bottom:10px;font-size:10px;font-weight:850;display:block}.loginStory h1{color:#fff;margin:0;font-size:clamp(36px,3vw,48px);line-height:1.12}.loginPanel{width:286px;color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;border:1px solid #ffffffb8;border-radius:13px;gap:0;padding:18px;display:grid;position:absolute;top:clamp(230px,24vh,260px);left:clamp(48px,14vw,270px);box-shadow:0 22px 64px #030c0766}.loginBrand{align-items:center;gap:10px;display:flex}.loginBrand span{background:var(--brand);width:30px;height:30px;color:var(--brand-ink);border-radius:10px;place-items:center;font-weight:800;display:grid}.loginBrand strong{font-size:13px;display:block}.loginBrand strong em{color:#8daa1f;font-style:normal}.loginBrand p{color:#8d938b;font-size:9px}.loginPanel h2{color:var(--text);margin:14px 0 2px;font-size:18px}.loginPanel>label{color:var(--text);gap:4px;margin-top:8px;font-size:10px;display:grid}.loginPanel>label input{border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;height:32px;min-height:32px;padding:0 9px}.loginPanel>label input:focus{border-color:var(--ui-focus);box-shadow:0 0 0 2px var(--ui-focus-ring)}.loginOptions{color:#697168;justify-content:space-between;align-items:center;margin:8px 0 11px;font-size:9px;display:flex}.loginOptions label{align-items:center;gap:5px;display:inline-flex}.loginOptions input{accent-color:#a7c634;width:13px;height:13px;margin:0}.loginOptions button{color:#697168;background:0 0;border:0;padding:0;font-size:9px}.loginButton{border:1px solid var(--brand);background:var(--brand);width:100%;height:34px;min-height:34px;color:var(--brand-ink);cursor:pointer;border-radius:8px;font-size:11px;font-weight:700}.loginButton:disabled{opacity:.6;cursor:not-allowed}.loginError{color:var(--bad);background:#fff0ee;border-radius:6px;margin-bottom:8px;padding:7px 9px;font-size:9px}.loginFoot{color:#ffffffb8;text-shadow:0 1px 8px #00000080;font-size:9px;position:absolute;bottom:26px;left:34px}@media (width<=900px){.loginPage{place-items:center;padding:24px;display:grid}.loginStory{display:none}.loginPanel{width:min(360px,100%);position:static}.loginFoot{bottom:18px;left:24px}}.topbar input{border:1px solid #d8e0eb;border-radius:6px;width:min(520px,70vw);min-height:36px;padding:0 12px}.content{padding:30px 36px 48px}.heading{justify-content:space-between;align-items:end;gap:10px;margin-bottom:16px;display:flex}h1,h2,p{margin:0}h1{font-size:26px}p{color:#667085}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.panel{background:#fff;border:1px solid #d8e0eb;border-radius:8px;min-height:160px;overflow:hidden}.panelTitle{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}h2{font-size:16px}.ok,.bad{border-radius:5px;padding:2px 8px;font-size:12px}.ok{color:#14883e;background:#e9f7ee}.bad{color:#d92d20;background:#fff0ee}pre{color:#344054;white-space:pre-wrap;max-height:360px;margin:0;padding:14px;overflow:auto}@media (width<=960px){.shell{grid-template-columns:72px 1fr}.brand strong,nav button{font-size:0}nav button span{font-size:14px}.grid{grid-template-columns:1fr}}.admin-page .head{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.admin-page h1{letter-spacing:-.7px;margin:0;font-size:28px}.admin-page .sub{color:var(--muted);margin:7px 0 0;font-size:12px;display:block}.admin-page .page-title-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-page .btn{border:1px solid var(--line);cursor:pointer;min-height:36px;font:inherit;background:#fff;border-radius:6px;padding:0 14px}.admin-page .btn.icon-btn{justify-content:center;align-items:center;width:32px;min-height:32px;padding:0;display:inline-flex}.admin-page .role-search-panel{border:1px solid var(--mantine-color-gray-3);background:var(--mantine-color-gray-1);border-radius:8px;padding:14px}.admin-page .role-list-card{box-shadow:none;border:0;padding:0}.admin-page .role-table-center{text-align:center}.admin-page .role-table-narrow{white-space:nowrap;width:88px;min-width:88px;max-width:96px}.admin-page .role-icon-action{width:32px;min-width:32px;height:32px;padding:0}.admin-page .role-pagination-bar{flex-wrap:wrap;gap:12px;margin-top:0}.admin-page .a8-role-layout{grid-template-columns:250px minmax(0,1fr);gap:14px;display:grid}.admin-page .a8-role-list,.admin-page .a8-permission-card,.admin-page .a8-scope-card,.admin-page .a8-permission-note{background:#fff;border:1px solid #e2e6df;border-radius:13px;box-shadow:0 8px 22px #1720180a}.admin-page .a8-role-list,.admin-page .a8-permission-card{padding:15px}.admin-page .a8-role-list h3{color:#172019;justify-content:space-between;align-items:center;margin:0 0 12px;font-size:15px;line-height:1.2;display:flex}.admin-page .a8-role-list h3 button{color:#172019;cursor:pointer;background:#f7f8f4;border:1px solid #d8ded4;border-radius:8px;width:26px;height:26px;font-size:16px;line-height:1}.admin-page .a8-role-search{gap:7px;margin-bottom:10px;display:flex}.admin-page .a8-role-search input{color:#50574e;background:#fbfcf8;border:1px solid #dfe4dc;border-radius:9px;outline:0;flex:1;min-width:0;height:36px;padding:0 10px;font-size:12px}.admin-page .a8-role-search button,.admin-page .a8-role-page button{color:#50574e;cursor:pointer;background:#fff;border:1px solid #dfe4dc;border-radius:9px;height:36px;font-size:12px}.admin-page .a8-role-items{flex-direction:column;gap:6px;display:flex}.admin-page .a8-role-item{color:#172019;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;min-height:58px;padding:12px;display:flex}.admin-page .a8-role-item:hover{background:#f4f6ef}.admin-page .a8-role-item.on{background:#d8ff43}.admin-page .a8-role-item i,.admin-page .a8-permission-head i{color:#d8ff43;background:#172019;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-style:normal;font-weight:900;display:inline-flex}.admin-page .a8-role-item.on i{color:#d8ff43;background:#172019}.admin-page .a8-role-item b,.admin-page .a8-permission-head b{flex:1;min-width:0;font-size:14px;line-height:1.2;display:block}.admin-page .a8-role-item small,.admin-page .a8-permission-head small{color:#778079;margin-top:4px;font-size:11px;font-weight:500;display:block}.admin-page .a8-role-item span[role=button]{color:#586158;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.admin-page .a8-role-item.on span[role=button]{color:#172019}.admin-page .a8-role-empty{color:#7f8781;padding:16px 4px;font-size:12px}.admin-page .a8-role-page{color:#858b83;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:11px;display:flex}.admin-page .a8-role-page div{gap:6px;display:flex}.admin-page .a8-role-page button{width:32px;padding:0}.admin-page .a8-role-page button:disabled{cursor:not-allowed;opacity:.45}.admin-page .a8-permission-head{border-bottom:1px solid #edf0eb;justify-content:space-between;align-items:center;gap:16px;padding-bottom:15px;display:flex}.admin-page .a8-permission-head>div{align-items:center;gap:10px;min-width:0;display:flex}.admin-page .a8-permission-head label,.admin-page .a8-scope-card label{color:#3f473f;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.admin-page .a8-permission-head input,.admin-page .a8-scope-card input{accent-color:#98b833;width:14px;height:14px}.admin-page .a8-selected-meta{color:#7f8781;align-items:center;gap:16px;margin:12px 0 4px;font-size:12px;display:flex}.admin-page .a8-selected-meta span{align-items:center;gap:6px;display:inline-flex}.admin-page .a8-permission-tree-panel{max-height:520px;overflow:auto}.admin-page .a8-permission-tree-panel .mantine-permission-tree{max-height:none;padding:0}.admin-page .a8-permission-tree-panel .mantine-permission-tree-root{--permission-tree-line-color:#edf0eb;--permission-tree-node-height:34px}.admin-page .a8-permission-tree-panel .mantine-permission-node{border-radius:8px;min-height:34px;padding:6px 8px}.admin-page .a8-permission-tree-panel .mantine-permission-node.group{color:#172019;border-top:1px solid #edf0eb;margin-top:11px;font-weight:700}.admin-page .a8-permission-tree-panel .mantine-permission-node:hover{background:#f7f8f4}.admin-page .a8-permission-tree-panel .mantine-permission-code{max-width:220px}.admin-page .a8-scope-card{align-items:center;gap:25px;padding:16px;display:flex}.admin-page .a8-scope-card div{flex:1}.admin-page .a8-scope-card b{color:#172019;font-size:14px}.admin-page .a8-scope-card p{color:#7f8781;margin:3px 0 0;font-size:12px}.admin-page .a8-permission-note{color:#7f8781;padding:14px 16px;font-size:12px}@media (width<=900px){.admin-page .a8-role-layout{grid-template-columns:1fr}.admin-page .a8-scope-card{flex-direction:column;align-items:flex-start}}.admin-page .pricing-list-card,.admin-page .tour-group-list-card{display:block}.admin-page .pricing-search-panel,.admin-page .tour-group-search-panel{margin-bottom:14px}.admin-page .pricing-search-title,.admin-page .tour-group-search-title{color:var(--text);margin-bottom:8px;font-size:14px;font-weight:700}.admin-page .pricing-search-panel .filters,.admin-page .tour-group-search-panel .filters{background:0 0;border:0;border-radius:0;margin-bottom:0;padding:0}.admin-page .pricing-list-head,.admin-page .tour-group-list-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.admin-page .pricing-list-head .btn,.admin-page .tour-group-list-head .btn{align-items:center;gap:8px;display:inline-flex}.admin-page .default-admin-table thead th{background:var(--mantine-color-gray-1);border-top:1px solid var(--mantine-color-gray-3);border-bottom:1px solid var(--mantine-color-gray-3);color:var(--text);font-weight:650}.admin-page .default-admin-table th,.admin-page .default-admin-table td{padding-top:11px;padding-bottom:11px}.ui-button{border-radius:calc(var(--radius) - 2px);min-height:36px;font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:650;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.ui-button:focus-visible,.ui-input:focus-visible,.ui-choice:focus-visible,.ui-dialog-content:focus-visible,.ui-role-option:focus-visible,.ui-permission-node:focus-visible{outline:2px solid var(--sh-ring);outline-offset:2px}.ui-button:disabled{opacity:.55;cursor:not-allowed}.ui-button-default{border-color:var(--sh-primary);background:var(--sh-primary);color:var(--sh-primary-foreground)}.ui-button-default:hover:not(:disabled){background:#e95f00}.ui-button-secondary{border-color:var(--sh-secondary);background:var(--sh-secondary);color:var(--sh-secondary-foreground)}.ui-button-outline{border-color:var(--sh-border);background:var(--sh-background);color:var(--sh-foreground)}.ui-button-outline:hover:not(:disabled),.ui-button-secondary:hover:not(:disabled),.ui-button-ghost:hover:not(:disabled){background:var(--sh-accent);color:var(--sh-accent-foreground)}.ui-button-ghost{color:var(--sh-foreground);background:0 0}.ui-button-destructive{border-color:var(--sh-destructive);background:var(--sh-destructive);color:var(--sh-destructive-foreground)}.ui-button-size-sm{min-height:30px;padding:0 10px;font-size:12px}.ui-button-size-icon{width:32px;min-height:32px;padding:0}.ui-card{border:1px solid var(--sh-border);border-radius:var(--radius);background:var(--sh-card);color:var(--sh-card-foreground);overflow:hidden}.ui-card-header{border-bottom:1px solid var(--sh-border);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 14px;display:flex}.ui-card-title{margin:0;font-size:16px;line-height:1.2}.ui-card-description{color:var(--sh-muted-foreground);margin-top:3px;font-size:12px}.ui-card-content{padding:14px}.ui-label{color:var(--sh-muted-foreground);gap:6px;font-size:13px;display:grid}.ui-input{border:1px solid var(--sh-input);border-radius:calc(var(--radius) - 2px);background:var(--sh-background);width:100%;min-height:36px;color:var(--sh-foreground);font:inherit;padding:0 10px}.ui-select{cursor:pointer}.ui-textarea{resize:vertical;min-height:76px;padding:9px 10px}.ui-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:2px 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.ui-badge-default{background:var(--sh-primary);color:var(--sh-primary-foreground)}.ui-badge-secondary{background:var(--sh-secondary);color:var(--sh-secondary-foreground)}.ui-badge-success{background:var(--sh-success-bg);color:var(--sh-success)}.ui-badge-warning{background:var(--sh-warning-bg);color:var(--sh-warning)}.ui-badge-destructive{color:var(--sh-destructive);background:#fff0ee}.ui-badge-outline{border-color:var(--sh-border);background:var(--sh-background);color:var(--sh-muted-foreground)}.ui-checkbox{border:1px solid var(--sh-input);background:var(--sh-background);width:16px;height:16px;color:var(--sh-primary-foreground);cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ui-checkbox[data-state=checked]{border-color:var(--sh-primary);background:var(--sh-primary)}.ui-checkbox-indicator{justify-content:center;align-items:center;display:inline-flex}.ui-table-wrap{overflow:auto}.ui-table{border-collapse:collapse;width:100%;font-size:13px}.ui-table-head{border-bottom:1px solid var(--sh-border);background:var(--sh-muted);height:38px;color:var(--sh-muted-foreground);text-align:left;white-space:nowrap;font-weight:700}.ui-table-cell,.ui-table-head{vertical-align:middle;padding:9px 10px}.ui-table-row{border-bottom:1px solid #edf1f5}.ui-table-body .ui-table-row:hover{background:#fbfcfe}.ui-dialog-overlay{z-index:1000;background:#0f172a6b;position:fixed;inset:0}.ui-dialog-content{z-index:1001;border:1px solid var(--sh-border);border-radius:var(--radius);background:var(--sh-popover);width:min(520px,100vw - 32px);max-height:min(720px,100vh - 48px);color:var(--sh-popover-foreground);display:grid;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 60px #0f172a3d}.ui-dialog-header{border-bottom:1px solid var(--sh-border);gap:4px;padding:16px 18px;display:grid}.ui-dialog-title{margin:0;font-size:16px;line-height:1.25}.ui-dialog-description{color:var(--sh-muted-foreground);font-size:13px}.ui-dialog-footer{border-top:1px solid var(--sh-border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.ui-dialog-close{position:absolute;top:10px;right:10px}.shadcn-admin-layout{grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);align-items:start;gap:14px;display:grid}.shadcn-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.shadcn-form-full{grid-column:1/-1}.shadcn-field-row{justify-content:space-between;align-items:center;gap:10px;min-height:36px;display:flex}.shadcn-actions{justify-content:flex-end;gap:10px;display:flex}.shadcn-inline-actions{align-items:center;gap:6px;display:flex}.shadcn-muted-line,.shadcn-empty{color:var(--sh-muted-foreground);font-size:13px}.shadcn-alert{margin-bottom:14px}.shadcn-alert-content{padding:10px 12px;font-size:13px;font-weight:650}.shadcn-role-tags{border:1px solid var(--sh-border);border-radius:calc(var(--radius) - 2px);background:var(--sh-background);flex-wrap:wrap;align-items:center;gap:8px;min-height:38px;padding:6px;display:flex}.shadcn-role-tag{max-width:100%;padding-right:4px}.shadcn-role-tag>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-choice-group{grid-template-columns:repeat(2,minmax(76px,1fr));gap:8px;max-width:220px;display:inline-grid}.ui-choice{border:1px solid var(--sh-border);border-radius:calc(var(--radius) - 2px);background:var(--sh-background);min-height:34px;color:var(--sh-muted-foreground);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:6px;display:inline-flex}.ui-choice.selected{border-color:var(--sh-primary);background:var(--sh-accent);color:var(--sh-primary);font-weight:700}.ui-role-list{gap:8px;max-height:min(420px,70vh);padding:14px 18px;display:grid;overflow:auto}.ui-role-option{border:1px solid var(--sh-border);border-radius:calc(var(--radius) - 2px);background:var(--sh-background);width:100%;min-height:50px;color:var(--sh-foreground);cursor:pointer;font:inherit;text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.ui-role-option:hover,.ui-role-option.selected{border-color:var(--sh-primary);background:var(--sh-accent)}.ui-role-option small{color:var(--sh-muted-foreground);margin-top:2px;font-size:12px;display:block}.ui-permission-tree{border:1px solid var(--sh-border);border-radius:var(--radius);background:var(--sh-muted);gap:4px;max-height:460px;margin:0;padding:6px;list-style:none;display:grid;overflow:auto}.ui-permission-branch,.ui-permission-item{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.ui-permission-node{border-radius:calc(var(--radius) - 2px);background:var(--sh-background);min-height:34px;color:var(--sh-foreground);border:1px solid #e5ebf2;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.ui-permission-node.root{border-color:#c8d7e7;font-weight:700}.ui-permission-node.group{color:var(--sh-muted-foreground)}.ui-permission-node input{width:auto;min-height:auto}.ui-permission-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-tree-marker{width:14px;color:var(--sh-muted-foreground);text-align:center;font-size:11px}.mantine-admin-layout{align-items:start}.mantine-role-tags{border:1px solid var(--line);background:#fff;border-radius:6px;min-height:38px;padding:6px}.mantine-role-option{cursor:pointer}.mantine-role-option:hover{border-color:var(--brand);background:#fff8f3}.role-form-modal-content{flex-direction:column;max-height:calc(100dvh - 48px);display:flex}.role-form-modal-header{flex:none}.role-form-modal-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.role-form-modal-form{flex-direction:column;flex:auto;min-height:0;display:flex}.role-form-modal-stack{flex:auto;min-height:0}.role-form-fields,.role-form-modal-actions{flex:none}.role-form-tree-scroll{flex:auto;min-height:180px;padding-right:4px;overflow:auto}.role-permission-table{table-layout:fixed;width:100%}.role-permission-table th:first-child{width:64px}.role-permission-table th:nth-child(2){width:88px}.role-permission-table th:nth-child(8){width:64px}.role-permission-table :is(th:first-child,td:first-child,th:nth-child(2),td:nth-child(2),th:nth-child(8),td:nth-child(8)){text-align:center}.role-form-tree-scroll .mantine-permission-tree{max-height:none;overflow:visible}.mantine-inline-required-label{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.mantine-inline-required-mark{color:var(--mantine-color-error);line-height:1}.mantine-permission-tree{background:0 0;max-height:460px;padding:2px 0 2px 2px;overflow:auto}.mantine-permission-tree-root{--permission-tree-line-color:#d7e0ea;--permission-tree-node-height:28px;--permission-tree-level-offset:24px}.mantine-permission-tree-node,.mantine-permission-subtree,.mantine-permission-label{position:relative}.mantine-permission-label{padding-inline-start:0}.mantine-permission-subtree:before{content:"";top:0;bottom:calc(var(--permission-tree-node-height) / 2);background:var(--permission-tree-line-color);width:1px;position:absolute}.mantine-permission-label:before{content:"";top:calc(var(--permission-tree-node-height) / 2);left:calc(var(--label-offset) + 16px);background:var(--permission-tree-line-color);width:12px;height:1px;position:absolute}.mantine-permission-subtree[data-level="1"]:before{left:28px}.mantine-permission-subtree[data-level="2"]:before{left:52px}.mantine-permission-subtree[data-level="3"]:before{left:76px}.mantine-permission-subtree[data-level="4"]:before{left:100px}.mantine-permission-subtree[data-level="5"]:before{left:124px}.mantine-permission-tree-node[data-level="1"]>.mantine-permission-label:before{display:none}.mantine-permission-node{border-radius:4px;width:100%;min-height:28px;padding:3px 6px;line-height:20px}.mantine-permission-indent{flex:none;height:1px}.mantine-permission-node.group{color:var(--muted)}.mantine-permission-node:hover{background:#fff7ed}.mantine-permission-marker{width:16px;height:20px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.mantine-permission-marker.empty{visibility:hidden}.mantine-permission-title{flex:0 auto;min-width:0}.mantine-permission-spacer{flex:auto;min-width:8px}.mantine-permission-code{text-transform:none;max-width:160px}.mantine-permission-code .mantine-Badge-label{text-overflow:ellipsis;text-transform:none;overflow:hidden}.mantine-permission-checkbox{aspect-ratio:1;flex:0 0 16px;width:16px;min-width:16px;height:16px;min-height:16px;--checkbox-size:16px!important}.mantine-permission-checkbox .mantine-CheckboxIndicator-icon{width:10px;height:10px}.admin-page .table-actions{flex-wrap:nowrap;gap:6px}.admin-page .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.admin-page .btn:disabled{opacity:.5;cursor:not-allowed}.admin-page .panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-height:auto;padding:0;overflow:hidden}.admin-page .panel-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:11px 14px;display:flex}.admin-page .panel-h h2{margin:0;font-size:17px}.admin-page .panel-b{padding:14px}.admin-page .filters{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(6,minmax(120px,1fr)) auto auto;align-items:end;gap:12px;margin-bottom:14px;padding:14px;display:grid}.admin-page .user-role-layout{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:start}.admin-page .admin-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-page .admin-form label,.admin-page .fieldBlock{color:var(--text);gap:6px;font-size:13px;display:grid}.admin-page .admin-form label span,.admin-page .fieldBlock>span{color:var(--muted)}.admin-page .fieldTitleRow{justify-content:space-between;align-items:center;gap:8px;min-height:32px;display:flex}.admin-page .fieldTitleRow>span{color:var(--muted)}.admin-page .admin-form input,.admin-page .admin-form select{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;min-height:36px;padding:0 10px}.admin-page .fieldBlock,.admin-page .fullLine{grid-column:1/-1}.admin-page .formActions{justify-content:flex-end;gap:10px;display:flex}.admin-page .checkGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.admin-page .checkItem{min-height:32px;color:var(--text);background:#fbfcfe;border:1px solid #e5ebf2;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.admin-page .checkItem input{width:auto;min-height:auto}.admin-page .yesNoCheck{grid-template-columns:repeat(2,minmax(76px,1fr));gap:8px;max-width:220px;display:inline-grid}.admin-page .checkChoice{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;font:inherit;background:#fbfcfe;border-radius:6px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.admin-page .checkChoice .ft-icon{opacity:0}.admin-page .checkChoice.selected{border-color:var(--brand);color:var(--brand);background:#edf5ff;font-weight:700}.admin-page .checkChoice.selected .ft-icon{opacity:1}.admin-page .role-add-btn{width:30px;min-height:30px}.admin-page .roleTagList{border:1px solid var(--line);background:#fff;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;min-height:38px;padding:6px;display:flex}.admin-page .roleTag{max-width:100%;min-height:26px;color:var(--text);background:#f8fafc;border:1px solid #c8d7e7;border-radius:999px;align-items:center;gap:6px;padding:0 6px 0 10px;font-size:12px;font-weight:700;display:inline-flex}.admin-page .roleTag>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-page .roleTag button{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.admin-page .roleTag button:hover{color:var(--bad);background:#e5ebf2}.admin-page .emptyRoleHint{color:var(--muted);font-size:13px}.admin-page .permissionTree{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:4px;max-height:460px;margin:0;padding:6px;list-style:none;display:grid;overflow:auto}.admin-page .permissionTreeBranch{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.admin-page .permissionTreeItem{gap:4px;display:grid}.admin-page .permissionNode{min-height:34px;color:var(--text);background:#fff;border:1px solid #e5ebf2;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 10px;display:grid}.admin-page .permissionNode.root{border-color:#c8d7e7;font-weight:700}.admin-page .permissionNode.groupOnly{color:var(--muted)}.admin-page .permissionNode input{width:auto;min-height:auto}.admin-page .permissionName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-page .permissionMeta{min-width:44px;color:var(--brand);text-align:center;background:#edf5ff;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:700;line-height:1.4}.admin-page .treeMarker{width:13px;color:var(--muted);text-align:center;font-size:11px;line-height:1}.admin-page .checkItem.groupOnly{color:var(--muted)}.admin-page .mutedLine{color:var(--muted);margin-bottom:10px;font-size:13px}.admin-page .grid{gap:14px;display:grid}.admin-page .grid.two{grid-template-columns:1fr 1fr}.admin-page .grid.three{grid-template-columns:1fr 1fr 1fr}.admin-page .grid.four{grid-template-columns:repeat(4,1fr)}.admin-page .stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:14px;display:grid}.admin-page .stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.admin-page .stat span{color:var(--muted);font-size:12px}.admin-page .stat strong{margin-top:6px;font-size:24px;display:block}.admin-page .scroll{max-height:460px;overflow:auto}.admin-page table{border-collapse:collapse;width:100%}.admin-page .pricing-ranges-table{table-layout:fixed;min-width:980px}.admin-page .pricing-ranges-table th,.admin-page .pricing-ranges-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-page .pricing-ranges-table th:last-child,.admin-page .pricing-ranges-table td:last-child{text-align:center}.admin-page .pricing-ranges-table td:last-child .table-actions{justify-content:center}.admin-page .price-config-tabs{border-bottom:2px solid #e9ecef;align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-page .price-config-tab-list{width:fit-content;display:inline-flex}.admin-page .price-config-tab{text-align:center;border-radius:6px 0 0;width:74px;padding:4px 8px;font-size:12px}.admin-page .price-config-tab+.price-config-tab{border-radius:0 6px 0 0;width:86px}.admin-page .price-config-tab:first-child{border-right:none}.admin-page .price-config-table{table-layout:fixed;width:100%;font-size:12px}.admin-page .price-config-subtable{table-layout:fixed;background:#fff;border:1px solid #dbe7f2;width:100%;font-size:11px}.admin-page .price-config-row-primary{background:#eef3f8}.admin-page .price-config-row-selected{background:#e8f4fd}.admin-page .price-config-cell{border-bottom:1px solid #9fb2c4}.admin-page .price-config-cell.center{text-align:center}.admin-page .price-config-cell.middle{vertical-align:middle}.admin-page .price-config-readonly-field{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;height:28px;min-height:28px;display:flex;overflow:hidden}.admin-page .price-config-readonly-field>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-page .price-config-readonly-field.center{justify-content:center}.admin-page .price-config-group-selected-icon{width:16px;height:16px;color:var(--brand);flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-page .price-config-readonly-subfield{text-overflow:ellipsis;white-space:nowrap;align-items:center;height:22px;min-height:22px;display:flex;overflow:hidden}.admin-page .price-config-readonly-subfield.center{justify-content:center}.admin-page .price-config-detail-cell{background:#f7fbff;padding:8px}.admin-page .price-config-icon-button{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;min-height:28px;padding:0;display:inline-flex}.admin-page .price-config-icon-button.tier-check-button{color:#98a2b3;border-color:#98a2b3}.admin-page .price-config-icon-button.tier-check-button.selected{color:var(--brand);border-color:var(--brand);background:#fffaf6}.admin-page .tour-group-sync-cost-button{color:#175cd3;background:#eff8ff;border-color:#84caff}.admin-page .tour-group-sync-cost-button:disabled{color:#98a2b3;background:#f2f4f7;border-color:#d0d5dd}.admin-page .price-config-radio-button{color:#98a2b3;background:0 0;border-color:#0000;border-radius:4px;justify-content:center;align-items:center;width:24px;height:22px;min-height:22px;padding:0;display:inline-flex}.admin-page .price-config-radio-button.selected{color:var(--brand);background:0 0;border-color:#0000}.admin-page .price-config-radio-button:hover:not(:disabled){background:#fffaf6}.admin-page .price-config-add-button{border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;min-height:28px;padding:0;display:inline-flex}.admin-page .price-config-button-row{justify-content:center;align-items:center;gap:4px;display:flex}.admin-page .price-config-tier-actions{gap:6px;margin:0 auto}.admin-page .price-config-empty{color:#999;text-align:center;padding:20px;font-size:13px}.admin-page .price-config-sub-empty{color:#999;text-align:center;padding:10px;font-size:12px}.admin-page .tour-group-search-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-page .tour-group-search-actions .btn{min-width:84px}.admin-page .tour-group-status-pill{background:var(--mantine-color-gray-1);min-width:54px;color:var(--muted);border-radius:999px;justify-content:center;padding:2px 8px;font-size:12px;font-weight:650;line-height:1.45;display:inline-flex}.admin-page .tour-group-status-pill.status-published{color:#067647;background:#ecfdf3}.admin-page .tour-group-status-pill.status-draft,.admin-page .tour-group-status-pill.status-generated{color:#175cd3;background:#eff8ff}.admin-page .tour-group-status-pill.status-offline{color:#b42318;background:#fffbfa}.admin-page .tour-group-list-table{table-layout:fixed;min-width:980px}.admin-page .tour-group-list-table th,.admin-page .tour-group-list-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-page .tour-group-list-table th:nth-child(6),.admin-page .tour-group-list-table td:nth-child(6),.admin-page .tour-group-list-table th:nth-child(7),.admin-page .tour-group-list-table td:nth-child(7),.admin-page .tour-group-list-table th:nth-child(8),.admin-page .tour-group-list-table td:nth-child(8),.admin-page .tour-group-list-table th:last-child,.admin-page .tour-group-list-table td:last-child{text-align:center}.admin-page .tour-group-row-actions{justify-content:center;gap:6px;display:inline-flex}.admin-page .tour-group-detail-grid{grid-template-columns:minmax(360px,5fr) minmax(300px,4fr) minmax(260px,3fr);align-items:start;gap:16px;margin-top:16px;display:grid}@media (width<=1100px){.admin-page .tour-group-detail-grid{grid-template-columns:minmax(0,1fr)}}.admin-page .tour-group-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding-top:0;font-size:13px;display:flex}.admin-page .tour-group-pagination-summary,.admin-page .tour-group-pagination-controls{align-items:center;gap:10px;display:inline-flex}.admin-page .tour-group-pagination-controls select{border-radius:6px;height:32px;padding:0 28px 0 10px}.admin-page .tour-group-pagination-page{min-width:58px;color:var(--text);text-align:center}.admin-page .tour-group-status-summary{gap:4px;display:grid}.admin-page .tour-group-status-summary span{color:var(--muted);font-size:12px}.admin-page .tour-group-status-summary strong{font-size:15px}.admin-page .tour-group-status-error{color:#b42318;background:#fffbfa;border:1px solid #fecdca;border-radius:6px;padding:8px 10px;font-size:12px}.admin-page .tour-group-price-list{gap:12px;display:grid}.admin-page .tour-group-price-tabs{margin-bottom:10px}.admin-page .tour-group-price-tab-count{color:#667085;margin-left:auto;font-size:12px}.admin-page .tour-group-price-tier{background:#f7fbff;border-radius:6px;gap:0;display:grid;overflow:hidden}.admin-page .tour-group-price-tier-head{color:#4b5565;background:#e8f1fb;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:0 10px;font-size:12px;display:flex}.admin-page .tour-group-price-tier-head strong{color:#667085;font-weight:600}.admin-page .tour-group-price-rows{background:#f7fbff;padding:0 8px;display:grid}.admin-page .tour-group-price-row{border-top:1px solid #edf1f5;padding:8px 0}.admin-page .tour-group-price-row:first-child{border-top:0}.admin-page .tour-group-price-row-main{color:#344054;justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.admin-page .tour-group-price-row-main span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-page .tour-group-price-row-main strong{color:#101828;flex:none;font-weight:600}.admin-page .tour-group-price-row-meta{color:#667085;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:11px;display:flex}.admin-page th,.admin-page td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf1f5;padding:9px 10px}.admin-page th{color:#4b5565;background:#fafbfd;font-size:12px}.admin-page tr:hover td{background:#fffaf6}.admin-page .kv{border-bottom:1px dashed #e1e8f0;justify-content:space-between;gap:10px;padding:8px 0;display:flex}.admin-page .scheme{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.admin-page .scheme.active{border-color:var(--brand);background:#fffaf6}.admin-page label:not([class*=mantine-]){color:#364152;gap:5px;font-size:12px;display:grid}.admin-page input:not([class*=mantine-]),.admin-page select:not([class*=mantine-]),.admin-page textarea:not([class*=mantine-]){border:1px solid var(--line);min-height:36px;color:var(--text);font:inherit;box-sizing:border-box;background:#fff;border-radius:6px;width:100%;padding:0 10px}.admin-page textarea{resize:vertical;min-height:84px;padding:10px}.admin-page .pill{color:#344054;white-space:nowrap;background:#eef2f6;border-radius:5px;align-items:center;padding:2px 8px;font-size:12px;display:inline-flex}.admin-page .pill.ok{color:var(--ok);background:#e9f7ee}.admin-page .pill.warn{color:var(--warn);background:#fff4e5}.admin-page .pill.bad{color:var(--bad);background:#fff0ee}.admin-page .pill.info{color:var(--blue);background:#eaf2ff}.admin-page .media-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.admin-page .preview-panel{margin-top:14px}.admin-page .mgroup{border-bottom:1px solid #edf1f5;padding:14px 0}.admin-page .mgroup:last-child{border-bottom:0}.admin-page .mgroup-h{align-items:center;gap:8px;margin-bottom:10px;display:flex}.admin-page .mgroup-h b{font-size:14px}.admin-page .mgroup-h .en{color:var(--muted);font-size:12px}.admin-page .cnt{color:#475467;background:#eef2f6;border-radius:5px;padding:1px 7px;font-size:12px}.admin-page .thumbs{flex-wrap:wrap;gap:10px;display:flex}.admin-page .thumb{border:1px solid var(--line);background:#f0f3f7;border-radius:8px;flex:none;width:108px;height:80px;position:relative;overflow:hidden}.admin-page .thumb img{object-fit:cover;width:100%;height:100%;display:block}.admin-page .thumb .del{color:#fff;cursor:pointer;background:#1419239e;border:0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;font-size:12px;line-height:20px;display:grid;position:absolute;top:3px;right:3px}.admin-page .thumb .setp{color:#fff;cursor:pointer;background:#1419239e;border:0;height:0;padding:0;font-size:11px;transition:height .15s;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.admin-page .thumb:hover .setp{height:22px}.admin-page .thumb .mainflag{background:var(--brand);color:#fff;border-radius:4px;padding:1px 6px;font-size:11px;position:absolute;top:3px;left:3px}.admin-page .mgroup-h .file-name{color:var(--muted);border:1px solid var(--line);background:#f5f7fa;border-radius:6px;padding:2px 6px;font-size:12px}.admin-page .btn.mini{min-height:26px;padding:4px 10px;font-size:12px}.admin-page .spot-editor-card{padding:16px}.admin-page .spot-featured-panel{width:fit-content;min-width:160px}.admin-page .spot-featured-checkbox .mantine-Checkbox-body{align-items:center}.admin-page .spot-featured-checkbox .mantine-Checkbox-input,.admin-page .spot-featured-checkbox .mantine-Checkbox-icon{width:18px;height:18px}.admin-page .spot-featured-checkbox .mantine-Checkbox-label{padding-left:8px;font-size:14px;line-height:18px}.admin-page .ticket-options-editor-card{padding:16px}.admin-page .ticket-options-summary-item{border:1px solid var(--mantine-color-gray-3);background:var(--mantine-color-gray-0);border-radius:8px;min-height:58px;padding:10px 12px}.admin-page .ticket-options-help-icon{width:16px;height:16px;color:var(--mantine-color-gray-6);background:var(--mantine-color-gray-2);cursor:help;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;line-height:16px;display:inline-flex}.admin-page .ticket-options-index-col{text-align:center;width:48px;min-width:48px}.admin-page .ticket-options-name-col{width:118px;min-width:118px}.admin-page .ticket-options-key-col{width:16%;min-width:116px}.admin-page .ticket-options-price-col{text-align:center;width:112px;min-width:112px}.admin-page .ticket-options-base-col{text-align:center;white-space:nowrap;width:82px;min-width:82px}.admin-page .ticket-options-base-col .mantine-Checkbox-root{justify-content:center;width:100%;display:flex}.admin-page .ticket-options-person-col{text-align:center;white-space:nowrap;width:92px;min-width:92px}.admin-page .ticket-options-price-col .mantine-Input-wrapper,.admin-page .ticket-options-person-col .mantine-Input-wrapper{margin:0 auto}.admin-page .ticket-options-action-col{width:92px;min-width:92px}.admin-page .ticket-options-compact-table th,.admin-page .ticket-options-compact-table td{padding-top:5px;padding-bottom:5px}.admin-page .ticket-options-compact-input .mantine-Input-input{height:26px;min-height:26px;padding:2px 7px;font-size:12px;line-height:18px}.admin-page .ticket-options-price-col .ticket-options-compact-number .mantine-Input-input,.admin-page .ticket-options-person-col .ticket-options-compact-number .mantine-Input-input{text-align:center}.admin-page .ticket-options-empty{text-align:center;border:1px dashed var(--mantine-color-gray-4);background:var(--mantine-color-gray-0);border-radius:10px;margin:10px 0;padding:22px}.admin-page .spot-table-active-row td{background:#eef6ff}.admin-page .spot-media-thumb-card{cursor:pointer;width:170px;box-shadow:none;background:0 0;flex:none;transition:none;border:0!important;padding:1px!important}.admin-page .spot-media-thumb-card .mantine-Card-section,.admin-page .spot-media-thumb-card .mantine-Image-root,.admin-page .spot-media-thumb-card .mantine-Image-figure,.admin-page .spot-media-thumb-card .mantine-Image-image,.admin-page .spot-media-thumb-card img{box-shadow:none!important;border:0!important;outline:none!important}.admin-page .spot-media-thumb-card .mantine-Image-root,.admin-page .spot-media-thumb-card .mantine-Image-figure{background:0 0!important}.admin-page .spot-media-thumb-card .mantine-Image-image,.admin-page .spot-media-thumb-card img{display:block}.admin-page .spot-media-thumb-card:hover{box-shadow:none}.admin-page .spot-media-thumb-card.active{box-shadow:none;outline:none;transform:none}.admin-page .spot-media-main-badge{position:absolute;top:6px;left:6px}.admin-page .spot-media-thumb-overlay{color:#111827;min-height:30px;text-shadow:none;pointer-events:none;background:0 0;border-radius:0 0 6px 6px;padding:4px 6px;position:absolute;bottom:0;left:0;right:0}.admin-page .spot-media-thumb-overlay .mantine-ActionIcon-root{pointer-events:auto;color:#111827;--ai-bd:0!important;--ai-bg:transparent!important;--ai-hover:transparent!important;background:0 0!important;border:0!important}.admin-page .spot-media-thumb-overlay .mantine-ActionIcon-root[data-variant][style*=red],.admin-page .spot-media-thumb-overlay .mantine-ActionIcon-root[data-variant][title=删除]{color:#d92d20}.admin-page .spot-media-thumb-overlay .mantine-ActionIcon-root[title=设为主图]{color:#111827}.admin-page .spot-media-thumb-overlay .mantine-ActionIcon-root:hover{background:0 0!important}.admin-page .spot-media-preview-empty,.admin-page .spot-media-drop-empty{min-height:180px;color:var(--muted);text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;place-items:center;padding:22px;display:grid}.admin-page .spot-media-section-drop{transition:border-color .16s,background .16s,box-shadow .16s}.admin-page .spot-media-section-drop.drag{border-color:var(--brand);background:#f5faff;box-shadow:inset 0 0 0 2px #157efb1f}.admin-page .spot-media-section-drop.busy{opacity:.78}.admin-page .spot-media-filmstrip{flex-wrap:nowrap;padding:2px 2px 8px;overflow-x:auto}.admin-page .spot-check-row{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px}.admin-page .spot-phone-preview{background:#f8fafc;width:min(360px,100%)}.admin-page .spot-preview-empty{background:#e7edf3;border-radius:12px}.admin-page .uploader{text-align:center;width:108px;height:80px;color:var(--muted);cursor:pointer;box-sizing:border-box;background:#fafbfd;border:1px dashed #c2cedb;border-radius:8px;flex:none;place-items:center;padding:6px;font-size:12px;display:grid}.admin-page .uploader.drag{border-color:var(--brand);color:var(--brand);background:#fff6ef}.admin-page .uploader.busy{border-style:solid;border-color:var(--brand)}.admin-page .uploader small{color:var(--muted);margin-top:3px;display:block}.admin-page .prog{background:#e7edf3;border-radius:3px;width:84%;height:6px;margin-top:6px;overflow:hidden}.admin-page .prog i{background:var(--brand);width:0;height:100%;display:block}.admin-page .phone{background:#fff;border:10px solid #11161f;border-radius:34px;width:300px;margin:0 auto;overflow:hidden;box-shadow:0 8px 24px #1419232e}.admin-page .phone .scr{height:520px;overflow:auto}.admin-page .phone .pbanner{object-fit:cover;background:#e7edf3;width:100%;height:150px;display:block}.admin-page .phone .ptitle{padding:10px 12px 4px;font-size:16px;font-weight:700}.admin-page .phone .psec{color:var(--muted);padding:6px 12px;font-size:12px}.admin-page .phone .prow{gap:6px;padding:0 12px 8px;display:flex;overflow:auto}.admin-page .phone .prow img{object-fit:cover;background:#e7edf3;border-radius:6px;flex:none;width:74px;height:54px}.admin-page .phone .pbig{object-fit:cover;border-radius:8px;width:100%;margin:4px 0;display:block}.admin-page .form-grid label{margin-bottom:10px}.admin-page .switch{width:42px;height:24px;display:inline-block;position:relative}.admin-page .switch input{display:none}.admin-page .switch .sl{background:#cbd5e1;border-radius:24px;transition:all .2s;position:absolute;inset:0}.admin-page .switch .sl:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px}.admin-page .switch input:checked+.sl{background:var(--brand)}.admin-page .switch input:checked+.sl:before{transform:translate(18px)}.admin-page .combo{z-index:20;position:relative}.admin-page .combo:focus-within{z-index:80}.admin-page .combo input{width:100%}.admin-page .combo-list{z-index:90;border:1px solid var(--line);background:#fff;border-radius:6px;max-height:240px;display:none;position:absolute;top:38px;left:0;right:0;overflow:auto;box-shadow:0 8px 24px #1419231f}.admin-page .combo-list.open{display:block}.admin-page .combo-item{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.admin-page .combo-item:hover,.admin-page .combo-item.active{background:#fff6ef}.admin-page .combo-item .code{color:var(--muted);font-size:11px;line-height:1}.admin-page .combo-empty{color:var(--muted);text-align:center;padding:10px;font-size:12px}.admin-page .hint{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.5}.admin-page .meet-row{flex-direction:column;gap:6px;display:flex}.admin-page .field-block{color:#364152;gap:6px;font-size:12px;display:grid}.admin-page .field-title{color:#364152;font-size:12px}.admin-page .meet-tools{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.admin-page .json-toggle{color:#344054;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex:none;min-height:30px;padding:0 10px;font-size:12px}.admin-page .json-toggle:hover,.admin-page .json-toggle.active{border-color:var(--brand);color:var(--brand);background:#fff8f1}.admin-page .highlight-row td{background:#fff8f1}.admin-page .compact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-page .compact-form .wide{grid-column:1/-1}.admin-page .faq-editor,.admin-page .refund-rule-editor{gap:10px;margin-top:10px;display:grid}.admin-page .faq-row{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;grid-template-columns:minmax(160px,1fr) minmax(240px,2fr) 76px auto auto;align-items:start;gap:8px;padding:10px;display:grid}.admin-page .faq-row textarea{min-height:44px}.admin-page .refund-rule-row{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;grid-template-columns:150px 88px 96px 96px minmax(160px,1fr) auto auto;align-items:center;gap:8px;margin-top:8px;padding:10px;display:grid}.admin-page .inline-check{white-space:nowrap;grid-auto-flow:column;align-items:center;gap:6px;min-height:36px;display:inline-flex}.admin-page .inline-check input{width:auto;min-height:auto}.admin-page .score-summary{grid-template-columns:repeat(2,minmax(110px,1fr));gap:10px;padding:14px;display:grid}.admin-page .score-summary>div{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;padding:10px}.admin-page .score-summary span{color:var(--muted);font-size:12px;display:block}.admin-page .score-summary strong{margin-top:4px;font-size:24px;display:block}.admin-page .score-bucket{justify-content:space-between;gap:10px;display:flex}.admin-page .empty{color:var(--muted);text-align:center;padding:24px}.exception-list{gap:12px;padding:14px;display:grid}.exception-item{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.exception-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exception-head span:last-child,.exception-item p{color:var(--muted)}.exception-item p{margin:0;line-height:1.6}.exception-media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.exception-media-grid a{color:inherit;gap:6px;text-decoration:none;display:grid}.exception-media-grid img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:#f5f7fa;border-radius:6px;width:100%}.exception-media-grid span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.ops-page .stats,.ops-page .grid{gap:12px;margin-bottom:14px;display:grid}.ops-page .stats.four,.ops-page .grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-page .stats.five{grid-template-columns:repeat(5,minmax(0,1fr))}.ops-page .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-page .stat{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px 14px}.ops-page .stat span{color:var(--muted);font-size:12px;display:block}.ops-page .stat strong{margin-top:4px;font-size:24px;display:block}.ops-page .filters{gap:10px;margin-bottom:14px;display:grid}.ops-page .filters.four{grid-template-columns:minmax(220px,1fr) 160px 160px auto}.ops-page .finance-filters{grid-template-columns:minmax(240px,1.5fr) 170px 130px 120px 150px 150px auto auto}.ops-page .filters input,.ops-page .filters select,.ops-page .form-grid input,.ops-page .form-grid select,.ops-page .form-grid textarea,.drawer input,.drawer select,.drawer textarea{border:1px solid var(--line);min-height:36px;font:inherit;background:#fff;border-radius:6px;padding:0 10px}.ops-page .form-grid textarea,.drawer textarea{min-height:72px;padding:8px 10px}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{border-bottom:1px solid var(--line);height:38px;color:var(--muted);text-align:left;white-space:nowrap;background:#f8fafc;padding:8px 10px;font-weight:700}.data-table td{vertical-align:middle;border-bottom:1px solid #edf1f5;padding:10px}.data-table td span,.data-table small{color:var(--muted);font-size:12px}.finance-table td:nth-child(6) span{margin-bottom:2px;display:block}.pager{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:10px 0 0;font-size:12px;display:flex}.pager>div{align-items:center;gap:8px;display:flex}.alert.error{color:#b42318;background:#fffbfa;border:1px solid #fda29b;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.alert.success{color:#027a48;background:#f6fef9;border:1px solid #a6f4c5;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.btn.primary{border-color:var(--brand);background:var(--brand);color:#fff}.btn.sm{min-height:28px;padding:4px 8px;font-size:12px;text-decoration:none}.drawer{z-index:1200;border-left:1px solid var(--line);background:#fff;width:min(520px,100vw - 24px);height:100vh;padding:16px;position:fixed;top:0;right:0;overflow:auto;box-shadow:-18px 0 38px #0f172a2e}.wide-drawer{width:min(720px,100vw - 24px)}.drawer-head,.drawer-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.drawer-actions{justify-content:flex-end;margin-top:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid label,.drawer label{color:#364152;gap:6px;font-size:13px;display:grid}.form-grid .wide,.drawer .wide{grid-column:1/-1}.kv-list{gap:10px;padding:14px;display:grid}.kv-list>div{border-bottom:1px solid #edf1f5;justify-content:space-between;gap:10px;padding-bottom:8px;display:flex}.kv-list span{color:var(--muted)}.candidate-list{gap:8px;display:grid}.candidate-row{border:1px solid var(--line);background:#fafbfd;border-radius:8px;grid-template-columns:auto minmax(90px,1fr) 88px 70px 72px minmax(120px,1.2fr);align-items:center;gap:10px;padding:10px;display:grid}.candidate-row input{min-height:auto}.staff-dispatch-page .dispatch-filters{grid-template-columns:minmax(260px,1fr) 160px 160px auto}.staff-dispatch-page .dispatch-table td:first-child{min-width:220px}.staff-dispatch-page .dispatch-table td:nth-child(2),.staff-dispatch-page .dispatch-table td:nth-child(3),.staff-dispatch-page .dispatch-table td:nth-child(4){min-width:126px}.dispatch-drawer .drawer-head{align-items:flex-start}.dispatch-drawer .drawer-head small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.candidate-filter-bar{z-index:1;border-bottom:1px solid var(--line);background:#fff;grid-template-columns:minmax(220px,1fr) 120px 130px 120px;gap:8px;margin:0 -16px 12px;padding:12px 16px;display:grid;position:sticky;top:-16px}.candidate-filter-bar input,.candidate-filter-bar select{border:1px solid var(--line);min-height:34px;font:inherit;background:#fff;border-radius:6px;padding:0 9px}.rich-candidate-list{max-height:calc(100vh - 210px);padding-right:2px;overflow:auto}.candidate-row.rich{grid-template-columns:auto minmax(120px,1.1fr) 78px minmax(140px,1.2fr) 116px minmax(110px,.8fr)}.candidate-row.rich.selected{border-color:var(--brand);background:#fff8f1}.candidate-row.rich>div{min-width:0}.candidate-row.rich b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.candidate-row.rich small,.candidate-row.rich span{color:var(--muted);font-size:12px;display:block}.candidate-row.rich .pill{margin-right:6px;display:inline-flex}.dispatch-role-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.dispatch-role-slot{border:1px solid var(--line);min-height:82px;color:var(--text);text-align:left;cursor:pointer;background:#f8fafc;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.dispatch-role-slot.active{border-color:var(--brand);background:#fff8f1;box-shadow:inset 0 0 0 1px #f570261f}.dispatch-role-slot.filled{background:#f4fbf8}.dispatch-role-slot span{color:var(--brand);font-size:12px;font-weight:700}.dispatch-role-slot strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dispatch-role-slot small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.portrait-filter-bar{grid-template-columns:minmax(220px,1fr) 130px 130px}.portrait-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:calc(100vh - 300px);padding-right:2px;display:grid;overflow:auto}.portrait-card{border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.portrait-card:hover{background:#fbfdff;border-color:#b7c6d8}.portrait-card.selected{border-color:var(--brand);background:#fff8f1}.portrait-card.disabled{opacity:.62;cursor:not-allowed}.portrait-card-head{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.portrait-avatar{color:#fff;background:linear-gradient(135deg,#0f766e,#2563eb);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.portrait-card-head strong,.portrait-card p,.portrait-card small{text-overflow:ellipsis;overflow:hidden}.portrait-card-head strong{white-space:nowrap;display:block}.portrait-card-head small,.portrait-card>small{color:var(--muted);font-size:12px;display:block}.portrait-card-tags{flex-wrap:wrap;gap:6px;display:flex}.portrait-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.portrait-card-metrics span{color:var(--muted);background:#f3f6f9;border-radius:6px;padding:7px 8px;font-size:12px}.portrait-card-metrics b{color:var(--text)}.portrait-card p{color:var(--text);white-space:nowrap;margin:0;font-size:13px}.stock-bar{background:#e7edf3;border-radius:999px;width:220px;max-width:100%;height:8px;margin-bottom:6px;display:flex;overflow:hidden}.stock-bar i{height:100%;display:block}.stock-bar .ok{background:var(--ok)}.stock-bar .info{background:var(--blue)}.stock-bar .bad{background:var(--bad)}@media (width<=960px){.ops-page .stats.five,.ops-page .stats.four,.ops-page .grid.four,.ops-page .grid.two,.ops-page .finance-filters,.ops-page .filters.four,.staff-dispatch-page .dispatch-filters,.candidate-filter-bar,.dispatch-role-slots,.portrait-candidate-grid,.candidate-row.rich,.form-grid,.candidate-row{grid-template-columns:1fr}}.admin-page .empty.compact,.admin-page .error-banner.compact,.admin-page .save-banner.compact{margin-top:10px;padding:10px 12px}.admin-page .mgm-summary{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.admin-page .mgm-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-page .mgm-config-panel{gap:10px;display:grid}.admin-page .mgm-config{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;padding:4px 12px}.admin-page .mgm-section-title{color:var(--muted);padding:8px 0 2px;font-size:12px;font-weight:700}.admin-page .mgm-config .kv span{overflow-wrap:anywhere;min-width:0}.admin-page .mgm-config strong{color:var(--text)}.admin-page .mgm-form{background:#fff;border:1px solid #edf1f5;border-radius:8px;gap:10px;padding:12px;display:grid}.admin-page .mgm-switch-row{grid-template-columns:minmax(80px,1fr) auto auto;align-items:center;gap:10px;min-height:32px;display:grid}.admin-page .mgm-switch-row strong{font-size:13px}.admin-page .mgm-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.admin-page .mgm-stats{grid-template-columns:repeat(5,minmax(96px,1fr));gap:10px;display:grid}.admin-page .mgm-stats .stat{padding:12px}.admin-page .mgm-stats .stat strong{font-size:22px}.admin-page .error-banner,.admin-page .save-banner,.admin-page .loading-line{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:14px;padding:12px 14px}.admin-page .error-banner{color:var(--bad);background:#fff7f6;border-color:#ffd2cc}.admin-page .save-banner{color:var(--ok);background:#f0fdf4;border-color:#abefc6}.admin-page .loading-line{color:var(--muted)}.admin-page .spot-workbench{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.admin-page .spot-list-panel,.admin-page .spot-editor-panel{min-height:calc(100vh - 150px);overflow:visible}.admin-page .spot-list-body{gap:12px;display:grid}.admin-page .spot-list-filters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-page .spot-list-filters>input{grid-column:1/-1}.admin-page .spot-list-filters .filter-combo{min-width:0}.admin-page .spot-list{gap:8px;max-height:calc(100vh - 330px);padding-right:2px;display:grid;overflow:auto}.admin-page .spot-row{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:8px;width:100%;padding:10px 12px}.admin-page .spot-row:hover,.admin-page .spot-row.active{border-color:var(--brand);background:#fff8f1}.admin-page .spot-row-main,.admin-page .spot-row-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-page .spot-row-main strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.admin-page .spot-row-meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;margin-top:7px;font-size:12px}.admin-page .editor-head{align-items:center}.admin-page .editor-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-page .editor-status-actions{flex-wrap:wrap;gap:8px;margin-left:4px;display:flex}.admin-page .btn.danger{color:#b42318;background:#fff5f5;border-color:#fecdca}.admin-page .btn.danger:hover:not(:disabled){background:#fee4e2}.admin-page .editor-tabs{border-bottom:1px solid var(--line);background:#fafbfd;gap:4px;padding:10px 14px 0;display:flex;overflow:auto}.admin-page .editor-tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px}.admin-page .editor-tabs button.active{border-bottom-color:var(--brand);color:var(--text);font-weight:700}.admin-page .spot-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-page .spot-form-grid label{margin-bottom:0}.admin-page .spot-form-grid .wide{grid-column:1/-1}.admin-page .cost-page{min-width:0}.admin-page .cost-layout{grid-template-columns:minmax(0,1fr) minmax(360px,420px);align-items:start;gap:14px;display:grid}.admin-page .cost-main,.admin-page .cost-side{gap:14px;min-width:0;display:grid}.admin-page .cost-section{min-height:0}.admin-page .cost-filters{background:#fafbfd;border-bottom:1px solid #edf1f5;grid-template-columns:minmax(220px,1fr) 150px 150px auto;align-items:end;gap:10px;padding:12px 14px;display:grid}.admin-page .cost-filter-actions{justify-content:flex-end;gap:8px;display:flex}.admin-page .cost-table th,.admin-page .cost-table td{white-space:nowrap}.admin-page .cost-table td:first-child,.admin-page .cost-table td:nth-child(2){min-width:150px}.admin-page .cost-table td:last-child{text-align:right}.admin-page .cost-table td:last-child .btn{margin-left:6px}.admin-page .cost-trial-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.admin-page .cost-trial-form .wide,.admin-page .cost-form-grid .wide{grid-column:1/-1}.admin-page .cost-result{gap:12px;padding:14px;display:grid}.admin-page .cost-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-page .cost-result-grid>div,.admin-page .cost-breakdown,.admin-page .cost-risk{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;padding:10px 12px}.admin-page .cost-result-grid span,.admin-page .cost-breakdown span{color:var(--muted);font-size:12px;display:block}.admin-page .cost-result-grid b{color:var(--text);margin-top:3px;font-size:18px;display:block}.admin-page .cost-breakdown,.admin-page .cost-risk{gap:8px;display:grid}.admin-page .cost-breakdown>div{border-top:1px dashed #e1e8f0;justify-content:space-between;gap:12px;padding-top:8px;display:flex}.admin-page .cost-risk p{color:#475467;font-size:13px;line-height:1.6}.admin-page .cost-risk b{color:var(--text);margin-left:4px}.admin-page .cost-drawer-backdrop{z-index:1190;background:#0f172a47;position:fixed;inset:0}.admin-page .cost-drawer{z-index:1200}.admin-page .cost-drawer .form-grid{padding:16px}.admin-page .error-banner.compact{justify-content:space-between;align-items:center;gap:12px;display:flex}.ops-page .stat small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.shell{grid-template-columns:256px minmax(0,1fr)}.shell.shell--sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{border-right:1px solid #ffffff14}.brand{height:72px;padding-inline:20px}.brand span{border-radius:12px}.group-nav{gap:18px;padding:20px 14px 28px}.nav-group{gap:3px}.nav-group-title{letter-spacing:.14em;min-height:24px;padding-inline:10px;font-size:9px}nav button{border-radius:10px;min-height:40px;font-size:12px}nav button>span:first-child{width:22px;color:inherit;place-items:center;font-size:15px;font-weight:800;display:inline-grid}nav button>span:first-child .ft-icon{place-items:center;display:inline-grid}nav button.active{box-shadow:inset 0 0 0 1px #15181414}.shell--sidebar-collapsed .brand{padding:0}.shell--sidebar-collapsed .group-nav{padding:20px 16px 28px}.shell--sidebar-collapsed .nav-group{gap:8px}.shell--sidebar-collapsed .nav-group+.nav-group{border-top:1px solid #ffffff17;margin-top:12px;padding-top:12px}.shell--sidebar-collapsed .group-nav button{border-radius:11px;flex:0 0 40px;width:40px;height:40px;min-height:40px}.shell--sidebar-collapsed .group-nav button>span:first-child{width:40px;font-size:17px}.shell>main .topbar{z-index:30;background:#ffffffeb;gap:14px;height:72px;padding-inline:20px;position:sticky;top:0}.sidebar{flex-direction:column;display:flex}.sidebar-release-version{text-align:center;margin-top:auto;padding:12px 22px 18px}.shell--sidebar-collapsed .sidebar-release-version{display:none}.topbar .sidebar-toggle{color:#4c574c;border-color:#dfe4db;border-radius:10px;flex-basis:36px;width:36px;min-width:36px;height:36px;min-height:36px;margin-left:0;font-size:14px;font-weight:400}.topbar .sidebar-toggle .ft-icon{line-height:1;display:block}.topbar .sidebar-toggle:hover{color:#36460f;background:#f6f9ed;border-color:#b8c98b}.topbar .topbar-action,.topbar .topbar-logout{border-radius:999px;gap:7px;font-weight:700;transition:background .18s,border-color .18s,color .18s}.topbar .topbar-action{color:#53604d;background:#fff;border-color:#dce3d6}.topbar .topbar-action:hover{color:#36460f;background:#f6f9ed;border-color:#b8c98b}.topbar .topbar-logout{color:#a04942;background:#fff8f7;border-color:#f0d4d0}.topbar .topbar-logout:hover{color:#8d3731;background:#fff0ee;border-color:#ddaaa4}.topbar-path{font-size:13px}.adminName{border-left:1px solid #e4e8e1;padding-left:14px}@media (width<=1180px){.admin-page .cost-layout,.admin-page .cost-filters{grid-template-columns:1fr}.admin-page .cost-filter-actions{justify-content:flex-start}}.admin-page .status-toggle-row{align-items:center;gap:8px;min-height:36px;display:flex}.admin-page .status-toggle-row .seg{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:6px;padding:7px 14px}.admin-page .status-toggle-row .seg.active{color:#067647;background:#ecfdf3;border-color:#abefc6;font-weight:700}.admin-page .status-toggle-row .seg.active.danger{color:#b42318;background:#fff5f5;border-color:#fecdca}.admin-page .media-rule{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin:-4px 0 10px;font-size:12px;display:flex}.admin-page .dim-ok{color:var(--ok)}.admin-page .dim-bad{color:var(--bad)}.admin-page .media-lock{color:#9a4b00;background:#fff8f1;border:1px dashed #f2b36d;border-radius:8px;padding:10px 12px;font-size:13px}.admin-page .uploader.disabled{cursor:not-allowed;opacity:.58}.admin-page .publish-grid{gap:16px;display:grid}.admin-page .publish-state{color:var(--muted);align-items:center;gap:10px;display:flex}.admin-page .publish-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-page .publish-check-list{gap:8px;max-width:620px;display:grid}.admin-page .publish-check-item{border:1px solid var(--line);color:#364152;background:#fff;border-radius:6px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:34px;padding:7px 10px;font-size:13px;display:grid}.admin-page .publish-check-item b{color:var(--muted);font-size:12px;font-weight:600}.admin-page .home-visibility-panel{background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;max-width:760px;padding:12px}.admin-page .visibility-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-page .visibility-head b{color:var(--text);font-size:14px;display:block}.admin-page .visibility-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.admin-page .visibility-meta span{align-items:center;gap:6px;display:inline-flex}.admin-page .check-dot{background:#cbd5e1;border-radius:50%;width:8px;height:8px}.admin-page .check-dot.ok{background:var(--ok)}.admin-page .check-dot.bad{background:var(--bad)}.admin-page .preview-wrap{place-items:start center;display:grid}.modal-backdrop{z-index:100;background:#00000059;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:min(420px,90vw);padding:20px}.modal h3{margin:0 0 14px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.selection-modal{width:min(520px,92vw);padding:0;overflow:hidden;box-shadow:0 8px 32px #0003}.selection-modal-head{border-bottom:1px solid var(--line);padding:16px 20px;font-size:16px;font-weight:700}.selection-modal-body{gap:12px;padding:14px 16px;display:grid}.selection-field{gap:6px;display:grid}.selection-field select{border:1px solid var(--line);min-height:34px;font:inherit;background:#fff;border-radius:6px;padding:0 8px}.selection-modal-note{color:var(--muted);font-size:12px}.selection-modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.ticket-type-selection-modal .selection-modal-head,.ticket-type-selection-modal .selection-modal-actions{border:0}.role-picker-modal{width:min(460px,92vw)}.role-picker-list{max-height:min(420px,70vh);overflow:auto}.rolePickerItem{border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.rolePickerItem:hover{background:#f8fafc;border-color:#c8d7e7}.rolePickerItem.selected{border-color:var(--brand);color:var(--brand);background:#edf5ff}.rolePickerItem span{gap:2px;min-width:0;display:grid}.rolePickerItem strong,.rolePickerItem small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rolePickerItem small{color:var(--muted);font-size:12px}.ft-icon{color:currentColor;text-align:center;flex:none;justify-content:center;align-items:center;font-style:normal;line-height:1;display:inline-flex}.ft-icon.fa-solid{font-family:"Font Awesome 6 Free";font-weight:900}.admin-page .tour-group-cost-tree{gap:0;display:grid}.admin-page .tour-group-cost-tree-node{color:#344054;font-size:13px;font-weight:700;line-height:24px}.admin-page .tour-group-cost-tree-leaf{color:#475467;grid-template-columns:minmax(0,1fr) max-content minmax(112px,128px);align-items:center;gap:10px;min-height:30px;font-size:12px;display:grid}.admin-page .tour-group-cost-tree-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-page .tour-group-cost-tree-cost{color:#667085;text-align:right}.admin-page .tour-group-cost-tree-price{color:#667085;grid-template-columns:max-content 72px;justify-content:end;align-items:center;gap:4px;min-width:0;margin:0;display:grid}.admin-page .tour-group-cost-tree-number,.admin-page .tour-group-cost-tree-number .mantine-Input-wrapper{min-width:0}.admin-page .tour-group-cost-tree-number .mantine-Input-input{text-align:right;min-width:0;height:26px;min-height:26px;padding:2px 7px;font-size:12px;line-height:18px}@media (width<=1240px){.admin-page .tour-group-cost-tree-leaf{grid-template-columns:minmax(0,1fr) 112px;row-gap:4px}.admin-page .tour-group-cost-tree-cost{text-align:left;grid-column:1}.admin-page .tour-group-cost-tree-price{grid-area:1/2/span 2}}@media (width<=820px){.admin-page .tour-group-cost-tree-leaf{grid-template-columns:minmax(0,1fr)}.admin-page .tour-group-cost-tree-cost,.admin-page .tour-group-cost-tree-price{grid-area:auto/1}.admin-page .tour-group-cost-tree-price{justify-content:start;max-width:112px}}@media (width<=1100px){.admin-page .spot-workbench{grid-template-columns:1fr}.admin-page .spot-list-panel,.admin-page .spot-editor-panel{min-height:auto}.admin-page .spot-list{max-height:none}.admin-page .spot-form-grid,.admin-page .media-grid,.admin-page .mgm-summary{grid-template-columns:1fr}.admin-page .mgm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page .mgm-form-grid{grid-template-columns:1fr}.admin-page .filters{grid-template-columns:1fr 1fr}.admin-page .user-role-layout,.admin-page .admin-form,.admin-page .grid.two,.admin-page .grid.three,.admin-page .grid.four,.admin-page .faq-row,.admin-page .refund-rule-row,.admin-page .compact-form{grid-template-columns:1fr}}
