:root{--paper:#fbf6ec;--ink:#3a2e25;--ink-soft:#5c4a3c;--clay:#c4603f;--clay-dark:#9e4a2e;--line:#3a2e2524;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{color:var(--ink);background:#f3eee2;margin:0}.center{text-align:center;place-content:center;gap:12px;min-height:100vh;padding:24px;display:grid}.login h1{font-size:24px}.btn{background:var(--clay);color:#fff6f0;cursor:pointer;border:none;border-radius:10px;padding:11px 20px;font-size:15px}.btn:hover{background:var(--clay-dark)}.btn:disabled{opacity:.5;cursor:default}.link{color:var(--clay);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:4px 0}.link:hover{text-decoration:underline}.muted{color:var(--ink-soft)}.shell{min-height:100vh}.topbar{background:var(--paper);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:24px;padding:14px 24px;display:flex;position:sticky;top:0}.tabs{gap:6px;margin-left:12px;display:flex}.tabs button{cursor:pointer;font:inherit;color:var(--ink-soft);background:0 0;border:none;border-radius:8px;padding:8px 14px}.tabs button.active{color:var(--ink);background:#eadbbf}.user{color:var(--ink-soft);align-items:center;gap:14px;margin-left:auto;font-size:14px;display:flex}.content{max-width:820px;margin:0 auto;padding:28px 24px 80px}.grupo{margin-bottom:22px}.grupo h2{text-transform:uppercase;letter-spacing:.08em;color:var(--clay-dark);margin:0 0 8px;font-size:15px}.grupo ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.editor-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;display:flex}.editor-head code{background:#eadbbf;border-radius:6px;padding:4px 8px;font-size:13px}.editor-head .btn{margin-left:auto}.status{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px;font-size:14px}.jsonform .obj,.jsonform .arr{border:1px solid var(--line);background:#fff;border-radius:12px;margin:0 0 14px;padding:14px 16px}.jsonform .obj.root{background:0 0;border:none;padding:0}.jsonform legend{color:var(--ink-soft);padding:0 6px;font-size:14px;font-weight:600}.field{margin-bottom:12px}.field label{color:var(--ink-soft);margin-bottom:5px;font-size:13px;display:block}.field input,.field textarea{width:100%;font:inherit;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:9px 11px;font-size:14px}.field-inline{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.arr-item{align-items:flex-start;gap:10px;display:flex}.arr-item>:first-child{flex:1}.rm{border:1px solid var(--line);cursor:pointer;color:var(--clay-dark);background:0 0;border-radius:8px;padding:6px 10px;font-size:13px}.add{cursor:pointer;background:#eadbbf;border:none;border-radius:8px;padding:8px 14px;font-size:13px}.photos input[type=file]{margin:14px 0}.hint{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:14px;padding:14px 16px}.hint code{background:#eadbbf;border-radius:5px;padding:2px 6px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:16px 0 28px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.stat-label{color:var(--ink-soft);font-size:13px}.stat-value{color:var(--clay-dark);font-size:26px;font-weight:600}.table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 14px;font-size:14px}.table th{background:#eadbbf;font-weight:600}.table tr:last-child td{border-bottom:none}.small{margin-top:18px;font-size:13px}.stat.clickable{cursor:pointer;border:1px solid var(--line);text-align:left;font:inherit;color:inherit;background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;transition:border-color .15s,transform .15s;display:flex}.stat.clickable:hover{border-color:var(--clay);transform:translateY(-1px)}.stat.clickable.active{border-color:var(--clay);background:#fff6e5}.badge{letter-spacing:.02em;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-pending{color:#7a5a16;background:#ffe9c2}.badge-confirmed{color:#2f6432;background:#d9ebd8}.badge-unsubscribed{color:#6b6052;background:#e7e2da}.badge-bounced,.badge-complained{color:#8a2a2a;background:#f6cfcf}.range-picker{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:3px;display:inline-flex}.range-picker button{cursor:pointer;font:inherit;color:var(--ink);background:0 0;border:0;border-radius:6px;padding:6px 14px}.range-picker button.active{background:var(--clay);color:#fff}.rank-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:24px 0;display:grid}.rank{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.rank h3{font-size:14px;font-family:var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--clay-dark);margin:0 0 12px;font-weight:600}.rank-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.rank-list li{border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:6px 10px;font-size:13px;display:grid;position:relative;overflow:hidden}.rank-bar{z-index:0;background:#c49f5c24;border-radius:6px;transition:width .3s;position:absolute;inset:0 auto 0 0}.rank-label{z-index:1;white-space:nowrap;text-overflow:ellipsis;position:relative;overflow:hidden}.rank-count{z-index:1;color:var(--clay-dark);font-variant-numeric:tabular-nums;font-weight:600;position:relative}.sol-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sol-actions{gap:8px;display:flex}.sol button{background:var(--clay);color:#fff;cursor:pointer;font:inherit;border:none;border-radius:8px;padding:8px 14px}.sol button:hover{background:var(--clay-dark)}.sol button:disabled{opacity:.5;cursor:not-allowed}.sol button.ghost{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.sol-filters{align-items:center;gap:16px;margin-bottom:12px;display:flex}.chk{color:var(--ink-soft);align-items:center;gap:6px;display:flex}.sol-table{border-collapse:collapse;width:100%}.sol-table th,.sol-table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px;font-size:14px}.sol-table tr.clickable{cursor:pointer}.sol-table tr.clickable:hover{background:#c4603f0f}.badge{background:var(--line);color:var(--ink);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.badge.ok{color:#2f5d2a;background:#d9ecd0}.badge.warn{color:#8a5a1e;background:#f6e0c8}.badge.est-nueva{color:#2a4a7a;background:#dfe8f6}.badge.est-en_curso{color:#7a6a1e;background:#f6efc8}.badge.est-esperando_materiales{color:#8a5a1e;background:#f6e0c8}.badge.est-resuelta{color:#2f5d2a;background:#d9ecd0}.badge.est-cerrada{background:var(--line);color:var(--ink-soft)}.badge.est-cancelada{color:#8a2e2e;background:#f0d4d0}.sol-form,.sol-block{flex-direction:column;gap:12px;max-width:720px;margin-bottom:20px;display:flex}.sol-block{border-top:1px solid var(--line);padding-top:12px}.sol-form label,.sol-block label{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:14px;display:flex}.sol input,.sol select,.sol textarea{border:1px solid var(--line);font:inherit;background:var(--paper);color:var(--ink);border-radius:8px;padding:8px 10px}.sol .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sol-detail-head{align-items:center;gap:12px;display:flex}.sol-mat{align-items:center;gap:10px;display:flex}.sol-photos{flex-wrap:wrap;gap:8px;display:flex}.sol-thumb{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:96px;height:96px}.sol-photos.small .sol-thumb{width:60px;height:60px}.sol-file{color:var(--clay-dark)}.sol-timeline{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.sol-timeline li{border-left:2px solid var(--line);padding-left:12px;font-size:14px}.err{color:#a33}
