*{box-sizing:border-box}

body{margin:0;background:var(--bg);color:var(--text);font-size:13px}

button,input,select{font:inherit}

button,a,input,select{outline-offset:4px}

button:focus-visible,a:focus-visible{outline:2px solid var(--red)}

button{cursor:pointer;color:inherit;background:var(--raised);border:1px solid var(--line);border-radius:6px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}

button:hover{background:var(--hover)}

button:disabled{opacity:.38;cursor:not-allowed}

button.primary{background:var(--red);border-color:var(--red);color:#fff}

button.primary:hover{filter:brightness(1.07)}

button svg{width:15px;height:15px;flex:none}

button.icon{padding:7px;background:transparent;border:0;color:var(--muted)}

button.icon:hover{color:var(--text);background:var(--hover)}



a{color:inherit;text-decoration:none}

small{color:var(--muted)}

.sidebar{position:fixed;inset:0 auto 0 0;width:208px;background:var(--side);border-right:1px solid var(--line);z-index:2;display:flex;flex-direction:column;padding:31px 17px 18px}

.wordmark{display:flex;gap:11px;align-items:center;padding:0 10px;margin-bottom:45px;font-size:18px;font-weight:700;letter-spacing:-.6px}

.brand-symbol{font-size:35px;font-weight:900;letter-spacing:-4px;line-height:1}

.brand-symbol span{color:var(--red)}

.wordmark small{display:block;font-size:8px;letter-spacing:1.8px;font-weight:500;margin-top:6px}

.workspace-label{color:var(--faint);font-size:10px;margin:0 12px 17px;letter-spacing:1px;display:flex;justify-content:space-between}

.workspace-label span{font-size:9px;border:1px solid var(--line);padding:1px 4px;border-radius:3px}

nav{display:flex;flex-direction:column;gap:7px}

nav button{border:0;background:transparent;justify-content:start;gap:13px;padding:12px 14px;color:var(--muted);font-size:12px}

nav button svg{width:18px;height:18px}

nav button.active{background:var(--red-soft);color:var(--red);font-weight:600;position:relative}

nav button.active:before{content:'';position:absolute;left:-17px;top:13px;bottom:13px;width:3px;background:var(--red)}

.nav-break{height:1px;background:var(--line);margin:15px 12px}

.sidebar-bottom{margin-top:auto;padding-top:24px}

.local-node{display:flex;gap:10px;align-items:center;padding:14px 9px 20px;font-size:11px}

.local-node small{display:block;margin-top:5px;font-size:10px}

.status-dot{display:inline-block;width:6px;height:6px;background:var(--good);border-radius:50%;flex:none}

.node-tag{margin-left:auto;font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:4px}

.theme-button{padding:9px;background:transparent}

.sidebar-version{display:flex;justify-content:space-between;color:var(--faint);font-size:8px;letter-spacing:1px;padding:21px 4px 0}

.shell{margin-left:208px;min-height:100vh;display:flex;flex-direction:column}

.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--side);flex:none}

.merchant-tabs{height:100%;display:flex;gap:27px}

.merchant{display:flex;align-items:center;gap:8px;position:relative;color:var(--muted);font-size:12px;min-width:97px;justify-content:center}

.merchant.active{color:var(--text);font-weight:600}

.merchant.active:after{position:absolute;content:'';height:2px;bottom:0;background:var(--red);left:0;right:0}

.merchant img{width:55px;height:20px;object-fit:contain}

.merchant.active img{width:18px;height:21px;filter:invert(1)}

:root[data-theme=light] .merchant.active img{filter:none}

.top-right{display:flex;align-items:center;gap:21px}

.local-label{font-size:9px;letter-spacing:1px;color:var(--faint)}

.connection{font-size:10px;color:var(--good);padding:6px 9px;border:1px solid var(--line);border-radius:4px}

.avatar{background:var(--raised);font-weight:600;width:30px;height:30px;padding:0;border-radius:50%;font-size:10px}

main{padding:30px 32px 26px;flex:1;min-width:0}

.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:16px}

.eyebrow{color:var(--muted);font-size:9px;letter-spacing:1.5px}

.eyebrow span{color:var(--faint);padding:0 6px}

