:root{--bg:#fff8f1;--panel:rgba(255,252,247,0.84);--ink:#322524;--muted:#705f5c;--coral:#e67b66;--latte:#b88d63;--sky:#dceeff;--mint:#d9ede2;--butter:#ffe6b2;--line:rgba(80,54,45,0.08);--warn:#fff0d6;--warn-ink:#9a5d34}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top left,rgba(255,208,187,.7),transparent 35%),radial-gradient(circle at 90% 10%,rgba(216,239,252,.7),transparent 25%),linear-gradient(180deg,#fff9f4,#fff5ef);color:var(--ink);font-family:Trebuchet MS,Noto Sans TC,sans-serif}a{color:inherit;text-decoration:none}.page-shell{max-width:1180px;margin:0 auto;padding:32px 20px 80px}.admin-card,.grid-card,.hero-panel{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:28px;box-shadow:0 18px 40px rgba(192,123,94,.09)}.hero-panel{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:24px;gap:24px;padding:28px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--muted)}.hero-title{font-size:clamp(42px,8vw,80px);line-height:.95;margin:12px 0 16px}.hero-copy{max-width:640px;font-size:18px;line-height:1.7;color:var(--muted)}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:999px;font-weight:700}.button-primary{background:var(--coral);color:white}.button-secondary{background:white;border:1px solid var(--line)}.baby-stage{min-height:320px;border-radius:28px;background:linear-gradient(180deg,#fffaf7,#ffefe4);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.baby-bubble{position:absolute;top:18px;left:18px;right:18px;background:white;border-radius:22px;padding:14px 16px;color:var(--ink)}.baby-figure{width:220px;height:220px;border-radius:48% 52% 44% 56%/45% 45% 55% 55%;background:radial-gradient(circle at 40% 30%,#ffd9cb 0,#ffc7b2 40%,#ffb699 100%);display:grid;place-items:center;font-size:32px;font-weight:700}.section-grid{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.admin-card,.grid-card{padding:20px}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid rgba(120,97,75,.16);border-radius:16px;background:rgba(255,253,249,.95);padding:12px 14px;color:var(--ink)}textarea{resize:vertical}.admin-card h3,.grid-card h3{margin:8px 0 6px;font-size:22px}.admin-card p,.grid-card p,.list li{color:var(--muted);line-height:1.6}.list{padding-left:18px}.admin-layout{display:grid;grid-template-columns:280px 1fr;grid-gap:18px;gap:18px}.ops-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.ops-kpi-card{background:linear-gradient(180deg,rgba(255,252,247,.96),rgba(255,245,232,.92));border:1px solid rgba(120,97,75,.1);border-radius:24px;padding:18px;box-shadow:0 10px 30px rgba(184,141,99,.08)}.ops-kpi-value{font-size:40px;line-height:1;font-weight:900;color:var(--ink);margin:10px 0 6px}.ops-kpi-label{color:var(--muted);font-size:14px}.warning-card{background:linear-gradient(180deg,rgba(255,247,232,.96),rgba(255,239,214,.92));border:1px solid rgba(184,141,99,.18);border-radius:24px;padding:18px}.warning-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:var(--warn);color:var(--warn-ink);padding:8px 12px;font-weight:700;font-size:13px}.soft-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(120,97,75,.16),transparent);margin:12px 0}.chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:18px}.chart-card{background:linear-gradient(180deg,rgba(255,252,247,.98),rgba(255,247,238,.94));border:1px solid rgba(120,97,75,.1);border-radius:26px;padding:18px;position:relative}.chart-list{display:grid;grid-gap:10px;gap:10px}.chart-row{display:grid;grid-gap:6px;gap:6px}.chart-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.chart-bar-track{width:100%;height:10px;border-radius:999px;background:rgba(120,97,75,.08);overflow:hidden}.chart-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e4bc92,#c98e62)}.chart-tooltip{position:absolute;top:18px;right:18px;background:rgba(50,37,36,.92);color:#fff;border-radius:16px;padding:10px 12px;min-width:160px;box-shadow:0 12px 30px rgba(20,8,6,.24);z-index:2}.legend-toggle{border:1px solid rgba(120,97,75,.12);background:rgba(255,249,239,.9);color:var(--muted);border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer}.legend-toggle-active{background:var(--ink);color:#fff;border-color:var(--ink)}.admin-sidebar{padding:20px}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:900px){.admin-layout,.chart-grid,.hero-panel,.ops-kpi-grid,.section-grid,.stat-row{grid-template-columns:1fr}}.site-footer{margin-top:48px;padding:32px 0 24px;border-top:1px solid #f0ddd4}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.footer-brand .footer-logo{font-size:18px;font-weight:700;color:#4a4040}.footer-brand .footer-logo span{color:#e8907f}.footer-tagline{font-size:12px;color:#9b8a8a;margin-top:4px}.footer-stores-label{font-size:11px;color:#9b8a8a;font-weight:600;letter-spacing:.4px;text-transform:uppercase;margin-bottom:8px}.footer-stores-row{display:flex;gap:10px;flex-wrap:wrap}.store-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:10px;background:#1a1a1a;color:#fff;text-decoration:none;font-family:inherit;position:relative;transition:transform .15s,box-shadow .15s}.store-badge:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.18)}.store-badge-disabled{opacity:.65;cursor:not-allowed}.store-badge-disabled:hover{transform:none;box-shadow:none}.store-badge-icon{display:flex;align-items:center;justify-content:center;color:#fff}.store-badge-eyebrow{font-size:9px;letter-spacing:.3px;opacity:.85;text-transform:uppercase;line-height:1}.store-badge-wordmark{font-size:16px;font-weight:600;line-height:1.2;margin-top:2px}.store-badge-pending{position:absolute;top:-8px;right:-8px;background:#e8907f;color:#fff;font-size:9px;font-weight:700;padding:3px 6px;border-radius:6px;letter-spacing:.3px}.footer-meta{margin-top:24px;font-size:11px;color:#9b8a8a;text-align:center}