/* Panel — misma línea que el sitio: negro, tipografía fina */
:root{--bg:#1d0d0b;--panel:#331714;--fg:#f6f1ee;--soft:#ddd7d1;--mut:#b9b4ae;--line:rgba(185,180,174,.22);--ok:#9be3b0;--err:#ff9b93;--acc:#fa502c;--acc2:#fb9b8b;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:var(--font);font-weight:300;font-size:15.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:1px solid var(--fg);outline-offset:3px}
h1{font-weight:200;font-size:clamp(28px,4vw,44px);letter-spacing:-.025em;line-height:1.1;margin-bottom:22px}
h2{font-weight:300;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);margin:38px 0 16px;padding-top:22px;border-top:1px solid var(--line)}
.nota{color:var(--mut);font-size:14px;max-width:60ch;margin-bottom:20px}

.top{position:sticky;top:0;z-index:5;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,3vw,36px);
  background:rgba(29,13,11,.8);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line);font-size:13px}
.top .marca span{color:var(--mut);margin-left:.6em}
.top div{display:flex;gap:22px;align-items:center}
.top div a,.top div button{color:var(--soft)}
.top div a:hover,.top div button:hover{color:var(--fg)}

.lay{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 58px)}
.lado{border-right:1px solid var(--line);padding:26px 0;position:sticky;top:58px;align-self:start;height:calc(100vh - 58px);overflow-y:auto}
.lado a{display:block;padding:9px clamp(16px,3vw,36px);color:var(--mut);font-size:14px;border-left:1px solid transparent;margin-left:-1px;transition:color .25s}
.lado a:hover{color:var(--fg)}
.lado a.on{color:var(--fg);border-left-color:var(--fg)}
main{padding:clamp(24px,4vw,56px) clamp(16px,4vw,64px) 96px;max-width:980px;width:100%}

label{display:block;margin-bottom:20px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
input:not([type=checkbox]):not([type=file]),textarea,select{display:block;width:100%;margin-top:7px;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--fg);
  font:inherit;font-size:15.5px;letter-spacing:0;text-transform:none;padding:11px 12px;transition:border-color .25s}
input:focus,textarea:focus,select:focus{outline:0;border-color:rgba(214,208,202,.6)}
textarea{resize:vertical;line-height:1.5}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#b9b4ae 50%),linear-gradient(135deg,#b9b4ae 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.chk{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;letter-spacing:0;text-transform:none;color:var(--soft);cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--fg);flex:none}
.chks{display:flex;flex-direction:column;gap:14px;justify-content:center;margin-bottom:20px}