h1{font-size:26px;letter-spacing:-.8px;font-weight:650;margin:11px 0 8px}

h2{font-size:15px;font-weight:600;margin:0}

h3{font-size:13px;margin:0 0 14px}

p{line-height:1.7;color:var(--muted);margin:0}

.page-heading p{font-size:11px}

.actions{display:flex;align-items:center;gap:9px}

.banner{padding:10px 14px;border:1px solid var(--line);border-left:2px solid var(--red);border-radius:4px;color:var(--muted);font-size:11px;margin-bottom:19px;background:var(--panel)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:23px}

.stat{padding:17px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);display:flex;justify-content:space-between;align-items:center}

.stat-label{font-size:10px;color:var(--muted);margin-bottom:8px}

.stat-number{font-size:25px;letter-spacing:-1px;font-weight:550;font-variant-numeric:tabular-nums}

.stat-icon{background:var(--raised);border:1px solid var(--line);padding:10px;border-radius:8px;color:var(--muted);height:37px}

.stat-icon svg{width:15px;height:15px}

.stat:first-child .stat-icon{color:var(--red);background:var(--red-soft);border-color:transparent}

.panel{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:hidden}

.groups{display:flex;align-items:center;gap:6px;min-height:58px;padding:0 16px;border-bottom:1px solid var(--line);overflow:auto}

.group{background:transparent;border-color:transparent;color:var(--muted);font-size:11px;padding:8px 12px}

.group.active{color:var(--text);background:var(--raised);border-color:var(--line)}

.group span{font-size:9px;color:var(--faint);padding-left:8px}

.toolbar{padding:17px 19px;display:flex;justify-content:space-between;align-items:center;gap:12px}

.search{display:flex;align-items:center;gap:8px;color:var(--faint);width:260px}

.search svg{width:15px;height:15px}

.search input{border:0;background:transparent;padding:5px 0;box-shadow:none;min-width:0;font-size:11px}

.toolbar select{font-size:10px;width:135px;padding:7px 10px}

.toolbar .actions small{font-size:10px;white-space:nowrap}

.table-scroll{overflow:auto;min-height:268px}

table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}

th{color:var(--faint);font-size:9px;font-weight:500;letter-spacing:.5px;background:var(--raised);height:35px;padding:0 15px;border-block:1px solid var(--line)}

td{height:67px;padding:9px 15px;border-bottom:1px solid var(--line);font-size:11px}

th:first-child,td:first-child{padding-left:21px}

tbody tr:last-child td{border-bottom:0}

tbody tr{cursor:pointer}

tbody tr:hover{background:var(--hover)}

tbody tr.selected{background:var(--red-soft)}

tbody tr.selected td:first-child{box-shadow:inset 2px 0 var(--red)}

.task-name{font-size:11px;font-weight:550;max-width:220px;overflow:hidden;text-overflow:ellipsis}

.task-sub{color:var(--faint);font-size:9px;margin-top:6px}

.phone-icon{display:inline-block;width:20px;height:30px;border:1.5px solid var(--muted);border-radius:5px;position:relative;margin-right:12px;vertical-align:middle;background:linear-gradient(140deg,#41434c,#131419)}

.phone-icon:before{content:'';position:absolute;background:#101112;border-radius:4px;left:4px;right:4px;top:3px;height:3px}

.product-cell{display:flex;align-items:center}

.badge{display:inline-flex;gap:6px;align-items:center;padding:5px 8px;font-size:9px;border:1px solid var(--line);border-radius:4px;color:var(--muted);background:var(--raised)}

.badge:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}

.badge.live{color:var(--good);background:transparent}

.badge.attention{color:var(--warn);background:transparent}

.badge.danger{color:var(--red);background:var(--red-soft);border-color:transparent}

.row-actions{display:flex;gap:3px}

.row-actions button{padding:6px}

.row-actions svg{width:13px;height:13px}

.table-bottom{display:flex;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--line);font-size:9px;color:var(--faint)}

.inspector{margin-top:19px;min-height:184px}

.inspector-head{display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);height:47px}

.inspector-tabs{display:flex;height:100%;gap:24px}

