/* Panel de gestión: hoja de estilo única. Variables en :root para ajustar colores y medidas. */
:root{--bg:#f6f6f3;--ink:#1d1d1d;--muted:#6b6b68;--rule:rgba(0,0,0,.14);--sold:#c8102e;--ok:#2d6a3e;--bad:#b00020;--font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--font)}
h1{margin:0;font-size:1.15rem;font-weight:600}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 24px;border-bottom:1px solid var(--rule);position:sticky;top:0;background:var(--bg);z-index:5}
.top__actions{display:flex;gap:8px;flex-wrap:wrap}
main{padding:16px 24px 60px}
.btn{appearance:none;display:inline-block;padding:7px 14px;border:.5px solid rgba(0,0,0,.55);background:rgba(255,255,255,.6);color:inherit;font:inherit;text-decoration:none;cursor:pointer}
.btn:hover{background:#fff}
.btn--primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn--primary:hover{background:#000}
.btn[disabled]{opacity:.5;cursor:wait}
.msg{margin:6px 0;min-height:1.4em;color:var(--muted)}.msg.ok{color:var(--ok)}.msg.bad{color:var(--bad)}
.bar{display:flex;align-items:center;gap:16px;margin:8px 0 12px}
#buscar{flex:1;max-width:340px;padding:7px 10px;border:.5px solid rgba(0,0,0,.55);background:rgba(255,255,255,.6);font:inherit}
.count{color:var(--muted);font-size:.85rem}
.tablewrap{overflow:auto;border:1px solid var(--rule);background:#fff}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap}
th{position:sticky;top:0;background:#fafaf8;cursor:pointer;user-select:none;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
th.sort::after{content:" ▾"}th.sort.asc::after{content:" ▴"}
tbody tr{cursor:pointer}tbody tr:hover{background:#f3f3ef}
td.t{white-space:normal;min-width:180px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--sold);vertical-align:middle}
.warn{color:var(--bad);font-size:.8rem}.hid{opacity:.5}
dialog{width:min(900px,96vw);max-height:94vh;overflow:auto;border:1px solid var(--ink);background:var(--bg);padding:20px 24px}
dialog::backdrop{background:rgba(0,0,0,.35)}
dialog h2{margin:0 0 14px;font-size:1.05rem}
.grid{display:grid;grid-template-columns:220px 1fr;gap:20px}
@media(max-width:700px){.grid{grid-template-columns:1fr}}
.foto img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#fff;border:1px solid var(--rule);margin-bottom:8px}
.foto small{display:block;margin-top:6px;color:var(--muted)}
label{display:block;margin-bottom:10px;font-size:.85rem;color:var(--muted)}
label input:not([type=checkbox]),label select{display:block;width:100%;margin-top:3px;padding:7px 9px;border:.5px solid rgba(0,0,0,.55);background:rgba(255,255,255,.7);font:inherit;color:var(--ink)}
.fila{display:flex;gap:10px;align-items:flex-end}.fila>label{flex:1}.fila--wrap{flex-wrap:wrap}
.checks{display:flex;gap:18px;flex-wrap:wrap;margin:4px 0 10px}.checks label{margin:0;color:var(--ink)}
.tag{padding:7px 10px;border:1px dashed var(--rule);color:var(--muted);font-size:.85rem;margin-bottom:10px}
fieldset{border:1px solid var(--rule);padding:10px 12px;margin:0 0 10px}legend{padding:0 6px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
details.dd{position:relative;flex:1 1 150px;min-width:150px}
details.dd summary{list-style:none;cursor:pointer;padding:7px 10px;border:.5px solid rgba(0,0,0,.55);background:rgba(255,255,255,.7);font-size:.88rem}
details.dd summary::-webkit-details-marker{display:none}
details.dd summary::after{content:" ▾";float:right}
details.dd .opts{position:absolute;z-index:9;left:0;right:0;top:100%;padding:8px 10px;border:.5px solid rgba(0,0,0,.55);background:#fff}
details.dd .opts label{margin:0 0 4px;color:var(--ink)}
.dd small{display:block;color:var(--muted);font-size:.75rem;margin-bottom:3px}
details.tr summary{cursor:pointer;color:var(--muted);margin:6px 0}
.dlg__bar{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
body.login{display:grid;place-items:center;min-height:100vh}
.login__box{width:min(340px,92vw);background:#fff;padding:24px;border:1px solid var(--rule)}.login__box h1{margin-bottom:16px}
.bar--portada{margin-top:0}.bar--portada select{margin-left:6px}
.priv textarea{width:100%;resize:vertical}.priv small{display:block;margin-top:6px;color:var(--muted)}td.obs{min-width:200px;max-width:320px;color:var(--muted)}
