.modal-overlay[data-v-2a0376fc]{z-index:200;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-2a0376fc]{background:#fff;border-radius:12px;width:90%;max-width:400px;padding:24px;box-shadow:0 8px 32px #0003}.shop-list[data-v-2a0376fc]{max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.shop-list li[data-v-2a0376fc]{border-bottom:1px solid var(--border,#e8e4df);justify-content:space-between;align-items:center;padding:10px 12px;font-size:.95rem;display:flex}.shop-list li[data-v-2a0376fc]:last-child{border-bottom:none}.btn-icon[data-v-2a0376fc]{cursor:pointer;color:#999;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1rem}.btn-icon[data-v-2a0376fc]:hover{color:#d32f2f;background:#f5f5f5}.shop-manage-btn[data-v-2a0376fc]{cursor:pointer;color:#fff9;background:0 0;border:1px solid #fff3;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;display:flex}.shop-manage-btn[data-v-2a0376fc]:hover{color:#fff;border-color:var(--accent)}.shop-manage-btn-mobile[data-v-2a0376fc]{cursor:pointer;color:#666;background:0 0;border:none;padding:4px;font-size:1rem}:root{--bg:#fafaf8;--fg:#1a1a1a;--muted:#f5f3f0;--muted-fg:#6b6b6b;--accent:#b8860b;--accent-light:#d4a84b;--accent-fg:#fff;--border:#e8e4df;--card:#fff;--sidebar-w:220px;--mobile-nav-h:60px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--fg);font-family:"Source Sans 3",system-ui,sans-serif;line-height:1.75}h1,h2,h3,h4{font-family:Playfair Display,Georgia,serif;line-height:1.2}.small-caps{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:500}.btn{cursor:pointer;border:none;border-radius:6px;min-width:44px;min-height:44px;padding:10px 20px;font-family:inherit;font-size:.9rem;transition:all .2s ease-out;display:inline-block}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-light)}.btn-secondary{border:1px solid var(--fg);color:var(--fg);background:0 0}.btn-secondary:hover{background:var(--muted);border-color:var(--accent);color:var(--accent)}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:24px;transition:box-shadow .2s;box-shadow:0 1px 2px #1a1a1a0a}.card:hover{box-shadow:0 4px 12px #1a1a1a0f}.card-featured{border-top:2px solid var(--accent)}.input{border:1px solid var(--border);background:0 0;border-radius:6px;outline:none;width:100%;min-width:0;height:44px;padding:0 12px;font-family:inherit;font-size:.9rem;transition:border-color .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #b8860b33}select.input{padding-right:32px}.rule{border:none;border-top:1px solid var(--border);margin:32px 0}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:.9rem}th{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-fg);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:500}.sidebar{width:var(--sidebar-w);color:#fff;z-index:100;background:#1a1a1a;flex-direction:column;padding:32px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:0 24px 24px}.sidebar .logo{font-family:Playfair Display,serif;font-size:1.3rem}.shop-select{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;outline:none;width:100%;margin-top:12px;padding:6px 8px;font-family:inherit;font-size:.8rem}.shop-select option{color:#fff;background:#1a1a1a}.sidebar nav{flex:1;overflow-y:auto}.sidebar nav a{color:#ffffffb3;border-left:3px solid #0000;align-items:center;min-height:44px;padding:12px 24px;font-size:.9rem;text-decoration:none;transition:all .2s;display:flex}.sidebar nav a:hover{color:#fff;border-left-color:var(--accent)}.sidebar nav a.router-link-active{color:#fff;border-left-color:var(--accent);background:#ffffff0d}.main{margin-left:var(--sidebar-w);max-width:1200px;padding:40px}.mobile-nav{height:var(--mobile-nav-h);z-index:100;background:#1a1a1a;border-top:1px solid #ffffff1a;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-bar{height:100%;display:flex}.mobile-nav-bar a{color:#fff9;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:44px;padding:4px 0;font-size:.65rem;text-decoration:none;transition:color .15s;display:flex}.mobile-nav-bar a .nav-icon{margin-bottom:2px;font-size:1.2rem}.mobile-nav-bar a.router-link-active{color:var(--accent)}.mobile-header{border-bottom:1px solid var(--border);z-index:99;background:#fff;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0}.mobile-header .logo{font-family:Playfair Display,serif;font-size:1.1rem}.mobile-shop-select{border:1px solid var(--border);background:var(--bg);border-radius:4px;outline:none;max-width:120px;padding:4px 8px;font-family:inherit;font-size:.8rem}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px;display:grid}.kpi-card{text-align:center}.kpi-card .value{color:var(--accent);font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700}.kpi-card .label{color:var(--muted-fg);margin-top:4px;font-size:.8rem}.kpi-change{margin-top:4px;font-size:.8rem}.kpi-change.up{color:#2e7d32}.kpi-change.down{color:#d32f2f}.chart-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px;display:grid}.chart-box{min-height:300px}.tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:24px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--muted-fg);white-space:nowrap;background:0 0;border-bottom:2px solid #0000;align-items:center;min-height:44px;margin-bottom:-2px;padding:10px 20px;font-size:.9rem;transition:all .2s;display:flex}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab:hover{color:var(--fg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--muted)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.text-danger{color:#d32f2f}.text-success{color:#2e7d32}.text-muted{color:var(--muted-fg)}.text-accent{color:var(--accent)}.badge{border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-block}.badge-danger{color:#d32f2f;background:#ffebee}.badge-success{color:#2e7d32;background:#e8f5e9}.badge-warning{color:#f57f17;background:#fff8e1}.form-group{margin-bottom:16px}.form-group label{color:var(--muted-fg);margin-bottom:6px;font-size:.85rem;display:block}.flex{align-items:center;gap:12px;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.ml-12{margin-left:12px}.diff-card{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.diff-stat{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:8px;flex:1;min-width:140px;padding:16px 20px}.diff-stat .num{font-family:Playfair Display,serif;font-size:2rem;font-weight:700}.diff-stat .lbl{color:var(--muted-fg);margin-top:4px;font-size:.8rem}.action-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;min-height:44px;padding:10px 0;display:flex}.action-item:hover{background:var(--muted);margin:0 -24px;padding:10px 24px}.action-item:last-child{border-bottom:none}@media (width<=768px){:root{--sidebar-w:0px}.sidebar{display:none}.main{margin-left:0;margin-bottom:var(--mobile-nav-h);max-width:100%;padding:64px 16px 24px}.mobile-nav{display:block}.mobile-header{display:flex}.kpi-grid{grid-template-columns:1fr 1fr;gap:12px}.kpi-card .value{font-size:1.8rem}.chart-row{grid-template-columns:1fr;gap:12px}.chart-box{min-height:auto}h1{font-size:1.4rem}h2{font-size:1.2rem}h3{font-size:1.05rem}.card{padding:16px}.rule{margin:20px 0}.diff-card{flex-direction:column}.diff-stat{min-width:100%}table{font-size:.8rem}th,td{padding:8px}.btn{padding:12px 20px}.import-upload-area{padding:32px 16px}.import-upload-area .upload-icon{font-size:2rem}}@media (width<=480px){.kpi-grid{grid-template-columns:1fr}.tabs{gap:0}.tab{padding:8px 12px;font-size:.85rem}}