.inspector-tabs button{padding:0;border:0;background:transparent;border-radius:0;color:var(--muted);font-size:10px;position:relative}

.inspector-tabs button.active{color:var(--text)}

.inspector-tabs button.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red)}

.inspector-head small{font-size:9px}

.inspector-body{padding:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

.kv small{display:block;font-size:9px;margin-bottom:10px}

.kv div{font-size:11px}

.empty{text-align:center;padding:48px 20px;color:var(--muted)}

.empty > svg{width:25px;height:25px;color:var(--faint);margin-bottom:14px}

.empty h3{color:var(--text);font-size:13px;margin:0 0 8px}

.empty p{font-size:11px}

.empty button{margin-top:19px;font-size:11px}

.log-list{padding:15px 21px;max-height:270px;overflow:auto}

.log-line{display:flex;gap:25px;padding:9px 0;color:var(--muted);font-size:10px}

.log-line time{color:var(--faint);font-family:Consolas,monospace}

.log-line code{font-size:10px}

/* 卡片按可用宽度自己排：窄一点、密一点，一屏能看到更多资料 / 账号。 */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}

.resource-card{padding:16px 18px}

.resource-icon{width:28px;height:28px;padding:7px;background:var(--raised);color:var(--muted);border-radius:7px;margin-bottom:12px}

.resource-icon svg{width:14px;height:14px}

.resource-card p{font-size:11px;overflow-wrap:anywhere}

.resource-card h3{margin-bottom:8px}

.resource-card .badge{margin-top:12px}

.section-gap{margin-top:22px}

.monitor-summary{padding:24px}

.monitor-summary .inspector-body{padding:25px 0 5px}

.notice{font-size:11px;color:var(--muted);line-height:1.8;padding:16px 20px;background:var(--raised);border:1px solid var(--line);border-radius:6px}

.notice strong{font-weight:500;color:var(--text)}

.settings-row{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}

.settings-row:last-child{border-bottom:0}

.settings-row p{font-size:11px;margin-top:7px}

.settings-row button{font-size:11px}

.supported-product{padding:40px;display:flex;align-items:center;gap:55px}