.btn{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:11px 22px;border-radius:999px;background:var(--fg);color:var(--bg);font-size:13.5px;letter-spacing:.02em;border:1px solid var(--fg);transition:opacity .25s}
.btn:hover{opacity:.85}
.btn.sec{background:transparent;color:var(--fg);border-color:rgba(214,208,202,.4);margin-top:0}
.btn.rojo{background:transparent;color:var(--err);border-color:rgba(255,155,147,.5)}
form.inline{margin-bottom:22px}
.peligro{margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
.volver{font-size:13px;color:var(--mut);margin-bottom:14px}
.volver a:hover{color:var(--fg)}

.aviso{border:1px solid rgba(155,227,176,.45);color:var(--ok);border-radius:8px;padding:12px 14px;margin-bottom:24px;font-size:14px}
.aviso.error{border-color:rgba(255,155,147,.5);color:var(--err)}

.tabla{border-top:1px solid var(--line);margin-bottom:22px}
.tabla .cab{display:none}
.row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.row input:not([type=checkbox]),.row textarea,.row select{margin-top:0}
.acc{display:flex;gap:4px;flex:none}
.acc button{width:32px;height:32px;border:1px solid var(--line);border-radius:6px;color:var(--soft);font-size:14px}
.acc button:hover{border-color:rgba(214,208,202,.5);color:var(--fg)}
.row.sec input:not([type=checkbox]){flex:1;min-width:0}
.row.sec .chk{flex:none}
.row.proy .mini-img{width:72px;height:54px;flex:none;background:var(--panel);border-radius:4px;overflow:hidden}
.row.proy img{width:100%;height:100%;object-fit:cover;display:block}
.row.proy .tit{flex:1;min-width:0}
.row.proy small{display:block;color:var(--mut);font-size:12.5px}
.row.port .chk{flex:1}
.mini{margin:0;display:flex;align-items:center;gap:8px;flex:none}
.mini input,.mini select{width:78px!important}
.rows:not(.imgs):not(.tabla){margin-bottom:18px;border-top:1px solid var(--line)}
.row.par{align-items:flex-start}
.row.par input{flex:0 0 30%}
.row.par.corto input{flex:0 0 96px}
.row.par textarea{flex:1}

.imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.row.img{display:block;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}
.row.img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.row.img .acc{padding:8px;justify-content:space-between}
.row.img:first-child{border-color:rgba(214,208,202,.55)}
.file{border:1px dashed rgba(214,208,202,.3);border-radius:8px;padding:16px}
.file input{display:block;margin-top:10px;color:var(--soft);font-size:14px;letter-spacing:0;text-transform:none}
.retrato{display:flex;gap:18px;align-items:flex-start}
.retrato img{width:120px;aspect-ratio:4/5;object-fit:cover;border-radius:6px;filter:grayscale(1)}
.retrato .file{flex:1}

.solo{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.caja{width:min(400px,100%)}
.caja h1{font-size:32px}

@media (max-width:820px){
  .lay{display:block}
  .lado{position:sticky;top:58px;z-index:4;height:auto;display:flex;overflow-x:auto;padding:0 8px;border-right:0;border-bottom:1px solid var(--line);background:var(--bg);scrollbar-width:none}
  .lado::-webkit-scrollbar{display:none}
  .lado a{white-space:nowrap;padding:14px 12px;border-left:0;border-bottom:1px solid transparent;margin:0 0 -1px}
  .lado a.on{border-bottom-color:var(--fg)}
  .dos{grid-template-columns:1fr}
  .row.sec,.row.proy,.row.port,.row.par{flex-wrap:wrap}
  .row.sec input:not([type=checkbox]){flex:1 1 60%}
  .row.par input,.row.par.corto input{flex:1 1 100%}
  .row.par textarea{flex:1 1 100%}
  .row.proy .tit{flex:1 1 50%}
  .retrato{flex-direction:column}
}

.iso{display:block;width:auto;flex:none}
.top .marca{display:flex;align-items:center;gap:10px}
.top .marca .iso{height:24px}
.top .marca span{margin-left:0}
.caja .logo{height:64px;margin-bottom:28px}

/* v7: paleta del manual de marca */
.btn{background:var(--acc);border-color:var(--acc);color:#fff}
.btn.sec{background:transparent;color:var(--fg);border-color:rgba(214,208,202,.4)}
.btn.rojo{background:transparent}
.lado a.on{border-color:var(--acc)}
input:focus,textarea:focus,select:focus{border-color:var(--acc)!important}
.chk input{accent-color:var(--acc)}
:focus-visible{outline-color:var(--acc)}
input:not([type=checkbox]):not([type=file]),textarea,select{background:rgba(51,23,20,.6)}

/* v10: edición en dos idiomas */
.lang{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px}
.lang a{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 5px;border-radius:999px;font-size:10.5px;letter-spacing:.14em;line-height:1;color:var(--mut)!important}
.lang .fl,.modo-pt .fl{width:15px;height:15px;border-radius:50%;flex:none;filter:saturate(.5);opacity:.65}
.lang a.on{background:rgba(214,208,202,.14);color:var(--fg)!important}
.lang a.on .fl,.modo-pt .fl{filter:saturate(.85);opacity:1}
.modo-pt{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(251,155,139,.4);border-radius:8px;padding:12px 14px;margin-bottom:24px;font-size:14px;color:var(--soft)}
.modo-pt .fl{margin-top:3px}
.modo-pt b{font-weight:400;color:var(--acc2)}
.orig{display:block;margin-top:7px;font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--mut);line-height:1.45;opacity:.8}
.orig b{font-weight:400;font-size:10px;letter-spacing:.14em;color:var(--acc2);margin-right:6px}
.fijo{flex:0 0 150px;color:var(--mut);font-size:14px}
.row.par.pt .col{flex:1;min-width:0}
.row.par.pt.corto .fijo{flex:0 0 70px;padding-top:11px}
.falta{font-style:normal;color:var(--acc2)}
@media (max-width:820px){.top div{gap:12px}.top .marca span{display:none}.fijo{flex:1 1 100%}.top .lang a span{display:none}.top .lang a{padding:5px}}
.modo-pt{display:block}
.modo-pt .fl{display:inline-block;vertical-align:-3px;margin:0 6px 0 0}

/* v11: tipografía y logo */
.prev{border:1px solid var(--line);border-radius:8px;padding:24px 22px;margin-bottom:16px;background:rgba(51,23,20,.45)}
.prev-t{font-size:34px;line-height:1.1;letter-spacing:-.025em;font-weight:200;margin-bottom:14px}
.prev-l{font-size:20px;line-height:1.35;font-weight:200;margin-bottom:12px}
.prev-b{font-size:15.5px;color:var(--soft);font-weight:300;max-width:60ch}
.logo-act{display:flex;gap:18px;align-items:stretch;margin-bottom:14px}
.logo-caja{flex:0 0 150px;min-height:120px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:18px}
.logo-caja .iso{height:74px;max-width:110px;object-fit:contain}
.logo-act > div:last-child{flex:1}
.top .marca .iso{max-width:90px;object-fit:contain}
input[type=range]{display:block;width:100%;margin-top:12px;accent-color:var(--acc);padding:0!important;border:0!important;background:none!important}
.chk input[type=radio]{width:18px;height:18px;accent-color:var(--acc);flex:none}
label output{color:var(--fg)}
@media (max-width:820px){.logo-act{flex-direction:column}.logo-caja{flex:none}}

.estado{font-size:13.5px;color:var(--mut);margin-bottom:18px;padding-left:16px;position:relative}
.estado::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--mut)}
.estado.ok{color:var(--ok)}.estado.ok::before{background:var(--ok)}
