:root{--bg:#f7f8fb;--card:#fff;--text:#17191d;--muted:#737b8c;--line:#e2e6ee;--line2:#edf0f5;--blue:#316bff;--blue-soft:#f4f7ff;--red:#ef4936;--green:#178b5f;--shadow:0 1px 2px rgba(16,24,40,.03)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.nav{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.brand{font-weight:760;letter-spacing:-.01em}.navlinks{display:flex;gap:18px;align-items:center}.navlinks a:hover{color:var(--blue)}.wrap{max-width:1540px;margin:0 auto;padding:24px 28px 44px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-title h1{font-size:24px;margin:0 0 5px;letter-spacing:-.02em}.page-title p{margin:0;color:var(--muted)}.dashboard-title{margin-bottom:16px}.site-switch select,.range-form select,.field select{height:40px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:0 34px 0 12px;color:#252933}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.btn{min-height:38px;border:1px solid #d8dde7;background:#fff;border-radius:8px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600;color:#303540}.btn:hover{border-color:#b9c2d2;background:#fafbfc}.btn.primary{background:#2463eb;color:#fff;border-color:#2463eb}.btn.primary:hover{background:#1d55cf}.muted{color:var(--muted)}.small{font-size:12px}.notice,.error{padding:11px 13px;border-radius:9px;margin:0 0 16px}.notice{background:#eff7ff;border:1px solid #b9dcff;color:#1559a6}.error{background:#fff1f0;border:1px solid #ffc8c2;color:#b62d1d}.field{margin:0}.field label{display:block;font-size:13px;color:#596173;margin-bottom:6px}.field input,.field select{width:100%;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 11px;outline:none}.field input:focus,.field select:focus{border-color:#7aa1ff;box-shadow:0 0 0 3px rgba(49,107,255,.08)}.help{font-size:12px;color:#7a8292;margin-top:6px;line-height:1.5}.checkbox-row{height:42px;display:flex;align-items:center}.checkbox-row label{margin:0;color:#333}.site-editor{margin-bottom:18px}.site-editor h2{margin:0 0 16px;font-size:18px}.site-form-grid{display:grid;grid-template-columns:1.8fr 3fr 1fr 1fr;gap:12px;align-items:start}.field-wide{grid-column:auto}.platform-panel{margin-top:16px;border:1px solid #e2e6ee;background:#fafbfc;border-radius:11px;padding:15px}.platform-panel-title{font-weight:700;margin-bottom:12px}.platform-panel .site-form-grid{grid-template-columns:1.2fr 2.6fr 1fr}.form-actions{margin-top:16px;display:flex;gap:8px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#f5f7fa;border:1px solid #eaedf2;padding:8px 9px;border-radius:7px;word-break:break-all;line-height:1.5}.platform-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.platform-badge.woo{background:#f5efff;color:#7148a3;border-color:#e6d8f7}.platform-badge.shopline{background:#effbf3;color:#247447;border-color:#d1efdc}.integration-details{margin-top:8px}.integration-details summary{cursor:pointer;color:#4b5565;font-size:12px}.integration-details .code{margin-top:8px}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions form{display:inline-flex}.section{margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.section h2{font-size:18px;margin:0}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line2);font-size:13px;vertical-align:middle}th{color:#697184;font-size:11px;text-transform:uppercase;letter-spacing:.035em;background:#fafbfc}tr:last-child td{border-bottom:0}.badge{padding:4px 8px;border-radius:999px;background:#f2f4f7;font-size:12px}.login{max-width:430px;margin:72px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 10px 34px rgba(22,31,49,.06)}.login h1{margin-top:0}.login .field{margin:14px 0}
/* Screenshot-style analytics board */
.analytics-board{background:#fff;border:1px solid #d9dee8;border-radius:12px;padding:12px 12px 15px;box-shadow:var(--shadow)}.board-head{height:43px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.range-form{display:flex;align-items:flex-start;gap:8px}.range-form select{border-color:#4a7dff;color:#303848;min-width:120px}.custom-dates{display:none;align-items:center;gap:7px}.custom-dates.show{display:flex}.custom-dates input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 8px}.custom-toggle{margin-left:auto;border:0;background:transparent;color:#383d46;height:38px;padding:0 6px;cursor:pointer}.custom-toggle span{margin-right:5px}.collapse-mark{padding:8px 8px 0 4px;color:#434a55}.metrics-strip{display:grid;grid-template-columns:1.05fr 1.5fr 1.2fr .95fr 1.28fr 28px;gap:8px;align-items:stretch;margin-bottom:7px}.metric-tab{position:relative;min-width:0;height:80px;border:1px solid transparent;background:#f6f7f9;border-radius:12px;padding:12px 12px;text-align:left;color:#20242b;cursor:pointer}.metric-tab[data-metric]:hover{background:#f2f5fb}.metric-tab.active{background:#fff;border-color:#3c70ff;box-shadow:0 0 0 1px rgba(60,112,255,.03)}.metric-name{display:block;font-size:13px;margin-bottom:10px;color:#363c46;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-main{display:inline-block;font-size:16px;font-weight:600;margin-right:8px;white-space:nowrap}.metric-icon{position:absolute;right:11px;top:14px;color:#596170}.delta{font-size:11px;white-space:nowrap;font-weight:600}.delta.down{color:var(--red)}.delta.up{color:var(--green)}.delta.neutral{color:#8c93a1}.source-card{cursor:default}.source-chips{display:flex;gap:5px;margin-top:3px}.source-chip{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-size:11px;font-weight:700}.source-chip.c1{background:#ffc985;color:#815017}.source-chip.c2{background:#ffe187;color:#755c11}.source-chip.c3{background:#ffef82;color:#72630d}.metric-next{background:#f6f7f9;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:20px}.chart-wrap{padding:0 6px 0 3px}.metric-chart{height:250px;width:100%;overflow:hidden}.metric-chart svg{display:block;width:100%;height:100%;overflow:visible}.chart-grid{stroke:#e8ebf0;stroke-width:1;vector-effect:non-scaling-stroke}.chart-y,.chart-x{fill:#697386;font-size:11px}.chart-line{fill:none;stroke:#2e6bff;stroke-width:2;vector-effect:non-scaling-stroke}.chart-line.previous{stroke-dasharray:2.5 4;stroke-width:2.1}.chart-line.current{stroke-width:2}.site-table td:nth-last-child(1){min-width:270px}
@media(max-width:1100px){.wrap{padding:20px}.metrics-strip{grid-template-columns:repeat(4,minmax(150px,1fr));overflow-x:auto}.source-card{min-width:180px}.metric-next{min-width:28px}.site-form-grid,.platform-panel .site-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wide{grid-column:auto}.analytics-board{overflow:hidden}}@media(max-width:720px){.nav{padding:0 14px}.navlinks{gap:10px;font-size:12px}.navlinks .muted{display:none}.wrap{padding:14px}.page-title h1{font-size:21px}.board-head{height:auto;align-items:flex-start}.custom-toggle,.collapse-mark{display:none}.custom-dates.show{flex-wrap:wrap}.metrics-strip{display:flex;overflow-x:auto;padding-bottom:4px}.metric-tab{min-width:145px}.metric-next{min-width:28px}.metric-chart{height:220px}.site-form-grid,.platform-panel .site-form-grid{grid-template-columns:1fr}.site-editor{padding:14px}.page-title{align-items:flex-start}.site-switch{width:100%}.site-switch select{width:100%}}
/* V1.0.4 permission management */
.permission-editor{margin-bottom:18px}.permission-editor h2{margin:0 0 16px;font-size:18px}.permission-form-grid{display:grid;grid-template-columns:1.1fr 1.6fr 1.2fr 1fr .8fr;gap:12px;align-items:start}.site-permission-box{margin-top:16px;border:1px solid var(--line);background:#fafbfc;border-radius:12px;padding:14px;transition:.15s opacity}.site-permission-box.disabled{opacity:.48}.site-permission-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.site-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.site-check{display:flex;gap:9px;align-items:flex-start;border:1px solid #e3e7ee;background:#fff;border-radius:9px;padding:10px;cursor:pointer}.site-check:hover{border-color:#bfc9d8}.site-check input{margin-top:3px}.site-check span{min-width:0}.site-check strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-check small{display:block;color:var(--muted);font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.small-btn{min-height:32px;padding:0 9px;font-size:12px}.role-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.role-badge.admin{background:#eef3ff;color:#2d5cc5}.role-badge.user{background:#f3f5f7;color:#565f6d}.permission-all{font-weight:650;color:#2858ba}.store-tags{display:flex;gap:5px;flex-wrap:wrap}.store-tags span{background:#f1f4f8;border:1px solid #e4e8ef;border-radius:6px;padding:3px 6px;font-size:11px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px}.status-dot.on{background:#23a06b}.status-dot.off{background:#b4bac5}
@media(max-width:1100px){.permission-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.permission-form-grid{grid-template-columns:1fr}.site-check-grid{grid-template-columns:1fr}.site-permission-head{display:block}.site-permission-head>div:last-child{margin-top:10px}}