.phone-large{height:160px;width:80px;border:3px solid #85868b;border-radius:19px;background:linear-gradient(130deg,#454754,#171821 65%);position:relative;box-shadow:8px 13px 25px #0002;flex:none}

.phone-large:before{content:'';position:absolute;width:28px;height:8px;left:23px;top:8px;background:#0a0a0c;border-radius:8px}

.supported-product h2{font-size:24px;margin-bottom:12px}

.supported-product p{font-size:12px;margin-bottom:15px}

footer{height:39px;border-top:1px solid var(--line);padding:0 30px;display:flex;align-items:center;justify-content:space-between;color:var(--faint);font-size:9px;gap:20px}

footer .status-dot{width:4px;height:4px;margin-right:7px}

footer i:not(.status-dot){padding:0 7px;font-style:normal}

.drawer,.modal{color:var(--text);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);padding:0}

.drawer{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:480px;max-width:100vw;border-radius:0;border-right:0;overflow:auto}

.modal{border-radius:12px;width:460px;max-width:calc(100vw - 40px);max-height:90dvh;overflow:auto}

.drawer::backdrop,.modal::backdrop{background:#0006;backdrop-filter:blur(2px)}

.dialog-head{padding:26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}

.dialog-head h2{font-size:18px;margin-top:8px}

.dialog-body{padding:25px 26px}

.dialog-footer{padding:20px 26px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:var(--panel);position:sticky;bottom:0}

.dialog-footer button{font-size:11px}

.form-section{margin-bottom:25px}

.form-section h3{font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:17px}

.form-section .notice{padding:12px 14px}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* Counts, quantity and delay belong on one compact row, not stacked cards. */
.form-grid.compact-numbers{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px}
.dialog-body input:not([type=checkbox]),.dialog-body select{padding:7px 9px;min-height:32px}
.dialog-body label.field{margin-bottom:12px}
.dialog-body label.field>span{margin-bottom:5px}
.dialog-body [data-account-picker]{padding-bottom:8px}
.monitor-products{display:flex;flex-wrap:wrap;gap:12px;padding:0 22px 18px}
.monitor-product{display:flex;align-items:center;gap:10px;font-size:11px;max-width:260px}
.monitor-product .catalog-thumb{width:80px;height:64px;flex:none}
.monitor-product small{display:block;color:var(--muted);margin-top:4px}

label.field{display:block;font-size:11px;color:var(--muted);margin-bottom:17px}

label.field>span{display:block;margin-bottom:8px}

input,select{display:block;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:11px 12px;min-width:0}

input::placeholder{color:var(--faint)}

input:focus,select:focus{outline:1px solid var(--red);outline-offset:0}

input[type=checkbox]{display:inline-block;width:auto;accent-color:var(--red)}

.check-label{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:11px;line-height:1.8}

.locked-product{display:flex;gap:16px;align-items:center;background:var(--raised);border:1px solid var(--line);border-radius:7px;padding:16px;margin-bottom:21px}

.locked-product p{font-size:10px;margin-top:6px}

.locked-product .phone-icon{margin:0;width:24px;height:37px}

.locked-product strong{font-weight:500;font-size:12px}

.form-hint{font-size:10px;color:var(--faint);line-height:1.8;margin-top:9px}

.dialog-error{font-size:11px;color:var(--red);line-height:1.7;margin:0 26px 17px;overflow-wrap:anywhere}

.secret{font:15px Consolas,monospace;letter-spacing:2px;padding:16px;background:var(--bg);border:1px solid var(--line);overflow-wrap:anywhere;margin:15px 0}

.unlocked{color:var(--good);font-size:11px;padding:13px;background:var(--raised);border-radius:6px;margin-top:15px}

#toast{position:fixed;bottom:57px;left:calc(50% + 100px);transform:translateX(-50%);max-width:650px;background:var(--text);color:var(--bg);padding:13px 20px;border-radius:7px;box-shadow:var(--shadow);z-index:10;font-size:12px;line-height:1.8}

 [hidden]{display:none!important}

@media(max-width:1200px){.sidebar{width:180px;padding-inline:13px}

.shell{margin-left:180px}

.wordmark{font-size:15px;padding:0 5px;gap:9px}

main{padding:25px 23px}

.topbar{padding:0 23px}

.local-label{display:none}

.stat{padding:15px}

.task-name{max-width:145px}

.stats{gap:10px}

td,th{padding-inline:10px}


footer{font-size:8px}

.inspector-body{gap:14px}

.top-right{gap:12px}

}

@media(max-width:1000px){.stat-icon{display:none}

.stats{grid-template-columns:repeat(4,1fr)}

.toolbar{flex-wrap:wrap}

.inspector-body{grid-template-columns:1fr 1fr}


footer span:nth-child(2){display:none}

}

@media(prefers-reduced-motion:no-preference){button{transition:background .12s,color .12s}

.drawer[open]{animation:slide .18s ease-out}

@keyframes slide{from{transform:translateX(30px);opacity:.5}

to{transform:translateX(0);opacity:1}

}

}





/* Keep the execution inspector visible; only the task list scrolls. */

body[data-view=tasks] .shell {height:100dvh; min-height:700px}

body[data-view=tasks] main {display:flex; flex-direction:column; min-height:0; padding-top:24px; padding-bottom:20px}

body[data-view=tasks] .page-heading {flex:none; margin-bottom:18px}

body[data-view=tasks] .banner {flex:none; padding:8px 14px; margin-bottom:16px}

body[data-view=tasks] #content {display:grid; grid-template-rows:80px minmax(190px,1fr) 172px; gap:17px; flex:1; min-height:0}

body[data-view=tasks] .stats {margin:0}

body[data-view=tasks] #content > .panel:not(.inspector) {display:flex; flex-direction:column; min-height:0}

body[data-view=tasks] .groups {min-height:46px; flex:none}

body[data-view=tasks] .toolbar {padding:10px 19px; flex:none}

body[data-view=tasks] .table-scroll {min-height:0; flex:1}

body[data-view=tasks] .table-scroll th {position:sticky; top:0; z-index:1}

body[data-view=tasks] td {height:57px}

body[data-view=tasks] .table-bottom {padding:10px 20px; flex:none}

body[data-view=tasks] .inspector {margin:0; min-height:0; overflow:auto}

body[data-view=tasks] .inspector-head {height:40px}

body[data-view=tasks] .inspector-body {padding:15px 22px; gap:16px 24px}

body[data-view=tasks] .kv small {margin-bottom:7px}

body[data-view=tasks] .empty {padding:24px 20px}

body[data-view=tasks] .inspector .empty {padding:18px}

body[data-view=tasks] .inspector .empty > svg {display:none}

body[data-view=tasks] footer {flex:none}

@media(max-height:820px) {

 body[data-view=tasks] .shell {height:auto; min-height:100dvh}

 body[data-view=tasks] #content {grid-template-rows:76px 300px 172px}

 .sidebar {overflow:auto}

}



body[data-view=tasks] .stat {padding:12px 20px; min-height:0}

.merchant:not(.active) img {width:20px;height:20px}



.store-picker{margin-top:18px}.store-picker>.field{margin-top:12px}.store-search-results{display:grid;gap:6px;max-height:190px;overflow:auto;margin-top:8px}.store-search-results button{justify-content:space-between;text-align:left}



.multi-choices{border:1px solid var(--line);border-radius:8px;padding:12px;margin:12px 0;display:flex;flex-wrap:wrap;gap:12px}.multi-choices legend{font-size:12px}.multi-choices label,.multi-store-list label{display:flex;align-items:center;gap:8px;font-size:12px}.multi-store-list{max-height:190px;overflow:auto;border:1px solid var(--line);padding:10px;display:grid;gap:9px;margin:10px 0}.multi-store-list [hidden]{display:none}.multi-choices input,.multi-store-list input{width:auto;accent-color:#ED1C24}.row-menu{position:relative}.row-menu summary{cursor:pointer;list-style:none;padding:6px 10px}.row-menu[open]>div{position:absolute;right:0;z-index:10;padding:8px;background:var(--panel,#18191c);border:0;border-radius:10px;box-shadow:0 8px 28px #0002;min-width:140px}.task-log-drawer{overflow:auto;max-height:65vh}.proxy-paste{min-height:180px;width:100%;resize:vertical;font-family:monospace}.sms-float{position:fixed;bottom:38px;right:24px;z-index:20}
.selection-priority{display:flex;flex-wrap:wrap;gap:6px;width:100%;max-height:150px;overflow:auto}.priority-item{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--border);border-radius:5px;padding:3px 6px;font-size:11px}.priority-item button{padding:3px 7px;min-width:25px}.priority-item button:disabled{opacity:.35;cursor:default}
.task-log-drawer [data-live-logs]{max-height:60vh;min-height:160px;overflow:auto;overscroll-behavior:contain;overflow-anchor:none}
.row-menu summary{cursor:pointer}

.apple-account-actions{flex-wrap:wrap}
.account-login-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.account-login-actions .account-verify-icon{width:34px;height:34px;min-width:34px;padding:0;justify-content:center}
.account-card h3 .badge{margin-left:6px;vertical-align:middle}
.task-log-group+.task-log-group{border-top:1px solid var(--line);padding-top:16px}
.task-log-group h3{font-size:12px;overflow-wrap:anywhere}
.task-log-group .log-line{flex-wrap:wrap;gap:12px}

.payment-qr-body{text-align:center;padding:20px}.payment-qr-image{width:296px;max-width:100%;height:auto;image-rendering:pixelated;background:#fff;border:12px solid #fff;box-sizing:content-box}.payment-qr-body p{margin-top:14px;line-height:1.6}

.monitor-section>summary{padding:18px 24px;cursor:pointer;color:var(--muted)}
.choice-tools{display:flex;gap:8px;width:100%;align-items:center}.choice-tools button{font-size:11px}.choice-tools select{width:auto}.product-source{display:grid;gap:10px;margin-bottom:18px}.product-results{max-height:220px;overflow:auto}.product-results button{display:block;width:100%;text-align:left;margin:6px 0}.quick-task-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.row-menu summary::-webkit-details-marker{display:none}

.catalog-row{padding:14px 0;border-bottom:1px solid var(--line)}.catalog-row>strong,.catalog-row>small{display:block;margin-bottom:8px}.product-results{max-height:360px;overflow:auto}

.store-city-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 10px}.store-city-heading button{padding:4px 10px;font-size:11px}.multi-store-list [data-store-city-group]{border-bottom:1px solid var(--line);padding:6px 0 12px}.multi-store-list [data-store-row]{margin:9px 0}.monitor-city{padding:0 24px 22px}.monitor-city h3{margin:4px 0 12px}
.monitor-city table{width:100%;min-width:0;table-layout:fixed}.monitor-city th:first-child{width:20%}.monitor-city th:nth-child(2){width:20%}.monitor-city td{white-space:normal;overflow-wrap:anywhere;line-height:1.7}

.monitor-history .table-scroll{max-height:360px;overflow:auto;}
.monitor-history td{white-space:normal;overflow-wrap:anywhere;}

.catalog-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;min-height:80px;}
.catalog-thumb{width:52px;height:60px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--surface);border-radius:6px;}
.catalog-thumb img{width:100%;height:100%;object-fit:contain;}
.catalog-thumb span{font-size:10px;color:var(--muted);}
.catalog-info{min-width:0;}.catalog-info strong,.catalog-info small{display:block;overflow-wrap:anywhere;}.catalog-info strong{font-size:12px;line-height:1.5;}.catalog-info small{font-size:10px;margin-top:3px;line-height:1.4;}.catalog-status{opacity:.8;}
.catalog-action button,.product-results .catalog-action button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:48px;min-height:30px;padding:5px 9px;margin:0;font-size:11px;white-space:nowrap;}.catalog-action{max-width:76px;}
.catalog-selectable{grid-template-columns:18px 52px minmax(0,1fr) auto}.catalog-check{display:flex;align-items:center}.catalog-check input{width:14px;height:14px}.catalog-selection-bar{flex-wrap:wrap;margin:12px 0}.catalog-selection-bar button{font-size:11px}

