:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#202a30;background:#f6f8fa;line-height:1.5;--muted:#7e8c99;--border:#e4e8ed;--green:#008b69;--red:#d45c66}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{min-height:44px;padding:9px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#29343c;cursor:pointer;font-size:13px;font-weight:600;touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #65cdb4;outline-offset:2px}input,select,textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#202a30;font-size:16px;min-height:46px}input:focus,select:focus,textarea:focus{outline:2px solid #8bd0bd;outline-offset:1px}textarea{resize:vertical;min-height:100px}label{display:grid;gap:6px;font-size:12px;font-weight:550;margin:12px 0}h1,h2,h3,p{margin-top:0}h2{font-size:23px;margin-bottom:3px}h3{font-size:16px;margin-bottom:4px}.hidden{display:none!important}.muted,.source-help,.table-note{color:var(--muted);font-size:12px}.source-help,.table-note{line-height:1.7;overflow-wrap:anywhere}.error{color:var(--red);font-size:13px}.error:empty{display:none}.brand-mark{display:inline-grid;place-items:center;background:#16876d;color:#fff;width:28px;height:28px;border-radius:7px;font-size:11px;font-weight:750}.topbar{padding:12px 16px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.topbar-brand,.topbar-actions{display:flex;align-items:center;gap:7px}.topbar-brand strong{font-size:16px}.product-name{font-size:12px;color:var(--muted)}.quiet{border:0;background:transparent;padding:7px;font-size:12px}.topbar-actions>span{font-size:12px;color:var(--muted)}.workspace{max-width:1280px;margin:auto;padding:16px}.sidebar{margin-bottom:22px}.side-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:650;color:#66717e}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.category-item{text-align:left;min-width:0;padding:13px 11px;display:grid;grid-template-columns:1fr auto;gap:4px 8px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #182d3e04}.category-item.active{border-color:#159b7c;box-shadow:0 0 0 1px #159b7c;background:#f6fcf9}.category-name{grid-column:1/-1;font-size:13px;overflow-wrap:anywhere}.country-code{font-size:10px;font-weight:400;color:var(--muted)}.category-hours{grid-column:1/-1;font-size:10px;font-weight:400;color:var(--muted)}.category-count{color:var(--green);font-size:22px;line-height:1.4}.category-caption{align-self:end;font-size:10px;font-weight:400;color:var(--muted);text-align:right}.sidebar-note{display:none}.all-total{grid-column:1/-1;padding:10px;border:1px dashed #dfe5eb;border-radius:9px;font-size:12px;text-align:center;color:var(--muted)}.all-total strong{color:var(--green)}.content{min-width:0}.content-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.page-meta{font-size:10px;color:var(--muted);margin-bottom:5px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}.actions{display:flex;gap:6px;flex-wrap:wrap;width:100%}.actions button{flex:1}.actions #new-link,#editor-save,#batch-submit{background:#202724;border-color:#202724;color:#fff}.flash{font-size:13px;color:var(--green);overflow-wrap:anywhere}.flash:not(:empty){padding:12px 0}.flash.failure,.danger-text{color:var(--red)!important}.summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}.summary-item{border:1px solid var(--border);background:#fff;border-radius:11px;padding:15px 12px;text-align:center;min-width:0}.summary-label{font-size:11px;color:var(--muted)}.summary-value{font-size:25px;font-weight:700;margin-top:9px;font-variant-numeric:tabular-nums}.summary-caption{font-size:10px;color:var(--muted)}.green{color:var(--green)}.inline-panel,.analysis-panel{padding:18px 14px;border:1px solid var(--border);border-radius:11px;background:#fff;margin:16px 0;scroll-margin-top:16px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.panel-heading p{margin:5px 0}.panel-kicker{display:none}.icon-button{font-size:23px;padding:0 12px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.full-field{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:8px}.check-label input{min-height:0;width:18px;height:18px}.form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px}.form-actions button{flex:1}.confirm-bar{padding:13px;border:1px solid #f1d3b1;border-radius:8px;background:#fff7ed;font-size:13px;margin:12px 0;scroll-margin-top:18px}.confirm-actions{display:flex;gap:8px;margin-top:10px}.confirm-actions button{flex:1}.confirm-actions .accept-confirm{color:#fff;background:#b74750;border-color:#b74750}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;font-size:14px;font-weight:650}.table-toolbar>div{display:flex;align-items:center;gap:5px}.table-toolbar #update-label{display:none}.text-button{border:0;background:transparent;color:#2e728c;padding:8px;min-height:44px}.link-list{display:grid;gap:12px;margin-top:12px}.link-card{padding:15px 14px;border:1px solid var(--border);border-radius:11px;background:#fff;min-width:0;scroll-margin-top:16px}.link-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.link-name{font-size:15px;font-weight:700;overflow-wrap:anywhere}.platform-badge{display:inline-block;font-size:10px;padding:2px 6px;border-radius:5px;background:#f2eafa;color:#8c65ae;margin-right:6px}.source-link{color:#4484b0;font-size:11px;overflow-wrap:anywhere;display:inline-block}.status{font-size:10px;color:var(--green);padding:3px 6px;background:#eaf8f1;border-radius:5px;white-space:nowrap}.status.failed{background:#fff0ef;color:#c35659}.status.pending{background:#fff5d9;color:#a27c28}.link-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 12px}.link-metrics .metric-label{white-space:nowrap}.link-metrics .metric-value{font-size:18px}.metric-label{font-size:10px;color:var(--muted)}.metric-value{font-size:21px;font-weight:650;font-variant-numeric:tabular-nums}.metric-caption{font-size:10px;color:var(--muted)}.row-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.row-actions button{font-size:12px;padding:8px}.card-detail{margin-top:12px;border-top:1px solid var(--border);padding-top:16px}.growth-tabs{display:flex;gap:6px;margin:12px 0}.growth-tabs button{min-height:36px;padding:7px 12px;font-size:12px}.growth-tabs button.active{background:#202724;color:#fff;border-color:#202724}.empty{padding:30px 16px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed var(--border);border-radius:10px;background:#fff;margin-top:12px}.empty h3{color:#3d5260;font-size:16px}.nav-empty{font-size:12px;color:var(--muted)}.sample-row,.log-row{border-bottom:1px solid var(--border);padding:12px 0;font-size:12px}.sample-heading{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:11px;color:var(--muted)}.sample-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sample-metrics b{display:block;font-size:15px;color:#263640}.sample-metrics span{font-size:10px;color:var(--muted)}.log-row pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 inherit;color:var(--muted)}.detail-load{width:100%;margin-top:12px}.login-shell{min-height:100dvh;padding:34px 22px;display:flex;flex-direction:column;justify-content:center;align-items:center}.login-panel{max-width:390px;width:100%;background:#fff;border:1px solid var(--border);padding:26px;border-radius:15px}.login-brand{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:650;margin-bottom:25px}.login-panel h1{font-size:29px;line-height:1.5}.login-panel button{width:100%;background:#202724;color:#fff;margin-top:12px}.login-foot{font-size:11px;color:var(--muted);margin-top:20px}.batch-results{font-size:12px;line-height:1.8}.batch-results .failed{color:var(--red)}.batch-results .success{color:var(--green)}.batch-progress{font-size:12px;color:var(--green)}.batch-help{margin:0;font-size:11px;color:var(--muted)}.detail-toolbar{display:flex;gap:8px;align-items:center;font-size:12px}.detail-toolbar select{flex:1}.table-note{margin:12px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:700px){.workspace{padding:24px}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.all-total{grid-column:auto;display:flex;align-items:center;justify-content:center}.content-head{align-items:center;flex-wrap:nowrap}.actions{width:auto}.actions button{flex:none}.summary{grid-template-columns:repeat(6,minmax(0,1fr))}.summary-item{padding:22px 14px}.summary-value{font-size:29px}.link-list{grid-template-columns:repeat(2,minmax(0,1fr))}.link-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.link-metrics .metric-label{font-size:9px}.link-metrics .metric-value{font-size:16px}.inline-panel,.analysis-panel{padding:22px}.table-toolbar #update-label{display:inline}.field-grid{grid-template-columns:1fr 1fr}.form-actions button{flex:none;min-width:100px}.batch-fields{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:0 12px}.batch-fields .full-field{grid-column:1/-1}.batch-fields .batch-url{grid-column:1/-1}.batch-fields .platform-field{grid-column:1/-1;max-width:250px}}@media(min-width:1100px){.link-list{grid-template-columns:repeat(3,minmax(0,1fr))}.category-item{padding:16px}.category-count{font-size:25px}}@media(max-width:370px){.workspace{padding:10px}.topbar{padding:9px 10px}.topbar-brand strong{font-size:14px}.topbar-actions button{padding:6px}.product-name,.topbar-actions>span{display:none}.field-grid{grid-template-columns:1fr}.summary-value{font-size:23px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.growth-summary{padding:14px;background:#f3f8f6;border-radius:8px;margin:8px 0 4px}
.growth-summary-heading,.growth-link-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}
.growth-summary-heading b{font-size:14px}.growth-summary-heading span,.growth-link-heading span{font-size:11px;color:#65757f}
.growth-row{padding:16px 0;border-bottom:1px solid var(--border);min-width:0}
.growth-link-heading b{font-size:13px;overflow-wrap:anywhere}
.growth-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.growth-metric{min-width:0}.growth-metric span{display:block;font-size:11px;color:#65757f}
.growth-metric strong{display:block;font-size:17px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:3px}
.growth-metric .positive{color:var(--green)}.growth-metric .negative{color:#b4434f}
.growth-summary .growth-metric strong{font-size:21px}.growth-help{margin:14px 0 0}.growth-tabs button{min-height:44px}
#editor-dialog{width:calc(100% - 24px);max-width:500px;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--border);border-radius:14px;color:#202a30;background:#fff;overscroll-behavior:contain}
#editor-dialog::backdrop{background:rgb(22 35 31 / 45%)}
body:has(#editor-dialog[open]),body:has(#settlement-dialog[open]){overflow:hidden}
#settlement-dialog{width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--border);border-radius:14px;color:#202a30;background:#fff;overflow-wrap:anywhere}
#settlement-dialog::backdrop{background:rgb(22 35 31 / 45%)}
#settlement-dialog h3{font-size:18px;margin-bottom:12px}#settlement-message{font-size:14px;line-height:1.8;color:#52636b;margin-bottom:12px}#settlement-dialog .settlement-confirm{color:#fff;background:#202724;border-color:#202724}
#editor-dialog .inline-panel{border:0;margin:0;padding:18px 18px max(18px,env(safe-area-inset-bottom));border-radius:0}
#editor-dialog .panel-heading{align-items:center}
.period-fields{min-width:0;margin:16px 0 8px;padding:0 12px 10px;border:1px solid var(--border);border-radius:8px}.period-fields legend{padding:0 5px;font-size:13px;font-weight:650}.period-fields .source-help{margin:4px 0 0}.period-fields input[type=date]{padding:10px 7px;font-size:14px}
#editor-dialog .form-actions{position:sticky;bottom:-1px;background:#fff;padding:12px 0 2px}
@media(max-width:370px){.growth-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.growth-summary .growth-metric strong{font-size:20px}}
.user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--border)}
.user-row>div{min-width:0}.user-row b{overflow-wrap:anywhere}.user-row small,.user-badges{display:block;font-size:12px;color:#65757f;margin-top:4px}.user-row button{flex-shrink:0}.user-create{width:100%;margin-top:16px;background:#202724;color:#fff}
.growth-summary-heading b{overflow-wrap:anywhere;min-width:0}
.growth-links{display:grid;gap:0;overflow-x:auto}
.growth-row{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(4,minmax(82px,1fr));align-items:center;gap:12px;padding:8px 0;min-width:610px}
.growth-link-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;min-width:0}
.growth-link-heading b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.growth-link-heading span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.growth-row>.growth-metrics{display:contents}
.growth-row .growth-metric strong{font-size:15px;margin-top:0;white-space:nowrap}
.growth-links>.settled-group{min-width:610px}
@media(max-width:600px){.growth-row{grid-template-columns:minmax(125px,1.35fr) repeat(4,minmax(72px,1fr));gap:8px;min-width:500px}.growth-links>.settled-group{min-width:500px}.growth-row .growth-metric span{font-size:10px}.growth-row .growth-metric strong{font-size:14px}}
.settled-group{margin-top:14px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:0 14px}.settled-group>summary{min-height:48px;padding:13px 0;font-size:13px;font-weight:600;cursor:pointer;color:#52636b;overflow-wrap:anywhere}.settled-group>summary:focus-visible{outline:3px solid #65cdb4;outline-offset:2px}.fold-hint{float:right;margin-left:10px;font-size:11px;font-weight:400;color:var(--muted)}.fold-hint::after{content:'展开'}.settled-group[open]>summary .fold-hint::after{content:'收起'}.settled-group[open]>summary{border-bottom:1px solid var(--border)}.settled-group>.link-list{margin-bottom:14px}.settled-note{margin:14px 0 0;font-size:12px;color:var(--muted)}
.branch-toolbar{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;margin:16px 0}
.session-check{min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:10px;color:#52636b;font-size:13px}
.session-check .brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eaf8f1;color:#178464;font-size:12px;font-weight:750}
.branch-toolbar button,.refresh-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:0;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:12px;font-weight:600;white-space:nowrap}
.branch-toolbar svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.refresh-control{gap:6px;padding:0 8px 0 12px;color:#485762}
.refresh-control select{width:auto;min-height:42px;border:0;padding:7px 3px;background:transparent;font-size:12px;font-weight:600;cursor:pointer}
.refresh-control:has(select:disabled){opacity:.5}
.branch-toolbar .toolbar-primary{background:#202724;color:#fff;border-color:#202724}
.branch-toolbar .toolbar-danger{color:#b74750;border-color:#edcbd0}
@media(max-width:520px){.branch-toolbar{gap:7px}.branch-toolbar button{flex:1 1 calc(50% - 7px)}.refresh-control{flex:1 1 calc(50% - 7px)}.branch-toolbar .toolbar-primary{flex-basis:100%}}
@media(max-width:500px){.topbar{flex-wrap:wrap}.topbar-actions{margin-left:auto}}
.topbar-link{color:#29343c;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.users-main{max-width:760px;margin:0 auto;padding:24px 16px}.users-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.users-head h1{font-size:28px;margin:0 0 4px}.users-head p{margin-bottom:0}.users-create{width:auto;min-width:132px;margin:0;white-space:nowrap}.users-panel{background:#fff;border:1px solid var(--border);border-radius:11px;padding:0 16px}.users-panel .user-row:last-child{border-bottom:0}.users-panel>div>p{margin:16px 0}.users-main>.error{margin-top:14px}#editor-dialog h2{font-size:18px;overflow-wrap:anywhere}
@media(max-width:520px){.users-main{padding:20px 12px}.users-head{display:block}.users-head h1{font-size:25px}.users-create{width:100%;margin-top:16px}.users-panel{padding:0 13px}}

.table-toolbar #batch-target-open{font-size:12px;white-space:nowrap}.table-toolbar>div{flex-wrap:wrap;justify-content:flex-end}.batch-target-controls{display:flex;align-items:center;gap:6px;min-width:0}.batch-target-selection-count{margin:0;color:var(--muted);font-size:11px;white-space:nowrap}.batch-target-label{display:flex;align-items:center;gap:5px;margin:0;white-space:nowrap}.batch-target-controls input[name="target_count"]{width:100px;min-height:38px;padding:7px 9px;font-size:14px}.batch-target-controls #batch-target-submit,.batch-target-controls #batch-target-all{min-height:38px;padding:7px 10px;white-space:nowrap}.batch-target-controls #batch-target-error{margin:0;white-space:nowrap}.batch-target-selecting .link-card{cursor:pointer}.batch-target-selecting .link-card:hover{border-color:var(--green)}.batch-target-selecting .link-card.target-selected{border-color:var(--green);box-shadow:0 0 0 2px #008b6922}.batch-select-mark{display:none;width:18px;height:18px;flex:none;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--green);font-size:12px;font-weight:700}.batch-target-selecting .batch-select-mark{display:grid}.batch-target-selecting .link-card.target-selected .batch-select-mark{border-color:var(--green);background:#e4f5ee}.link-card[role="checkbox"]:focus-visible{outline:3px solid #65cdb4;outline-offset:2px}
