/* Automatización, Administración y Equipo. Usa la paleta y la tipografía de brand.css. */
:root{--green:#198b59;--green-soft:#e4f5ed;--amber-soft:#fff1da;--red-soft:#ffe8e6;--grey-soft:#efecea;--card-shadow:0 1px 2px #38343410,0 8px 24px -12px #38343426}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
code{font-family:'Fira Code',monospace;font-size:.86em;background:var(--grey-soft);padding:2px 6px;border-radius:5px}

/* Mensajes */
.flash{display:flex;gap:12px;align-items:flex-start;padding:15px 18px;border-radius:12px;margin-bottom:18px;border:1px solid var(--line);background:#fff;box-shadow:var(--card-shadow)}
.flash>div{min-width:0;flex:1}.flash p{margin:6px 0 12px;color:var(--muted);font-size:14px}
.flash.ok{background:var(--green-soft);border-color:#b9e2cf;color:#0f5c3b}.flash.error{background:var(--red-soft);border-color:#f2c1bb;color:#8f2a1d}.flash.link{background:#fff8f0;border-color:#f7d8b5;color:#6b4a1d}
.copy-box{display:flex;gap:8px;flex-wrap:wrap}.copy-box input{flex:1 1 280px;min-width:0;height:44px;border:1px solid #e7cfae;border-radius:9px;padding:0 12px;background:#fff;color:var(--ink);font:13px 'Fira Code',monospace}

/* Botón "Actualizar ventas" */
.refresh-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 36px;align-items:center;position:relative;overflow:hidden;background:linear-gradient(115deg,#fff 0%,#fffaf5 55%,#fff1e4 100%);border-color:#f3dcc4;box-shadow:var(--card-shadow)}
.refresh-hero:before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--red),var(--amber))}
.refresh-copy{min-width:0}.refresh-copy h2{font-size:clamp(21px,2vw,27px);margin:12px 0 8px;letter-spacing:-.6px}.refresh-copy>p{color:var(--muted);max-width:62ch;margin:0}
.refresh-meta{display:flex;flex-wrap:wrap;gap:8px 30px;margin:18px 0 0}.refresh-meta dt{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.refresh-meta dd{margin:2px 0 0;font-weight:600;font-size:15px}
.refresh-action{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.refresh-action form{margin:0}.refresh-action small{color:var(--muted);font-size:12px}
.refresh-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:64px;padding:0 34px;border-radius:14px;color:#fff;font:700 18px 'Space Grotesk',Arial,sans-serif;letter-spacing:-.2px;background:linear-gradient(100deg,#e8381f,#f7931e);box-shadow:0 14px 28px -10px #e8381f99,inset 0 1px 0 #ffffff55;transition:transform .15s,box-shadow .15s,filter .15s}
.refresh-button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 18px 32px -10px #e8381fb0,inset 0 1px 0 #ffffff55}.refresh-button:active{transform:translateY(1px)}
.refresh-button:disabled{cursor:progress;filter:grayscale(.35) brightness(.97);transform:none;box-shadow:none}.refresh-button:disabled svg{animation:spin 1s linear infinite}
.refresh-button.secondary{min-height:44px;padding:0 20px;color:var(--ink);font-size:14px;font-weight:600;background:#fff;border:1px solid var(--line);box-shadow:none}
.refresh-button.secondary:hover{transform:none;filter:none;background:var(--canvas);box-shadow:none}
.refresh-hero.is-disabled{background:#fff;box-shadow:none}.refresh-hero.is-disabled:before{background:#d9d3cd}
@keyframes spin{to{transform:rotate(360deg)}}

/* Tarjeta de avance */
.job-card{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:15px 18px;background:#fff;display:flex;flex-direction:column;gap:12px}
.job-card.standalone{margin-bottom:18px;box-shadow:var(--card-shadow)}.job-card[hidden]{display:none}
.job-head{display:flex;gap:12px;align-items:flex-start}.job-head>div{min-width:0}.job-head strong{display:block;font-size:15px}.job-head small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.job-icon{flex:none;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;background:#8a8480;margin-top:1px}
.job-card.running .job-icon{background:none;border:3px solid #f3d9c6;border-top-color:var(--red);animation:spin .9s linear infinite}
.job-card.done .job-icon{background:var(--green)}.job-card.done .job-icon:after{content:'✓'}
.job-card.partial .job-icon{background:var(--amber)}.job-card.partial .job-icon:after{content:'!'}
.job-card.error .job-icon{background:#d83220}.job-card.error .job-icon:after{content:'×'}
.job-card.info .job-icon{background:#4084ff}.job-card.info .job-icon:after{content:'i'}
.job-card.done{border-color:#b9e2cf;background:#f6fcf9}.job-card.partial{border-color:#f7d8a6;background:#fffaf0}.job-card.error{border-color:#f2c1bb;background:#fff7f6}.job-card.info{border-color:#cfe0ff;background:#f6f9ff}
.job-bar{height:9px;border-radius:9px;background:#ece7e2;overflow:hidden}.job-bar span{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--red),var(--amber));transition:width .5s ease}
.job-card.running .job-bar span{background-image:linear-gradient(45deg,#ffffff40 25%,transparent 25%,transparent 50%,#ffffff40 50%,#ffffff40 75%,transparent 75%),linear-gradient(90deg,var(--red),var(--amber));background-size:22px 22px,100% 100%;animation:stripes 1s linear infinite}
.job-card.done .job-bar span{background:var(--green)}.job-card.error .job-bar span{background:#d83220}.job-card.partial .job-bar span{background:var(--amber)}
@keyframes stripes{to{background-position:22px 0,0 0}}
.job-results summary,.sales-panel details summary{cursor:pointer;font-size:14px;font-weight:600;color:#b92f20}.job-results[hidden]{display:none}
.job-results ul,.job-results-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.job-results li,.job-results-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;padding:9px 12px;border-radius:8px;background:#fff;border:1px solid var(--line);font-size:14px}
.job-results li span,.job-results-list li span{color:var(--green);font-weight:600}.job-results li.error span,.job-results-list li.error span{color:#b23023}.job-results li.skipped span,.job-results-list li.skipped span{color:#946000}
.job-results li small,.job-results-list li small{grid-column:1/-1;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.job-line{margin:0 0 10px;color:var(--muted)}

/* Barras, estados y tablas de Rendimiento */
.sales-track span.no-data{background:repeating-linear-gradient(45deg,#e3ded9,#e3ded9 3px,#f3f0ed 3px,#f3f0ed 6px)}
.state-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--grey-soft);color:#5d5752}
.state-pill:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.state-pill.green{background:var(--green-soft);color:#137d51}.state-pill.amber{background:var(--amber-soft);color:#946000}.state-pill.red{background:var(--red-soft);color:#b23023}
.stores-table td small{white-space:normal}.stores-table form{margin:0}
.mini-bars{display:flex;align-items:end;gap:8px;height:130px;margin:10px 0 20px}.mini-bars>div{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:6px}
.mini-bars span{display:block;width:100%;max-width:38px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--red),var(--amber));min-height:3px}.mini-bars small{font-size:11px;color:var(--muted)}
.mini-bars.hours{gap:4px}.mini-bars.hours span{max-width:18px;background:var(--ink)}.mini-bars.hours small{font-size:10px}
.bars-title{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:4px 0 0}

/* Acordeones */
.tree-panel{padding-bottom:12px}
.tree-node{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden}
.tree-node>summary{display:flex;align-items:center;gap:12px;padding:14px 16px;list-style:none;cursor:pointer;min-height:56px;transition:background .15s}
.tree-node>summary::-webkit-details-marker{display:none}.tree-node>summary:hover{background:#fbf9f7}
.tree-node[open]>summary{border-bottom:1px solid var(--line);background:#fbf9f7}
.chevron{flex:none;width:9px;height:9px;border-right:2px solid #8a8480;border-bottom:2px solid #8a8480;transform:rotate(-45deg);transition:transform .2s;margin:0 4px 0 2px}.tree-node[open]>summary>.chevron{transform:rotate(45deg)}
.node-title{flex:1;min-width:0;font-weight:700;font-size:16px;overflow-wrap:anywhere}.node-title small{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px}
.node-meta{color:var(--muted);font-size:13px;white-space:nowrap}.node-action{margin:0}.node-action .button{white-space:nowrap}
.node-body{padding:12px 14px 6px;background:#fdfcfb}.tree-node.nested{margin-bottom:8px;border-radius:10px;background:#fff}.tree-node.nested>summary{min-height:50px;padding:10px 14px}.tree-node.nested .node-title{font-size:15px}
.tree-node .brand-avatar{flex:none;background:#fff0e2;color:#a25414}.tree-node .brand-avatar.tone-b{background:#e8efff;color:#345da4}
.store-list{list-style:none;margin:0;padding:6px 14px 10px;display:grid;gap:0}
.store-list li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.store-list li:last-child{border-bottom:0}
.store-id strong,.store-state small{display:block}.store-id small,.store-state small{color:var(--muted);font-size:13px}.store-state small{margin-top:4px}.store-list form{margin:0}
.status-line{display:flex;gap:14px;align-items:flex-start}.status-line .dot{width:12px;height:12px;margin-top:6px;flex:none}.status-line .dot.red{background:#d83220}.status-line p{margin:3px 0 0;color:var(--muted)}
.status-row .panel{margin-bottom:20px}

/* Equipo */
.members{display:grid;gap:10px;padding:12px 14px 6px}
.member{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff}
.member:target{border-color:var(--red);box-shadow:0 0 0 3px #ff4a3624}
.member-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.member-avatar{background:linear-gradient(135deg,#ff4a36,#f7931e)}
.member-id{flex:1;min-width:180px}.member-id strong,.member-id small{display:block;overflow-wrap:anywhere}.member-id small{color:var(--muted);font-size:13px}
.member-tags{display:flex;gap:6px;flex-wrap:wrap}.member-scope{margin:12px 0 0;display:flex;gap:6px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;background:#f2eee9;color:#4c4743;font-size:13px;font-weight:500}.chip.admin,.chip.all{background:#f0eaff;color:#6a3fb8}.chip.empty{background:var(--amber-soft);color:#946000}
.member-edit{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}.member-edit>summary{cursor:pointer;font-weight:600;font-size:14px;color:#b92f20;padding:6px 0;list-style:none}.member-edit>summary::-webkit-details-marker{display:none}
.member-edit>summary:after{content:' ▾'}.member-edit[open]>summary:after{content:' ▴'}
.member-forms{display:grid;gap:16px;padding:8px 0 4px}.member-actions{display:flex;gap:8px;flex-wrap:wrap}.member-actions form{margin:0}
.button.danger{color:#b23023;border-color:#f2c1bb}.button.danger:hover{background:#fff7f6;border-color:#d83220}
.invite-form{display:grid;gap:14px;padding:16px;max-width:760px}.invite-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.invite-form input:not([type=checkbox]),.invite-form select{height:46px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fff;color:var(--ink);font-size:15px}
.invite-form .button{justify-self:start}.client-picker{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0;display:grid;gap:4px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.client-picker legend{font-size:14px;color:var(--muted);padding:0 6px}
.check{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:8px 6px;border-radius:8px;color:var(--ink)!important;cursor:pointer}.check:hover{background:#faf6f2}
.check input{appearance:none;flex:none;width:20px;height:20px;border:1.5px solid #cfc7bf;border-radius:6px;background:#fff;display:grid;place-content:center;margin:0}
.check input:checked{background:var(--red);border-color:var(--red)}.check input:checked:after{content:'✓';color:#fff;font-size:13px;font-weight:700}
.check input:focus-visible{outline:3px solid #2379e5;outline-offset:2px}

@media(max-width:1050px){.refresh-hero{grid-template-columns:1fr}.refresh-action{align-items:flex-start;text-align:left}.store-list li{grid-template-columns:1fr auto}.store-list .store-state{grid-column:1/-1;order:3}}
@media(max-width:700px){.refresh-button{width:100%;min-height:60px;font-size:17px}.refresh-action,.refresh-action form{width:100%}.tree-node>summary{flex-wrap:wrap}.node-action{width:100%}.node-action .button{width:100%}.node-meta{display:none}.member-head{align-items:flex-start}.client-picker{grid-template-columns:1fr}.flash{padding:13px 14px}.job-results li{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.refresh-button,.job-bar span,.chevron,.refresh-button:disabled svg,.job-card.running .job-icon,.job-card.running .job-bar span{transition:none!important;animation:none!important}}
.stores-table .numeric,.stores-table td:nth-child(2){white-space:nowrap}
.job-card [data-reload]{align-self:flex-start}

.flash{position:sticky;top:12px;z-index:6}
.flash-close{flex:none;width:34px;height:34px;border-radius:8px;background:transparent;color:inherit;font-size:24px;line-height:1;opacity:.7}.flash-close:hover{opacity:1;background:#00000010}
@media(max-width:700px){.metrics .metric>strong{font-size:clamp(17px,5.3vw,24px);letter-spacing:-.8px}}
.table-scroll{position:relative}

/* Selector de cliente, sucursal y días */
.refresh-advanced{grid-column:1/-1;border-top:1px dashed #ead6c1;padding-top:14px}
.refresh-advanced>summary{cursor:pointer;font-weight:600;font-size:15px;color:#b92f20;list-style:none;display:flex;align-items:center;gap:8px}
.refresh-advanced>summary::-webkit-details-marker{display:none}.refresh-advanced>summary:after{content:'▾'}.refresh-advanced[open]>summary:after{content:'▴'}
.refresh-picker{display:grid;gap:16px;margin-top:14px;max-width:920px}
.picker-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.refresh-picker label,.range-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.refresh-picker select,.range-fields input{height:46px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fff;color:var(--ink);font-size:15px;min-width:0}
.day-picker{border:0;margin:0;padding:0}.day-picker legend{font-size:14px;color:var(--muted);padding:0;margin-bottom:8px}
.day-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:8px}
.chip-radio{position:relative;display:block!important;cursor:pointer}
.chip-radio input{position:absolute;inset:0;opacity:0;cursor:pointer;height:100%!important;margin:0}
.chip-radio span{display:block;border:1px solid var(--line);border-radius:10px;padding:10px 13px;background:#fff;transition:border-color .15s,background .15s}
.chip-radio strong{display:block;font-size:15px;color:var(--ink)}.chip-radio small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.chip-radio input:checked+span{border-color:var(--red);background:#fff6f1;box-shadow:0 0 0 2px #ff4a3626}
.chip-radio input:focus-visible+span{outline:3px solid #2379e5;outline-offset:2px}
.chip-radio.is-disabled{cursor:not-allowed;opacity:.5}.chip-radio.is-disabled input{cursor:not-allowed}
.range-fields{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.range-fields[hidden]{display:none}.range-fields label{min-width:180px}
.refresh-picker .button{justify-self:start}
@media(max-width:700px){.day-chips{grid-template-columns:1fr 1fr}.refresh-picker .button{width:100%}}

/* Reclamos y apelaciones */
.state-pill.blue{background:#e9f0ff;color:#285fc8}.state-pill.purple{background:#f0eaff;color:#6a3fb8}
.appeal-sync{display:grid;gap:12px}.appeal-sync label,.appeal-send-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted);text-align:left}
.appeal-sync select,.appeal-send-form input{height:46px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fff;color:var(--ink);font-size:15px;min-width:0}
.appeal-send-form{display:grid;gap:12px;max-width:520px}.appeal-send-form .button{justify-self:start}
.appeal-downloads{display:flex;gap:8px;flex-wrap:wrap}.appeals-table td small{display:block;white-space:normal;max-width:240px}
.state-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.state-filter a{padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:#5d5752}
.state-filter a:hover{border-color:#bbb}.state-filter a.active{background:var(--ink);border-color:var(--ink);color:#fff}
.appeal-text summary{cursor:pointer;color:#b92f20;font-weight:600;font-size:13px;white-space:nowrap}
.appeal-pre{white-space:pre-wrap;font:13px/1.55 'Space Grotesk',Arial,sans-serif;background:#faf7f4;border:1px solid var(--line);border-radius:8px;padding:12px;margin:8px 0;min-width:280px;max-width:520px}

/* Comparativo mes contra mes */
.metric .delta.down{color:#b23023;background:#ffe8e6}.metric .delta.flat{color:#5d5752;background:#efeff3}
.delta-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-family:'Fira Code',monospace;font-size:12px;font-weight:600;background:#e5f5ec;color:#137d51;white-space:nowrap}
.delta-pill.down{background:#ffe8e6;color:#b23023}.delta-pill.flat{background:#efeff3;color:#5d5752}
.comparison-table td:first-child{font-weight:600}
.comparison-table td.numeric{white-space:nowrap}
@media(max-width:700px){
.comparison-table{min-width:0}.comparison-table thead{display:none}
.comparison-table tr{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:12px 0;border-bottom:1px solid var(--line)}
.comparison-table tr:last-child{border-bottom:0}.comparison-table td{padding:0;border:0}
.comparison-table td:nth-child(1){grid-column:1;grid-row:1}.comparison-table td:nth-child(4){grid-column:2;grid-row:1;justify-self:end}
.comparison-table td:nth-child(2),.comparison-table td:nth-child(3){grid-column:1/-1;font-size:12px}
.comparison-table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-family:'Fira Sans',Arial,sans-serif}
}

/* Cierre mensual */
.closing-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:24px;align-items:center;border-left:5px solid #ff6531;background:linear-gradient(135deg,#fff,#fff8f3)}
.closing-copy h2{font-size:22px;margin:10px 0 6px}.closing-copy p{color:var(--muted);font-size:14px;line-height:1.65;max-width:620px}.closing-copy .closing-progress{margin-top:12px;color:var(--ink)}
.closing-action{display:grid;gap:8px;justify-items:start}.closing-action small{color:var(--muted);font-size:12px}.closing-action .is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
.closing-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.closing-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px;border-bottom:1px solid var(--line)}
.closing-list li>div{min-width:0}.closing-list strong{display:block;font-size:14px}.closing-list small{display:block;color:var(--muted);font-size:12px;margin-top:3px;white-space:normal}
.closing-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px}
@media(max-width:1100px){.closing-hero{grid-template-columns:1fr}}
@media(max-width:700px){.closing-list li{align-items:flex-start;flex-direction:column;gap:8px}}

/* Reclamos: contador en los tabs de estado */
.state-filter a{display:inline-flex;align-items:center;gap:6px}
.state-filter .count{font-family:'Fira Code',monospace;font-size:11px;color:var(--muted);background:var(--grey-soft);border-radius:999px;padding:1px 7px}
.state-filter a.active{background:var(--ink);border-color:var(--ink);color:#fff}
.state-filter a.active .count{background:rgba(255,255,255,.18);color:#fff}

/* Reclamos: tabla + panel lateral de tasas de éxito y reglas */
.reclamos-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}
.reclamos-sidebar{display:grid;gap:16px;position:sticky;top:20px}
.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.sidebar-card h3{font-size:14px;margin:0 0 2px}
.sidebar-card .footnote{margin-top:0;margin-bottom:14px}
.rate-row{margin-top:14px}
.rate-row:first-of-type{margin-top:0}
.rate-label{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;margin-bottom:5px}
.rate-label strong{font-family:'Fira Code',monospace;font-size:13px}
.rate-bar{height:6px;border-radius:999px;background:var(--grey-soft);overflow:hidden}
.rate-bar span{display:block;height:100%;background:var(--green);border-radius:999px}
.rate-row .footnote{font-size:11px;margin-top:4px}
.rule-box{background:var(--amber-soft);border:1px solid #f0d9a8;border-left:4px solid var(--amber);border-radius:var(--radius);padding:16px 18px}
.rule-box strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#8a5a00;margin-bottom:6px}
.rule-box p{font-size:13px;line-height:1.55;color:#5d4a1f;margin:0}
@media(max-width:900px){.reclamos-layout{grid-template-columns:1fr}.reclamos-sidebar{position:static}}