.catalog-toolbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.catalog-toolbar .field{flex:1;min-width:230px}.catalog-page-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:24px}.catalog-page-results .catalog-row{min-width:0}[data-task-details] .inspector-body{grid-template-columns:repeat(2,minmax(0,1fr));}

/* Apple details now live in the row menu; keep the shared Supreme layout intact. */
body[data-view=tasks] #content:not(:has(> .inspector)){grid-template-rows:80px minmax(300px,1fr)}
[data-task-details] .inspector-tabs{height:44px;flex:none;border-bottom:1px solid var(--line);margin-bottom:16px}
[data-task-details] .kv{min-width:0;overflow-wrap:anywhere}
[data-task-details] .table-scroll{overflow:auto}
@media(max-width:600px){.catalog-page-results{grid-template-columns:minmax(0,1fr)}}

/* 资料方案：分组标题、卡片预览与复制按钮。窄屏时单列，姓名 / 邮箱允许换行。 */
.group-heading{font-size:13px;color:var(--muted);margin-bottom:10px;overflow-wrap:anywhere}
.resource-card .profile-preview{font-size:11px;color:var(--text,inherit);margin-bottom:6px;overflow-wrap:anywhere;line-height:1.5}
.resource-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:12px}
.resource-actions .badge{margin-top:0}
.resource-actions button{font-size:11px}
/* 耗时明细：默认折叠，表格在窄屏可横向滚动。 */
.timing-details{margin-top:18px;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.timing-details summary{cursor:pointer;font-size:12px}
.timing-details table{width:100%;font-size:11px;margin-top:8px}
.timing-details td,.timing-details th{padding:4px 8px;text-align:left;white-space:nowrap}
.timing-details td:first-child{white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.cards{grid-template-columns:minmax(0,1fr)}.resource-card{padding:16px}}
/* 页头的二级菜单（库存监控设置）：沿用 details.row-menu 的下拉，只把 summary 画成一个普通按钮。 */
.page-menu>summary{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:6px;background:var(--raised);white-space:nowrap;list-style:none}
.page-menu>summary::-webkit-details-marker{display:none}
.page-menu>summary:hover{background:var(--hover)}
.page-menu>summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.page-menu>summary svg{width:15px;height:15px;flex:none}
.page-menu[open]>div{display:grid;gap:4px;min-width:190px;border:1px solid var(--line);box-shadow:var(--shadow)}
.page-menu[open]>div button{width:100%;justify-content:flex-start;background:transparent;border-color:transparent;font-size:11px}
.page-menu[open]>div button:hover:not(:disabled){background:var(--hover)}
/* 状态列的停止原因可能很长：自动换行并给列一个宽度上限，不撑破表格；完整文案仍在 title 上。
   需要换行的只有那段说明文字：white-space:normal 放在整个 <td> 上会把状态徽章也一起放开，
   窗口窄到 940px 以下（1366 屏 150% 缩放 = 911px）时「已停止」就被拆成一字一行、行高爆到 400px。 */
.task-status{white-space:normal}
.task-status .badge{white-space:nowrap;flex:none}
.task-status .task-sub{white-space:normal;overflow-wrap:anywhere;line-height:1.55;max-width:210px}
/* 订单记录的「订单 / 通知」列：文字在左，付款码按钮在右侧独立占位，窄窗口下也不与文字重叠。 */
.order-cell{white-space:normal}
.order-cell-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.order-cell-text{min-width:0;overflow-wrap:anywhere}
.order-cell-action{flex:none}
.order-cell-action button{font-size:11px;white-space:nowrap}
/* 外观主题按钮只有图标，说明文字在 title / aria-label 上。 */
.theme-icon{padding:9px;flex:none}
/* 代理对话框里的解析结果就地显示；失败原因用红色标出来。 */
[data-proxy-result][data-tone=error]{color:var(--red)}

/* 任务分组的拖放：拖动中的源半透明，当前落点用红框标出来。「全部任务」是伪分组，不带这两个类。 */
.groups .group[draggable=true]{cursor:grab}
.groups .group.dragging{opacity:.45}
.groups .group.drop-target{color:var(--red);background:var(--red-soft);border-color:var(--red)}
tbody tr[draggable=true] .task-name{cursor:grab}
tbody tr.dragging{opacity:.45}
/* 代理管理：三张大卡片改成按分组归拢的紧凑行，密度对齐任务表与 .log-list。 */
.proxy-group-head{font-size:9px;letter-spacing:.5px;color:var(--faint);background:var(--raised);border-bottom:1px solid var(--line);padding:11px 16px}
.proxy-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line)}
.proxy-row:last-child{border-bottom:0}
.proxy-row:hover{background:var(--hover)}
.proxy-cell{min-width:0}
.proxy-name{font-size:11px;font-weight:550;overflow-wrap:anywhere}
.proxy-row .task-sub{margin-top:5px;font-family:Consolas,monospace;overflow-wrap:anywhere}
.proxy-row .badge{margin-top:0;flex:none;white-space:nowrap}
.proxy-row .row-actions button{font-size:10px;padding:6px 9px}
@media(max-width:700px){.proxy-row{grid-template-columns:minmax(0,1fr);gap:9px;justify-items:start}}
/* Apple 账号卡片：随时间走的那一行单独成段；编辑 / 删除收进二级菜单，不再平铺第四、第五个按钮。 */
.account-live{color:var(--muted);line-height:1.6;margin-bottom:6px}
/* .panel 默认 overflow:hidden，会把展开的二级菜单沿卡片边缘裁掉；账号卡片里没有需要被裁的内容。 */
.account-card{overflow:visible}
.apple-account-actions>.row-menu>summary{border:1px solid var(--line);border-radius:6px;background:var(--raised)}
.apple-account-actions>.row-menu>summary:hover{background:var(--hover)}
.apple-account-actions>.row-menu>summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.apple-account-actions>.row-menu[open]>div{display:grid;gap:4px;min-width:170px;border:1px solid var(--line);box-shadow:var(--shadow)}
.apple-account-actions>.row-menu[open]>div button{width:100%;justify-content:flex-start;background:transparent;border-color:transparent;font-size:11px;white-space:nowrap}
.apple-account-actions>.row-menu[open]>div button:hover:not(:disabled){background:var(--hover)}
