:root{--page-bg:#F6F7F9;--paper:#FFFFFF;--card:#FFFFFF;--card-elevated:#FFFFFF;--card-soft:#FBFCFD;--ink:#1F2937;--ink-pure:#000000;--ink-secondary:#374151;--muted:#6B7280;--text-ghost:#9CA3AF;--text-main:#1F2937;--text-sub:#6B7280;--accent:#17618F;--sea-500:#2A7FB5;--sea-600:#17618F;--ferry-icon-bg:rgba(6,182,212,0.15);--accent-strong:#0D3A5F;--accent-soft:rgba(23,97,143,0.10);--accent-line:rgba(23,97,143,0.35);--accent-glow:rgba(23,97,143,0.20);--link:#0D3A5F;--ok:#10B981;--warn:#F59E0B;--danger:#EF4444;--info:#17618F;--info-soft:rgba(23,97,143,0.10);--color-success:#10B981;--color-warning:#F59E0B;--color-danger:#EF4444;--ok-soft:rgba(16,185,129,0.10);--warn-soft:rgba(245,158,11,0.12);--danger-soft:rgba(239,68,68,0.10);--hairline:rgba(31,41,55,0.08);--border:#E5E7EB;--border-light:#EEF0F3;--card-border:var(--border);--glass-bg:rgba(255,255,255,0.72);--glass-border:rgba(31,41,55,0.08);--glass-inner:#F3F4F6;--glass-wht-20:rgba(255,255,255,.20);--glass-strong:#FFFFFF;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:17px;--fs-xl:20px;--fs-3xl:26px;--fs-4xl:32px;--fs-hero:48px;--fs-30:15px;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--radius:10px;--radius-full:999px;--shadow-sm:0 1px 2px rgba(31,41,55,0.06);--shadow-md:0 2px 8px rgba(31,41,55,0.07);--shadow-lg:0 8px 24px rgba(31,41,55,0.10);--shadow-card:0 1px 4px rgba(31,41,55,0.06);--shadow-float:0 12px 32px rgba(31,41,55,0.14);--shadow-pop:0 8px 24px rgba(31,41,55,0.16);--header-h:48px;--tabbar-h:56px;--font:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;--motion-fast:150ms;--motion-normal:250ms;--motion-slow:350ms;--cat-photo:#8B5CF6;--cat-video:#3B82F6;--cat-review:#10B981;--cat-tourism:#F59E0B;--cat-other:#6B7280;--industry-dining:#FF6B35;--industry-bnb:#34C759;--industry-fishing:#2A7FB5;--industry-tourism:#AF52DE;--industry-seafood:#0891B2;--industry-retail:#6B7280;--sand-500:#F5A623;--sand-soft:rgba(245,166,35,0.12);--sand-glow:rgba(245,166,35,0.40);--sand-glow-line:rgba(245,166,35,0.25);--sand-grad:linear-gradient(135deg,#F5A623,#FBBF24);--chart-1:#3B82F6;--chart-2:#10B981;--chart-3:#F59E0B;--chart-4:#8B5CF6;--chart-5:#EC4899;--ticket-gold:#D4C5A0;--ticket-ink:#1E293B;--ticket-gold-line:rgba(212,197,160,0.30);--inv-blue-gray:#5A6F8A;--inv-line:#C0CCDD;--primary:#3B82F6}:root{--color-sky:#7CB8F7;--color-white:#FFFFFF;--color-info:#3B82F6;--color-purple:#8B5CF6;--accent-light:#DBEAFE;--accent-soft-2:rgba(59,130,246,0.08);--brand:#3B82F6;--brand-dark:#2563EB;--brand-light:#60A5FA;--primary-deep:#2563EB;--bg:#F6F7F9;--bg-card:#FFFFFF;--bg-primary:#FFFFFF;--bg-soft:#F3F4F6;--card-bg:#FFFFFF;--input-bg:#FFFFFF;--input-border:#E5E7EB;--border-sub:#EEF0F3;--line:#E5E7EB;--ink-2:#374151;--ink-3:#6B7280;--ink-soft:#9CA3AF;--text:#1F2937;--text-primary:#1F2937;--text-secondary:#6B7280;--text-dim:#9CA3AF;--text-muted:#9CA3AF;--info-deep:#1D4ED8;--info-line:rgba(59,130,246,0.3);--amber:#F59E0B;--warm:#F59E0B;--warm-deep:#D97706;--warning:#F59E0B;--red:#EF4444;--green:#10B981;--cyan:#06B6D4;--purple:#8B5CF6;--purple-soft:rgba(139,92,246,0.12);--blue:#3B82F6;--success:#10B981;--panel:#FFFFFF;--meal:#FF6B35;--off:#F3F4F6;--peak:#3B82F6;--fs-10:10px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-16:16px;--fs-17:17px;--fs-18:18px;--fs-20:20px;--fs-22:22px;--fs-24:24px;--fs-28:28px;--fs-36:36px;--fs-3xl:26px;--ease:cubic-bezier(0.25,0.1,0.15,1);--ease-press:cubic-bezier(0.4,0,0.2,1);--press-scale:0.97;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--h-savebar:56px;--sp-5:20px;--sp-6:24px;--space-6:24px;--shadow-1:0 1px 2px rgba(31,41,55,0.06);--shadow-2:0 2px 8px rgba(31,41,55,0.07)}:root{--sea:var(--industry-fishing);--sea-soft:rgba(42,127,181,0.10);--sea-line:rgba(42,127,181,0.32);--sea-ink:#22648E;--sun:var(--warm-deep);--sun-soft:rgba(217,119,6,0.10);--leaf:#059669;--leaf-soft:rgba(5,150,105,0.10);--coral:#DC2626;--coral-soft:rgba(220,38,38,0.10);--ghost:var(--text-ghost);--ink2:var(--ink-secondary);--sky:#0284C7;--sky-soft:rgba(2,132,199,0.10);--blue-soft:var(--accent-soft);--gray:var(--muted);--gray-soft:rgba(107,114,128,0.10);--shadow-float-up:0 -1px 8px rgba(31,41,55,0.10);--c-sun:#D97706;--c-sun-soft:rgba(217,119,6,.10);--c-sun-grad:linear-gradient(135deg,#F59E0B 0%,#D97706 100%);--c-violet:#8B5CF6;--c-violet-soft:rgba(139,92,246,.10);--c-violet-grad:linear-gradient(135deg,#A78BFA 0%,#7C3AED 100%);--c-sky:#0284C7;--c-sky-soft:rgba(2,132,199,.10);--c-sky-grad:linear-gradient(135deg,#38BDF8 0%,#0284C7 100%);--c-danger:#DC2626;--c-danger-soft:rgba(220,38,38,.10);--c-danger-grad:linear-gradient(135deg,#F87171 0%,#DC2626 100%);--c-accent:#3B82F6;--c-accent-soft:rgba(59,130,246,.10);--c-accent-grad:linear-gradient(135deg,#60A5FA 0%,#2563EB 100%);--c-orange:#EA580C;--c-orange-soft:rgba(234,88,12,.10);--c-orange-grad:linear-gradient(135deg,#FF6B35 0%,#EA580C 100%);--c-indigo:#4F46E5;--c-indigo-soft:rgba(79,70,229,.10);--c-indigo-grad:linear-gradient(135deg,#818CF8 0%,#4F46E5 100%);--c-ocean:#0369A1;--c-ocean-soft:rgba(3,105,161,.10);--c-ocean-grad:linear-gradient(135deg,#0EA5E9 0%,#0369A1 100%);--c-jade:#047857;--c-jade-soft:rgba(4,120,87,.10);--c-jade-grad:linear-gradient(135deg,#34D399 0%,#047857 100%);--c-lime:#65A30D;--c-lime-soft:rgba(101,163,13,.10);--c-lime-grad:linear-gradient(135deg,#A3E635 0%,#65A30D 100%);--c-fishery:var(--industry-fishing);--c-fishery-soft:rgba(42,127,181,.10);--c-fishery-grad:linear-gradient(135deg,#38BDF8 0%,#2A7FB5 100%);--c-dining:var(--industry-dining);--c-dining-soft:rgba(255,107,53,.10);--c-dining-grad:linear-gradient(135deg,#FB923C 0%,#FF6B35 100%);--c-homestay:var(--industry-bnb);--c-homestay-soft:rgba(52,199,89,.10);--c-homestay-grad:linear-gradient(135deg,#86EFAC 0%,#34C759 100%);--c-fleet:#4338CA;--c-fleet-soft:rgba(67,56,202,.10);--c-fleet-grad:linear-gradient(135deg,#818CF8 0%,#4338CA 100%);--c-retail:var(--industry-retail);--c-retail-soft:rgba(107,114,128,.10);--c-retail-grad:linear-gradient(135deg,#9CA3AF 0%,#6B7280 100%);--c-ticketing:var(--industry-tourism);--c-ticketing-soft:rgba(175,82,222,.10);--c-ticketing-grad:linear-gradient(135deg,#D8B4FE 0%,#AF52DE 100%);--c-distributor:#BE123C;--c-distributor-soft:rgba(190,18,60,.10);--c-distributor-grad:linear-gradient(135deg,#FB7185 0%,#BE123C 100%);--c-legacy-0097a7:#0097a7;--c-legacy-0097a7-soft:rgba(0,151,167,.10);--c-legacy-0b3d66:#0b3d66;--c-legacy-0b3d66-soft:rgba(11,61,102,.10);--c-legacy-0b6fff:#0b6fff;--c-legacy-0b6fff-soft:rgba(11,111,255,.10);--c-legacy-0e7490:#0e7490;--c-legacy-0e7490-soft:rgba(14,116,144,.10);--c-legacy-0e8f6c:#0e8f6c;--c-legacy-0e8f6c-soft:rgba(14,143,108,.10);--c-legacy-134e7e:#134e7e;--c-legacy-134e7e-soft:rgba(19,78,126,.10);--c-legacy-14b8a6:#14b8a6;--c-legacy-14b8a6-soft:rgba(20,184,166,.10);--c-legacy-155e75:#155e75;--c-legacy-155e75-soft:rgba(21,94,117,.10);--c-legacy-1565c0:#1565c0;--c-legacy-1565c0-soft:rgba(21,101,192,.10);--c-legacy-1c232b:#1c232b;--c-legacy-1c232b-soft:rgba(28,35,43,.10);--c-legacy-1e3a8a:#1e3a8a;--c-legacy-1e3a8a-soft:rgba(30,58,138,.10);--c-legacy-1e88e5:#1e88e5;--c-legacy-1e88e5-soft:rgba(30,136,229,.10);--c-legacy-1f6feb:#1f6feb;--c-legacy-1f6feb-soft:rgba(31,111,235,.10);--c-legacy-22d3ee:#22d3ee;--c-legacy-22d3ee-soft:rgba(34,211,238,.10);--c-legacy-2e4154:#2e4154;--c-legacy-2e4154-soft:rgba(46,65,84,.10);--c-legacy-3730a3:#3730a3;--c-legacy-3730a3-soft:rgba(55,48,163,.10);--c-legacy-3a91c8:#3a91c8;--c-legacy-3a91c8-soft:rgba(58,145,200,.10);--c-legacy-455a64:#455a64;--c-legacy-455a64-soft:rgba(69,90,100,.10);--c-legacy-4ade80:#4ade80;--c-legacy-4ade80-soft:rgba(74,222,128,.10);--c-legacy-4da5d8:#4da5d8;--c-legacy-4da5d8-soft:rgba(77,165,216,.10);--c-legacy-4dd0e1:#4dd0e1;--c-legacy-4dd0e1-soft:rgba(77,208,225,.10);--c-legacy-4f8ef7:#4f8ef7;--c-legacy-4f8ef7-soft:rgba(79,142,247,.10);--c-legacy-546e7a:#546e7a;--c-legacy-546e7a-soft:rgba(84,110,122,.10);--c-legacy-64748b:#64748b;--c-legacy-64748b-soft:rgba(100,116,139,.10);--c-legacy-6b7686:#6b7686;--c-legacy-6b7686-soft:rgba(107,118,134,.10);--c-legacy-6d28d9:#6d28d9;--c-legacy-6d28d9-soft:rgba(109,40,217,.10);--c-legacy-6ee7b7:#6ee7b7;--c-legacy-6ee7b7-soft:rgba(110,231,183,.10);--c-legacy-713f12:#713f12;--c-legacy-713f12-soft:rgba(113,63,18,.10);--c-legacy-78350f:#78350f;--c-legacy-78350f-soft:rgba(120,53,15,.10);--c-legacy-78909c:#78909c;--c-legacy-78909c-soft:rgba(120,144,156,.10);--c-legacy-7b4fd1:#7b4fd1;--c-legacy-7b4fd1-soft:rgba(123,79,209,.10);--c-legacy-7f1d1d:#7f1d1d;--c-legacy-7f1d1d-soft:rgba(127,29,29,.10);--c-legacy-818cf8:#818cf8;--c-legacy-818cf8-soft:rgba(129,140,248,.10);--c-legacy-84cc16:#84cc16;--c-legacy-84cc16-soft:rgba(132,204,22,.10);--c-legacy-86efac:#86efac;--c-legacy-86efac-soft:rgba(134,239,172,.10);--c-legacy-90a4ae:#90a4ae;--c-legacy-90a4ae-soft:rgba(144,164,174,.10);--c-legacy-9333ea:#9333ea;--c-legacy-9333ea-soft:rgba(147,51,234,.10);--c-legacy-93c5fd:#93c5fd;--c-legacy-93c5fd-soft:rgba(147,197,253,.10);--c-legacy-94a3b8:#94a3b8;--c-legacy-94a3b8-soft:rgba(148,163,184,.10);--c-legacy-99f6e4:#99f6e4;--c-legacy-99f6e4-soft:rgba(153,246,228,.10);--c-legacy-9a3412:#9a3412;--c-legacy-9a3412-soft:rgba(154,52,18,.10);--c-legacy-9aa3af:#9aa3af;--c-legacy-9aa3af-soft:rgba(154,163,175,.10);--c-legacy-9d174d:#9d174d;--c-legacy-9d174d-soft:rgba(157,23,77,.10);--c-legacy-a16207:#a16207;--c-legacy-a16207-soft:rgba(161,98,7,.10);--c-legacy-a855f7:#a855f7;--c-legacy-a855f7-soft:rgba(168,85,247,.10);--c-legacy-abc123:#abc123;--c-legacy-abc123-soft:rgba(171,193,35,.10);--c-legacy-af7aa5:#af7aa5;--c-legacy-af7aa5-soft:rgba(175,122,165,.10);--c-legacy-b22a2a:#b22a2a;--c-legacy-b22a2a-soft:rgba(178,42,42,.10);--c-legacy-b91c1c:#b91c1c;--c-legacy-b91c1c-soft:rgba(185,28,28,.10);--c-legacy-bae6fd:#bae6fd;--c-legacy-bae6fd-soft:rgba(186,230,253,.10);--c-legacy-be185d:#be185d;--c-legacy-be185d-soft:rgba(190,24,93,.10);--c-legacy-bfdbfe:#bfdbfe;--c-legacy-bfdbfe-soft:rgba(191,219,254,.10);--c-legacy-c084fc:#c084fc;--c-legacy-c084fc-soft:rgba(192,132,252,.10);--c-legacy-c2410c:#c2410c;--c-legacy-c2410c-soft:rgba(194,65,12,.10);--c-legacy-c5620b:#c5620b;--c-legacy-c5620b-soft:rgba(197,98,11,.10);--c-legacy-c62828:#c62828;--c-legacy-c62828-soft:rgba(198,40,40,.10);--c-legacy-c77700:#c77700;--c-legacy-c77700-soft:rgba(199,119,0,.10);--c-legacy-ccfbf1:#ccfbf1;--c-legacy-ccfbf1-soft:rgba(204,251,241,.10);--c-legacy-cffafe:#cffafe;--c-legacy-cffafe-soft:rgba(207,250,254,.10);--c-legacy-d9f99d:#d9f99d;--c-legacy-d9f99d-soft:rgba(217,249,157,.10);--c-legacy-e0f2fe:#e0f2fe;--c-legacy-e0f2fe-soft:rgba(224,242,254,.10);--c-legacy-e11d48:#e11d48;--c-legacy-e11d48-soft:rgba(225,29,72,.10);--c-legacy-e2e8f0:#e2e8f0;--c-legacy-e2e8f0-soft:rgba(226,232,240,.10);--c-legacy-e8833a:#e8833a;--c-legacy-e8833a-soft:rgba(232,131,58,.10);--c-legacy-e8b34b:#e8b34b;--c-legacy-e8b34b-soft:rgba(232,179,75,.10);--c-legacy-e8ddaf:#e8ddaf;--c-legacy-e8ddaf-soft:rgba(232,221,175,.10);--c-legacy-e9d5ff:#e9d5ff;--c-legacy-e9d5ff-soft:rgba(233,213,255,.10);--c-legacy-ecfeff:#ecfeff;--c-legacy-ecfeff-soft:rgba(236,254,255,.10);--c-legacy-edf0f4:#edf0f4;--c-legacy-edf0f4-soft:rgba(237,240,244,.10);--c-legacy-eef2f7:#eef2f7;--c-legacy-eef2f7-soft:rgba(238,242,247,.10);--c-legacy-eef3ff:#eef3ff;--c-legacy-eef3ff-soft:rgba(238,243,255,.10);--c-legacy-f0fdfa:#f0fdfa;--c-legacy-f0fdfa-soft:rgba(240,253,250,.10);--c-legacy-f1f5f9:#f1f5f9;--c-legacy-f1f5f9-soft:rgba(241,245,249,.10);--c-legacy-f3c6bf:#f3c6bf;--c-legacy-f3c6bf-soft:rgba(243,198,191,.10);--c-legacy-f3e8ff:#f3e8ff;--c-legacy-f3e8ff-soft:rgba(243,232,255,.10);--c-legacy-f472b6:#f472b6;--c-legacy-f472b6-soft:rgba(244,114,182,.10);--c-legacy-f57c00:#f57c00;--c-legacy-f57c00-soft:rgba(245,124,0,.10);--c-legacy-f5f3ff:#f5f3ff;--c-legacy-f5f3ff-soft:rgba(245,243,255,.10);--c-legacy-f5f6fa:#f5f6fa;--c-legacy-f5f6fa-soft:rgba(245,246,250,.10);--c-legacy-f7f1dd:#f7f1dd;--c-legacy-f7f1dd-soft:rgba(247,241,221,.10);--c-legacy-f87171:#f87171;--c-legacy-f87171-soft:rgba(248,113,113,.10);--c-legacy-f8fafc:#f8fafc;--c-legacy-f8fafc-soft:rgba(248,250,252,.10);--c-legacy-f9fafb:#f9fafb;--c-legacy-f9fafb-soft:rgba(249,250,251,.10);--c-legacy-faf5ff:#faf5ff;--c-legacy-faf5ff-soft:rgba(250,245,255,.10);--c-legacy-fafbfc:#fafbfc;--c-legacy-fafbfc-soft:rgba(250,251,252,.10);--c-legacy-fb7185:#fb7185;--c-legacy-fb7185-soft:rgba(251,113,133,.10);--c-legacy-fb923c:#fb923c;--c-legacy-fb923c-soft:rgba(251,146,60,.10);--c-legacy-fbbf24:#fbbf24;--c-legacy-fbbf24-soft:rgba(251,191,36,.10);--c-legacy-fbcfe8:#fbcfe8;--c-legacy-fbcfe8-soft:rgba(251,207,232,.10);--c-legacy-fcd34d:#fcd34d;--c-legacy-fcd34d-soft:rgba(252,211,77,.10);--c-legacy-fce7f3:#fce7f3;--c-legacy-fce7f3-soft:rgba(252,231,243,.10);--c-legacy-fdf2f8:#fdf2f8;--c-legacy-fdf2f8-soft:rgba(253,242,248,.10);--c-legacy-fecdd3:#fecdd3;--c-legacy-fecdd3-soft:rgba(254,205,211,.10);--c-legacy-fed7aa:#fed7aa;--c-legacy-fed7aa-soft:rgba(254,215,170,.10);--c-legacy-ffb74d:#ffb74d;--c-legacy-ffb74d-soft:rgba(255,183,77,.10);--c-legacy-ffe082:#ffe082;--c-legacy-ffe082-soft:rgba(255,224,130,.10);--c-legacy-ffe4e6:#ffe4e6;--c-legacy-ffe4e6-soft:rgba(255,228,230,.10);--c-legacy-ffedd5:#ffedd5;--c-legacy-ffedd5-soft:rgba(255,237,213,.10);--c-admin-bg-deep:#1A1A2E;--c-admin-bg-mid:#16213E;--c-teal-dark:#0F766E}:root{--c-blue:#2563EB;--c-blue-soft:rgba(37,99,235,.10);--c-cyan:#0891B2;--c-cyan-soft:rgba(8,145,178,.10);--c-leaf:#10B981;--c-leaf-soft:rgba(16,185,129,.10);--c-amber:#D97706;--c-amber-soft:rgba(217,119,6,.10);--c-coral:#DC2626;--c-coral-soft:rgba(220,38,38,.10);--c-purple:#7C3AED;--c-purple-soft:rgba(124,58,237,.10);--c-gray:#6B7280;--c-gray-soft:rgba(107,114,128,.10);--c-sand:#F5A623;--c-sand-soft:rgba(245,166,35,.12);--c-meal:#EA580C;--c-meal-soft:rgba(234,88,12,.10);--c-pink:#EC4899;--c-pink-soft:rgba(236,72,153,.10);--c-sun:#D97706;--c-sun-soft:rgba(217,119,6,.10);--c-violet:#8B5CF6;--c-violet-soft:rgba(139,92,246,.10);--c-sky:#0284C7;--c-sky-soft:rgba(2,132,199,.10);--c-danger:#DC2626;--c-danger-soft:rgba(220,38,38,.10);--c-accent:#3B82F6;--c-accent-soft:rgba(59,130,246,.10);--c-orange:#EA580C;--c-orange-soft:rgba(234,88,12,.10);--c-indigo:#4F46E5;--c-indigo-soft:rgba(79,70,229,.10);--c-ocean:#0369A1;--c-ocean-soft:rgba(3,105,161,.10);--c-jade:#047857;--c-jade-soft:rgba(4,120,87,.10);--c-lime:#65A30D;--c-lime-soft:rgba(101,163,13,.10);--c-fishery:#2A7FB5;--c-fishery-soft:rgba(42,127,181,.10);--c-dining:#FF6B35;--c-dining-soft:rgba(255,107,53,.10);--c-homestay:#34C759;--c-homestay-soft:rgba(52,199,89,.10);--c-fleet:#4338CA;--c-fleet-soft:rgba(67,56,202,.10);--c-retail:#6B7280;--c-retail-soft:rgba(107,114,128,.10);--c-ticketing:#AF52DE;--c-ticketing-soft:rgba(175,82,222,.10);--c-distributor:#BE123C;--c-distributor-soft:rgba(190,18,60,.10);--c-blue-grad:linear-gradient(135deg,#3B82F6 0%,#2563EB 100%);--c-cyan-grad:linear-gradient(135deg,#06B6D4 0%,#0891B2 100%);--c-leaf-grad:linear-gradient(135deg,#34D399 0%,#10B981 100%);--c-amber-grad:linear-gradient(135deg,#F59E0B 0%,#D97706 100%);--c-coral-grad:linear-gradient(135deg,#F87171 0%,#DC2626 100%);--c-purple-grad:linear-gradient(135deg,#A78BFA 0%,#7C3AED 100%);--c-gray-grad:linear-gradient(135deg,#9CA3AF 0%,#6B7280 100%);--c-sand-grad:linear-gradient(135deg,#FBBF24 0%,#F5A623 100%);--c-meal-grad:linear-gradient(135deg,#FF6B35 0%,#EA580C 100%);--c-pink-grad:linear-gradient(135deg,#F472B6 0%,#EC4899 100%);--c-sun-grad:linear-gradient(135deg,#F59E0B 0%,#D97706 100%);--c-violet-grad:linear-gradient(135deg,#A78BFA 0%,#7C3AED 100%);--c-sky-grad:linear-gradient(135deg,#38BDF8 0%,#0284C7 100%);--c-danger-grad:linear-gradient(135deg,#F87171 0%,#DC2626 100%);--c-accent-grad:linear-gradient(135deg,#60A5FA 0%,#2563EB 100%);--c-orange-grad:linear-gradient(135deg,#FF6B35 0%,#EA580C 100%);--c-indigo-grad:linear-gradient(135deg,#818CF8 0%,#4F46E5 100%);--c-ocean-grad:linear-gradient(135deg,#0EA5E9 0%,#0369A1 100%);--c-jade-grad:linear-gradient(135deg,#34D399 0%,#047857 100%);--c-lime-grad:linear-gradient(135deg,#A3E635 0%,#65A30D 100%);--c-fishery-grad:linear-gradient(135deg,#38BDF8 0%,#2A7FB5 100%);--c-dining-grad:linear-gradient(135deg,#FB923C 0%,#FF6B35 100%);--c-homestay-grad:linear-gradient(135deg,#86EFAC 0%,#34C759 100%);--c-fleet-grad:linear-gradient(135deg,#818CF8 0%,#4338CA 100%);--c-retail-grad:linear-gradient(135deg,#9CA3AF 0%,#6B7280 100%);--c-ticketing-grad:linear-gradient(135deg,#D8B4FE 0%,#AF52DE 100%);--c-distributor-grad:linear-gradient(135deg,#FB7185 0%,#BE123C 100%);--ic:var(--c-blue);--ic-soft:var(--c-blue-soft);--ic-grad:var(--c-blue-grad);--ic-sh:rgba(37,99,235,.28)}[data-c=blue]{--ic:var(--c-blue);--ic-soft:var(--c-blue-soft);--ic-grad:var(--c-blue-grad);--ic-sh:rgba(37,99,235,.28)}[data-c=cyan]{--ic:var(--c-cyan);--ic-soft:var(--c-cyan-soft);--ic-grad:var(--c-cyan-grad);--ic-sh:rgba(8,145,178,.28)}[data-c=leaf]{--ic:var(--c-leaf);--ic-soft:var(--c-leaf-soft);--ic-grad:var(--c-leaf-grad);--ic-sh:rgba(16,185,129,.28)}[data-c=amber]{--ic:var(--c-amber);--ic-soft:var(--c-amber-soft);--ic-grad:var(--c-amber-grad);--ic-sh:rgba(217,119,6,.28)}[data-c=coral]{--ic:var(--c-coral);--ic-soft:var(--c-coral-soft);--ic-grad:var(--c-coral-grad);--ic-sh:rgba(220,38,38,.28)}[data-c=purple]{--ic:var(--c-purple);--ic-soft:var(--c-purple-soft);--ic-grad:var(--c-purple-grad);--ic-sh:rgba(124,58,237,.28)}[data-c=gray]{--ic:var(--c-gray);--ic-soft:var(--c-gray-soft);--ic-grad:var(--c-gray-grad);--ic-sh:rgba(107,114,128,.28)}[data-c=sand]{--ic:var(--c-sand);--ic-soft:var(--c-sand-soft);--ic-grad:var(--c-sand-grad);--ic-sh:rgba(245,166,35,.28)}[data-c=meal]{--ic:var(--c-meal);--ic-soft:var(--c-meal-soft);--ic-grad:var(--c-meal-grad);--ic-sh:rgba(234,88,12,.28)}[data-c=pink]{--ic:var(--c-pink);--ic-soft:var(--c-pink-soft);--ic-grad:var(--c-pink-grad);--ic-sh:rgba(236,72,153,.28)}[data-c=sun]{--ic:var(--c-sun);--ic-soft:var(--c-sun-soft);--ic-grad:var(--c-sun-grad);--ic-sh:rgba(217,119,6,.28)}[data-c=violet]{--ic:var(--c-violet);--ic-soft:var(--c-violet-soft);--ic-grad:var(--c-violet-grad);--ic-sh:rgba(124,58,237,.28)}[data-c=sky]{--ic:var(--c-sky);--ic-soft:var(--c-sky-soft);--ic-grad:var(--c-sky-grad);--ic-sh:rgba(2,132,199,.28)}[data-c=danger]{--ic:var(--c-danger);--ic-soft:var(--c-danger-soft);--ic-grad:var(--c-danger-grad);--ic-sh:rgba(220,38,38,.28)}[data-c=accent]{--ic:var(--c-accent);--ic-soft:var(--c-accent-soft);--ic-grad:var(--c-accent-grad);--ic-sh:rgba(37,99,235,.28)}[data-c=orange]{--ic:var(--c-orange);--ic-soft:var(--c-orange-soft);--ic-grad:var(--c-orange-grad);--ic-sh:rgba(234,88,12,.28)}[data-c=indigo]{--ic:var(--c-indigo);--ic-soft:var(--c-indigo-soft);--ic-grad:var(--c-indigo-grad);--ic-sh:rgba(79,70,229,.28)}[data-c=ocean]{--ic:var(--c-ocean);--ic-soft:var(--c-ocean-soft);--ic-grad:var(--c-ocean-grad);--ic-sh:rgba(3,105,161,.28)}[data-c=jade]{--ic:var(--c-jade);--ic-soft:var(--c-jade-soft);--ic-grad:var(--c-jade-grad);--ic-sh:rgba(4,120,87,.28)}[data-c=lime]{--ic:var(--c-lime);--ic-soft:var(--c-lime-soft);--ic-grad:var(--c-lime-grad);--ic-sh:rgba(101,163,13,.28)}[data-c=fishery]{--ic:var(--c-fishery);--ic-soft:var(--c-fishery-soft);--ic-grad:var(--c-fishery-grad);--ic-sh:rgba(42,127,181,.28)}[data-c=dining]{--ic:var(--c-dining);--ic-soft:var(--c-dining-soft);--ic-grad:var(--c-dining-grad);--ic-sh:rgba(255,107,53,.28)}[data-c=homestay]{--ic:var(--c-homestay);--ic-soft:var(--c-homestay-soft);--ic-grad:var(--c-homestay-grad);--ic-sh:rgba(52,199,89,.28)}[data-c=fleet]{--ic:var(--c-fleet);--ic-soft:var(--c-fleet-soft);--ic-grad:var(--c-fleet-grad);--ic-sh:rgba(67,56,202,.28)}[data-c=retail]{--ic:var(--c-retail);--ic-soft:var(--c-retail-soft);--ic-grad:var(--c-retail-grad);--ic-sh:rgba(107,114,128,.28)}[data-c=ticketing]{--ic:var(--c-ticketing);--ic-soft:var(--c-ticketing-soft);--ic-grad:var(--c-ticketing-grad);--ic-sh:rgba(175,82,222,.28)}[data-c=distributor]{--ic:var(--c-distributor);--ic-soft:var(--c-distributor-soft);--ic-grad:var(--c-distributor-grad);--ic-sh:rgba(190,18,60,.28)}.ui-page{min-height:100vh;display:flex;flex-direction:column;background:var(--page-bg)}.ui-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.ui-scroll::-webkit-scrollbar{width:0}.ui-scroll.has-tabbar{padding-bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom,0px))}.ui-header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--border-light);padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px;min-height:var(--header-h)}.ui-header .ui-back{width:30px;height:30px;border-radius:9px;background:var(--page-bg);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--ink);cursor:pointer;flex-shrink:0;transition:background var(--motion-fast)}.ui-header .ui-back:active{background:var(--border-light)}.ui-header .ui-title{font-size:var(--fs-lg);font-weight:700;color:var(--ink);flex:1;letter-spacing:.5px}.ui-header .ui-sub{font-size:var(--fs-sm);color:var(--muted);margin-top:1px}.ui-header .ui-actions{display:flex;align-items:center;gap:8px}.ui-header .ui-header-user{font-size:var(--fs-sm);font-weight:600;color:var(--ic,var(--c-blue));background:var(--ic-soft,var(--c-blue-soft));padding:3px 10px;border-radius:999px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;cursor:default}.ui-tabbar{position:fixed;bottom:0;left:0;right:0;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--paper);border-top:1px solid var(--border-light);display:grid;grid-template-columns:repeat(4,1fr);z-index:20;box-shadow:0 -1px 12px rgba(31,41,55,.08)}.ui-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;position:relative;transition:all .18s;background:none;border:none}.ui-tab:active{background:var(--page-bg)}.ui-tab .ui-tab-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center}.ui-tab .ui-tab-icon svg{width:22px;height:22px;stroke:var(--muted);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:all .18s}.ui-tab .ui-tab-label{font-size:10px;color:var(--muted);transition:all .18s}.ui-tab.is-on .ui-tab-icon svg{stroke:var(--ic,var(--c-blue))}.ui-tab.is-on .ui-tab-label{color:var(--ic,var(--c-blue));font-weight:600}.ui-tab.is-fab{position:relative}.ui-fab{width:46px;height:46px;border-radius:50%;background:var(--ic-grad,var(--c-blue-grad));display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px var(--ic-sh,rgba(37,99,235,.42));margin-top:-16px;border:3px solid var(--paper);transition:transform .15s}.ui-fab svg{width:22px;height:22px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.ui-tab.is-fab .ui-tab-label{margin-top:3px}.ui-tab.is-fab:active .ui-fab{transform:scale(.94)}.ui-hero{position:relative;overflow:hidden;background:var(--ic-grad,var(--c-blue-grad));border-radius:var(--radius-lg);padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));color:#fff;box-shadow:0 8px 24px var(--ic-sh,rgba(37,99,235,.20))}.ui-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.18),transparent 55%);pointer-events:none}.ui-hero>*{position:relative}.ui-hero-row{display:flex;align-items:center;gap:12px}.ui-hero-avatar{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.ui-hero-name{font-size:18px;font-weight:700}.ui-hero-sub{font-size:12px;opacity:.85;margin-top:2px}.ui-hero-stats{display:flex;align-items:flex-end;justify-content:space-between;margin-top:14px}.ui-hero-bal{font-size:11px;opacity:.85}.ui-hero-num{font-size:26px;font-weight:700;font-family:var(--font-mono);display:block;margin-top:2px;letter-spacing:-.5px}.ui-hero-btn{font-size:12px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.22);font-weight:600;cursor:pointer;border:none;color:#fff}.ui-hero-btn:active{transform:scale(.97)}.ui-hero-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px}.ui-hero-stat{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:0 4px}.ui-hero-stat+.ui-hero-stat::before{content:'';position:absolute;left:0;top:3px;bottom:3px;width:1px;background:rgba(255,255,255,.20)}.ui-hero-stat__num{font-size:22px;font-weight:700;font-family:var(--font-mono);line-height:1.15;letter-spacing:-.3px}.ui-hero-stat__label{font-size:11px;opacity:.85;margin-top:3px}.ui-section{margin:16px 16px 8px}.ui-section-title{font-size:12px;font-weight:700;color:var(--ghost);display:flex;align-items:center;gap:6px;margin-bottom:8px;letter-spacing:.5px}.ui-section-title::before{content:'';width:3px;height:12px;border-radius:2px;background:var(--ic,var(--c-blue))}.ui-section-title .ui-section-count{margin-left:auto;font-size:10px;color:var(--ghost);font-weight:500}.ui-card{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.ui-card-pad{padding:14px 16px}.ui-card+ .ui-card{margin-top:10px}.ui-entry{display:flex;align-items:center;gap:11px;padding:13px 12px 13px 11px;border-bottom:1px solid var(--border-light);cursor:pointer;position:relative;transition:background var(--motion-fast);text-decoration:none}.ui-entry:last-child{border-bottom:none}.ui-entry:active{background:var(--page-bg)}.ui-entry .ui-entry-bar{width:3px;height:24px;border-radius:2px;background:var(--ic);flex-shrink:0}.ui-entry .ui-entry-text{flex:1;min-width:0}.ui-entry .ui-entry-title{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.3px}.ui-entry .ui-entry-sub{font-size:11px;color:var(--muted);margin-top:2px}.ui-entry .ui-entry-arrow{color:var(--text-ghost);font-size:15px;font-weight:300}.ui-entry .ui-entry-tag{font-size:10px;font-weight:700;background:var(--ic-soft);color:var(--ic);padding:3px 9px;border-radius:999px;font-family:var(--font-mono)}.ui-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0 16px}.ui-grid-3{grid-template-columns:repeat(3,1fr)}.ui-grid-4{grid-template-columns:repeat(4,1fr)}.ui-grid-entry{position:relative;overflow:hidden;background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:15px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;transition:transform var(--motion-fast);text-decoration:none}.ui-grid-entry:active{transform:scale(var(--press-scale))}.ui-grid-entry::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--ic)}.ui-grid-label{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.5px}.ui-grid-sub{font-size:9px;color:var(--text-ghost)}.ui-list{margin:0 16px}.ui-list-item{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:14px 16px;margin-bottom:8px;cursor:pointer;transition:transform var(--motion-fast)}.ui-list-item:active{transform:scale(.99)}.ui-li-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.ui-li-title{font-size:15px;font-weight:600;color:var(--ink)}.ui-li-sub{font-size:12px;color:var(--muted);margin-top:2px}.ui-li-meta{display:flex;gap:12px;margin-top:6px;font-size:12px;color:var(--muted)}.ui-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 16px 12px}.ui-stat-cell{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:14px 8px;text-align:center}.ui-stat-num{font-size:26px;font-weight:700;color:var(--ic,var(--c-blue));font-family:var(--font-mono);line-height:1.2}.ui-stat-num.dim{color:var(--text-ghost)}.ui-stat-num.amber{color:var(--c-amber)}.ui-stat-num.coral{color:var(--c-coral)}.ui-stat-label{font-size:11px;color:var(--muted);margin-top:3px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;cursor:pointer;border:none;transition:transform var(--motion-fast),opacity var(--motion-fast);text-decoration:none}.ui-btn:active{transform:scale(var(--press-scale))}.ui-btn-primary{background:var(--ic-grad,var(--c-blue-grad));color:#fff;box-shadow:0 4px 12px var(--ic-sh,rgba(37,99,235,.28))}.ui-btn-ghost{background:var(--ic-soft,var(--c-blue-soft));color:var(--ic,var(--c-blue))}.ui-btn-danger{background:var(--c-coral);color:#fff}.ui-btn-sand{background:var(--c-sand);color:#fff}.ui-btn-block{display:flex;width:100%}.ui-label{display:block;font-size:13px;font-weight:600;color:var(--ink-secondary);margin-bottom:6px}.ui-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;color:var(--ink);background:var(--paper);transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.ui-input:focus{outline:none;border-color:var(--ic,var(--c-blue));box-shadow:0 0 0 3px var(--ic-soft,var(--c-blue-soft))}.ui-input::placeholder{color:var(--text-ghost)}.ui-switch{width:42px;height:24px;border-radius:999px;background:var(--border);position:relative;cursor:pointer;transition:background var(--motion-fast);flex-shrink:0;border:none;display:inline-block}.ui-switch::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform var(--motion-fast)}.ui-switch.is-on{background:var(--ic,var(--c-blue))}.ui-switch.is-on::after{transform:translateX(18px)}.ui-modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.52);z-index:50;display:flex;align-items:flex-end;justify-content:center}.ui-modal{background:var(--paper);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;max-height:88vh;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));animation:ui-modal-up var(--motion-normal) var(--ease-press)}@keyframes ui-modal-up{from{transform:translateY(100%)}to{transform:translateY(0)}}.ui-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ui-modal-title{font-size:17px;font-weight:700;color:var(--ink)}.ui-modal-close{width:30px;height:30px;border-radius:9px;background:var(--page-bg);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--muted);cursor:pointer;border:none}.ui-toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%) translateY(8px);background:var(--ink);color:#fff;font-size:13px;padding:8px 16px;border-radius:var(--radius-pill);opacity:0;pointer-events:none;transition:all var(--motion-normal) var(--ease-press);white-space:nowrap;z-index:60}.ui-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:var(--text-ghost);font-size:13px}.ui-empty-num{font-size:40px;font-weight:700;color:var(--border);font-family:var(--font-mono);margin-bottom:10px;line-height:1}.ui-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px}.ui-badge.ok{background:var(--c-leaf-soft);color:var(--c-leaf)}.ui-badge.warn{background:var(--c-amber-soft);color:var(--c-amber)}.ui-badge.coral{background:var(--c-coral-soft);color:var(--c-coral)}.ui-tag{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--ic-soft);color:var(--ic)}.ui-panel-title{font-size:14px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;margin:18px 16px 10px;letter-spacing:.3px}.ui-panel-title::before{content:'';width:3px;height:15px;border-radius:2px;background:var(--ic,var(--c-blue));flex-shrink:0}.ui-panel-sub{font-size:11px;color:var(--text-ghost);font-weight:400;margin:2px 16px 10px;line-height:1.5}.ui-block-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 16px 12px}.ui-block{position:relative;background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:14px 14px;cursor:pointer;transition:transform var(--motion-fast);overflow:hidden}.ui-block::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ic,var(--c-blue))}.ui-block:active{transform:scale(var(--press-scale))}.ui-block-name{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:.3px}.ui-block-desc{font-size:11px;color:var(--text-ghost);margin-top:2px;line-height:1.4}.ui-block-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-ghost);font-size:16px;font-weight:300}.ui-block-val{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;color:var(--ic,var(--c-blue));font-family:var(--font-mono)}.ui-ai-bar{display:flex;align-items:center;gap:8px;margin:14px 16px 0;padding:8px 12px;background:var(--ic-soft,var(--c-blue-soft));border-radius:var(--radius-md);font-size:11px;color:var(--muted)}.ui-ai-bar .ui-ai-tag{font-weight:700;color:var(--ic,var(--c-blue));font-size:10px;padding:1px 6px;background:var(--paper);border-radius:4px;flex-shrink:0}.ui-todo{margin:-8px 16px 12px;padding:14px 16px;background:linear-gradient(135deg,var(--ic-soft,var(--c-blue-soft)),rgba(220,38,38,.06));border:1px solid var(--ic,var(--c-blue));border-radius:var(--radius-lg);display:flex;align-items:center;gap:10px;cursor:pointer;transition:transform var(--motion-fast)}.ui-todo:active{transform:scale(.98)}.ui-todo-dot{width:8px;height:8px;border-radius:50%;background:var(--c-coral);flex-shrink:0;animation:ui-todo-pulse 1.2s infinite}@keyframes ui-todo-pulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.5)}50%{box-shadow:0 0 0 8px rgba(220,38,38,0)}}.ui-todo-text{flex:1;font-size:14px;font-weight:600;color:var(--ink)}.ui-todo-text b{color:var(--c-coral);font-size:18px;font-family:var(--font-mono);margin-right:2px}.ui-todo-arrow{font-size:13px;font-weight:600;color:var(--ic,var(--c-blue));white-space:nowrap}.ui-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px}.ui-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.ui-status.ok{color:var(--c-leaf);background:var(--c-leaf-soft)}.ui-status.warn{color:var(--c-amber);background:var(--c-amber-soft)}.ui-status.danger{color:var(--c-coral);background:var(--c-coral-soft)}.ui-status.info{color:var(--ic,var(--c-blue));background:var(--ic-soft,var(--c-blue-soft))}.ui-status.muted{color:var(--c-gray);background:var(--c-gray-soft)}