:root{--ink:#172b3a;--blue:#183b59;--gold:#b68a42;--paper:#f5f0e5;--line:#d7cbb6}*{box-sizing:border-box}body{margin:0;background:#0d1d2a;color:var(--ink);font-family:Lato,sans-serif}.forge-shell{max-width:1400px;margin:auto;padding:28px}.forge-head{color:#fff;display:flex;gap:30px;align-items:end;margin-bottom:22px}.forge-head a{color:#e7d4a6;text-decoration:none}.forge-head span,.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em}.forge-head h1,.forge-panel h2,.forge-panel h3{font-family:Marcellus,serif}.forge-head h1{margin:.2rem 0}.forge-head p{margin:0;color:#b9c7d0}.forge-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:22px}.forge-panel{background:var(--paper);border:1px solid #bcae96;border-radius:16px;padding:22px;box-shadow:0 16px 40px #0004}label{display:grid;gap:6px;margin:12px 0;font-weight:700;font-size:13px}input,select,textarea{width:100%;border:1px solid var(--line);background:#fffdf7;border-radius:8px;padding:11px;font:inherit;color:var(--ink)}.two,.three{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three{grid-template-columns:1fr 1fr 1fr}.type-switch{display:flex;gap:8px}.type-switch button,.actions button,.created button{border:1px solid #9f8f75;border-radius:8px;padding:10px 16px;background:#fffaf0;cursor:pointer}.type-switch .active,.actions .primary{background:var(--blue);color:white;border-color:var(--blue)}.material-box{margin:18px 0;padding:15px;border-left:4px solid var(--gold);background:#efe5d2}.material-box h3{margin:0}.material-box p{font-size:12px}.upgrade-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.upgrade-option{display:flex;gap:8px;align-items:start;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fffaf0}.upgrade-option input{width:auto}.upgrade-option.disabled{opacity:.4}.actions{display:flex;gap:10px;margin-top:18px}.preview{position:sticky;top:20px;height:max-content}.preview h2{font-size:30px;margin:.4rem 0}.tag{display:inline-block;padding:5px 9px;border-radius:20px;background:#dce7ec;margin:0 5px 5px 0;font-size:12px}.preview dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-block:1px solid var(--line);padding:15px 0}.preview dt{font-size:12px;color:#687781}.preview dd{margin:0;font-weight:700}.cost{display:grid;gap:7px;font-size:18px}.created{margin-top:22px}.pieces-list{display:grid;gap:10px;margin-top:15px}.piece-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px;background:#fffaf0;border:1px solid var(--line);border-radius:9px}.piece-row small{display:block;color:#687781}#status{margin-top:10px;font-weight:700}@media(max-width:900px){.forge-grid{grid-template-columns:1fr}.preview{position:static}.three,.two,.upgrade-list{grid-template-columns:1fr}}

.random-box{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin:18px 0;padding:14px;border:1px solid #cbb887;border-radius:10px;background:#f7edcf}
.random-box b{display:block;font-family:Marcellus,serif;font-size:18px}
.random-box small{display:block;margin-top:4px;color:#667681;line-height:1.35}
.random-box button{border:1px solid #9c7632;border-radius:8px;padding:11px 16px;background:#b68a42;color:#fff;font-weight:700;cursor:pointer;white-space:nowrap}
.random-box button:hover{filter:brightness(1.06)}
@media(max-width:700px){.random-box{grid-template-columns:1fr}.random-box button{width:100%}}

.stock-picker{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1.2fr);gap:14px;align-items:start;margin-bottom:14px}
.stock-info{border:1px solid #d6c8a5;background:#fbf6e8;border-radius:10px;padding:12px 14px;min-height:74px;font-size:13px;line-height:1.45}
.stock-info b{color:#6f5221}.stock-info .warning{color:#9a5b00;font-weight:700}.stock-info .ok{color:#267342;font-weight:700}
.stock-info .bad{color:#a43b34;font-weight:700}
@media(max-width:760px){.stock-picker{grid-template-columns:1fr}}

.forge-install{background:#fff7df;border:1px solid #d8b666;border-left:5px solid #b68a42;border-radius:14px;padding:18px 20px;margin-bottom:18px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;box-shadow:0 8px 24px #0002}
.forge-install[hidden]{display:none}.forge-install h2{font-family:Marcellus,serif;margin:4px 0 6px}.forge-install p{margin:0;color:#5e6870;line-height:1.45}
.forge-install button{border:1px solid #8b692c;background:#b68a42;color:#fff;border-radius:9px;padding:12px 18px;font-weight:800;cursor:pointer}.forge-install button:disabled{opacity:.55;cursor:wait}
.forge-install.ok{background:#e9f6ec;border-color:#6ea579;border-left-color:#4f8b5b}.forge-install.bad{background:#fff0ee;border-color:#c67b73;border-left-color:#ac493f}
@media(max-width:760px){.forge-install{grid-template-columns:1fr}.forge-install button{width:100%}}

.roll-result{margin:14px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fffaf0}
.roll-result h3{margin:0 0 10px}.rolled-traits{display:grid;gap:8px}
.rolled-trait{display:grid;grid-template-columns:minmax(110px,.4fr) 1fr;gap:10px;padding:9px 10px;border:1px solid #e0d4bd;border-radius:8px;background:#fffdf8}
.rolled-trait b{color:#7d5c24}.rolled-trait.none{opacity:.72}
.roll-result.pending{opacity:.72}

.preview-roll-list{display:grid;gap:7px;margin-top:8px}
.preview-roll-line{display:grid;grid-template-columns:125px 1fr;gap:10px;padding:8px 10px;border-radius:8px;background:#fffaf0;border:1px solid var(--line);font-size:13px}
.preview-roll-line b{color:#7b5925}
.preview-roll-line.none{opacity:.68}

.cost-breakdown{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);display:grid;gap:5px;font-size:12px;color:#66747d}
.cost-breakdown div{display:flex;justify-content:space-between;gap:12px}.cost-breakdown b{color:var(--ink);font-weight:700}

.stock-admin{margin-top:22px}.stock-admin-head{display:flex;justify-content:space-between;gap:16px;align-items:start}
.stock-admin-head h2{margin:.25rem 0}.stock-admin-head p{margin:0;color:#65737c}
.stock-admin-head>button{border:1px solid #9f8f75;border-radius:8px;padding:10px 16px;background:#fffaf0;cursor:pointer}
.stock-admin-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.4fr);gap:18px;margin-top:16px}
.stock-editor{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fffaf0}
.checkline{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px}.checkline input{width:auto}
.stock-admin-list{display:grid;gap:9px;align-content:start}.stock-admin-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fffdf8}
.stock-admin-row small{display:block;color:#687781;margin-top:3px}.stock-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:end}
.stock-actions button{border:1px solid #b9aa91;background:#fffaf0;border-radius:7px;padding:6px 9px;cursor:pointer}.stock-actions .edit{background:#173b59;color:white;border-color:#173b59}
.stock-pill{display:inline-block;padding:3px 6px;border-radius:12px;background:#e7edf0;font-size:10px;margin-right:4px}.stock-pill.yes{background:#e5f3e8;color:#2e7040}.stock-pill.no{background:#f2e9dc;color:#775a34}
@media(max-width:850px){.stock-admin-grid{grid-template-columns:1fr}.stock-admin-head{display:grid}}

.sync-panel{margin-bottom:18px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.sync-panel h2{margin:.2rem 0}.sync-panel p{margin:0 0 8px;color:#66747d}
.sync-panel>button{border:1px solid #9d7533;background:#b68a42;color:#fff;border-radius:8px;padding:10px 15px;font-weight:700;cursor:pointer}
.sync-status{font-size:12px;color:#596873}.sync-status .ok{color:#267342}.sync-status .bad{color:#a43b34}
@media(max-width:760px){.sync-panel{grid-template-columns:1fr}.sync-panel>button{width:100%}}

.stock-derived-note{margin:8px 0 10px;padding:9px 10px;border:1px dashed #cdbb98;border-radius:8px;background:#fffaf0;color:#6c6255;font-size:12px;line-height:1.4}

.catalog-stock-group{margin-bottom:18px}.catalog-stock-group h3{font-family:Georgia,serif;color:#17354a}.stock-admin-panel .stock-admin-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:900px){.stock-admin-panel .stock-admin-list{grid-template-columns:1fr}}


/* =========================================================
   RC17G · ADMINISTRACIÓN DE PIEZAS PUBLICADAS
   ========================================================= */

.published-admin-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.published-pieces-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:16px;
}

.published-piece-card{
    border:1px solid rgba(35,67,84,.18);
    border-radius:16px;
    padding:16px;
    background:rgba(255,255,255,.78);
    display:grid;
    gap:14px;
}

.published-piece-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.piece-name-input{
    width:100%;
    font-family:Georgia,serif;
    font-size:1.08rem;
    font-weight:700;
    color:#17354a;
    border:1px solid rgba(35,67,84,.18);
    border-radius:9px;
    padding:8px 10px;
    background:#fffdf9;
    margin-top:4px;
}

.published-piece-summary{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}

.published-piece-summary span{
    padding:4px 8px;
    border-radius:999px;
    background:#eef3f4;
    font-size:.78rem;
}

.published-piece-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.published-piece-fields.compact{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.published-piece-fields label,
.published-piece-notes{
    display:grid;
    gap:5px;
    font-size:.8rem;
    font-weight:700;
    color:#385467;
}

.published-piece-fields input,
.published-piece-fields select,
.published-piece-notes textarea,
.piece-ability textarea{
    width:100%;
    border:1px solid rgba(35,67,84,.18);
    border-radius:9px;
    padding:8px 9px;
    background:#fff;
    color:#203746;
    box-sizing:border-box;
}

.piece-ability{
    border-left:3px solid #8a6a2d;
    padding:10px 12px;
    background:#fbf7ed;
    border-radius:0 10px 10px 0;
    display:grid;
    gap:8px;
}

.piece-ability.none{
    border-left-color:#9aa6aa;
    background:#f3f5f5;
}

.piece-ability.none span{
    font-size:.88rem;
    color:#5d7078;
}

.published-piece-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

@media(max-width:980px){
    .published-pieces-grid{
        grid-template-columns:1fr;
    }

    .published-piece-fields.compact{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){
    .published-piece-fields{
        grid-template-columns:1fr;
    }
}



/* RC17H · historial de evolución */
.evolution-log-list{
    display:grid;
    gap:8px;
    margin-top:14px;
}
.evolution-log-row{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:12px 14px;
    border:1px solid rgba(35,67,84,.16);
    border-radius:12px;
    background:rgba(255,255,255,.72);
}
.evolution-log-row div{
    display:grid;
    gap:3px;
}
.evolution-log-row small,
.evolution-log-row time{
    color:#667780;
    font-size:.78rem;
}
@media(max-width:760px){
    .evolution-log-row{grid-template-columns:1fr}
}


/* =========================================================
   RC17I · ARMADURAS: NÚCLEO + PARTE OPCIONAL
   ========================================================= */

.material-layer{
    display:grid;
    gap:9px;
    margin-top:10px;
    padding:12px;
    border:1px solid rgba(35,67,84,.14);
    border-radius:12px;
    background:rgba(255,255,255,.48);
}

.material-layer.optional-material{
    border-style:dashed;
    background:rgba(255,252,243,.72);
}

.material-layer-kicker{
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.12em;
    color:#8c6223;
}

.material-help{
    margin:0;
    color:#66747b;
    font-size:.78rem;
    line-height:1.4;
}

#armorPartLayer[hidden]{
    display:none !important;
}

.forge-nav-links{display:flex;gap:14px;flex-wrap:wrap}.forge-nav-links a{white-space:nowrap}
