/* =========================================================
   Oficina modular — produção de ferramentas de cerco
   ========================================================= */
.workshop-modal {
  width:min(1120px,96vw);
  max-height:94vh;
  border:2px solid #7a5731;
  background:#d8bd8f;
  color:#3f2c1d;
}
.workshop-modal .modal-head {
  padding:10px 16px;
  background:linear-gradient(#afc843,#8da92e);
  border-color:#6d7e24;
}
.workshop-modal .modal-head h3 { color:#33290e; font-family:Georgia,serif; font-size:24px; }
.workshop-modal .modal-close { color:white; text-shadow:0 2px 2px #6e1f17; }
.workshop-modal .modal-body { padding:0; background:#d8bd8f; }
.workshop-modal .modal-actions {
  background:#b28c5e;
  border-top:2px solid #765231;
}
.workshop-shell {
  min-height:660px;
  padding:18px;
  background:
    linear-gradient(#0000000a,#0000000a),
    repeating-linear-gradient(0deg,#d9bd8e 0 28px,#d3b484 28px 56px);
  color:#402f21;
}
.workshop-banner {
  display:grid;
  grid-template-columns:76px 1fr 126px;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border:2px solid #705034;
  border-radius:9px;
  background:linear-gradient(135deg,#8f6848,#5d4837);
  color:#fff5dc;
  box-shadow:inset 0 1px #ffffff44,0 5px 12px #53381755;
}
.workshop-banner-crest {
  width:66px;height:66px;display:grid;place-items:center;
  border-radius:50%;border:3px solid #ead28f;
  background:#9e1e1e;font-size:34px;box-shadow:0 4px 8px #0007;
}
.workshop-banner small,.workshop-section-heading small { text-transform:uppercase;letter-spacing:.08em;font-weight:800;opacity:.75; }
.workshop-banner h2 { margin:1px 0 3px;font-family:Georgia,serif;font-size:27px; }
.workshop-banner p { margin:0;color:#f0dfbd; }
.workshop-speed { text-align:center;padding:9px;border:1px solid #cfb27e;border-radius:7px;background:#402f24bb; }
.workshop-speed span { display:block;font-size:11px;text-transform:uppercase; }
.workshop-speed strong { display:block;font-size:25px;color:#ffe381; }
.workshop-queue-section,.workshop-catalog-section { margin-top:16px; }
.workshop-section-heading { display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:8px; }
.workshop-section-heading h3 { margin:0;font-family:Georgia,serif;font-size:21px; }
.workshop-section-heading > span { font-size:12px;color:#6a5037;font-weight:700; }
.workshop-queue-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px; }
.workshop-queue-slot {
  min-height:82px;position:relative;display:flex;align-items:center;gap:8px;padding:8px;
  border:2px solid #8c7656;border-radius:6px;background:#c9b592;box-shadow:inset 0 0 0 2px #ead9b8;
}
.workshop-queue-slot.is-empty { justify-content:center;flex-direction:column;color:#7f6f57;background:#b5ab91;opacity:.78; }
.workshop-queue-slot.is-empty > span { width:30px;height:30px;display:grid;place-items:center;border:2px dashed #84755e;border-radius:4px;font-weight:900; }
.workshop-queue-slot.is-active { border-color:#3f89b9;box-shadow:inset 0 0 0 2px #c8edff,0 0 0 2px #326d91; }
.workshop-slot-icon { flex:0 0 52px;height:58px;display:grid;place-items:center;background:#8e836e;border:1px solid #756a56;border-radius:5px; }
.workshop-slot-data { min-width:0;display:flex;flex-direction:column;gap:2px; }
.workshop-slot-data b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workshop-slot-data small { color:#71583f; }
.workshop-slot-data span { font-weight:900;color:#3d2a16; }
.workshop-cancel-item { position:absolute;right:4px;top:3px;width:22px;height:22px;border:0;border-radius:50%;background:#9c3e31;color:white;font-weight:900; }
.workshop-tool-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.workshop-tool-card {
  min-height:188px;padding:10px;border:2px solid #8d7857;border-radius:7px;
  background:linear-gradient(#ead8b5,#cfb98f);color:#3d2d20;text-align:left;
  box-shadow:inset 0 1px #fff9;transition:transform .14s,border-color .14s,filter .14s;
}
.workshop-tool-card:hover:not(:disabled) { transform:translateY(-2px);border-color:#537ea3; }
.workshop-tool-card.is-selected { border-color:#3076a6;box-shadow:inset 0 0 0 2px #c4e6ff,0 4px 10px #35627c66; }
.workshop-tool-card.is-locked { filter:grayscale(.75);opacity:.58;cursor:not-allowed; }
.workshop-tool-card-icon { height:82px;display:grid;place-items:center;border:1px solid #9c8766;background:#aa9b7f;border-radius:5px;margin-bottom:7px; }
.workshop-tool-card strong { display:block;font-family:Georgia,serif;font-size:18px; }
.workshop-tool-card > small { display:block;min-height:34px;margin-top:3px;color:#684f36; }
.workshop-tool-card-bottom { display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:7px;font-size:11px; }
.workshop-stock-badge { display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid #8b7657;border-radius:4px;background:#f0dfbd;white-space:nowrap; }
.workshop-stock-badge b { font-size:14px;color:#3e2d1e; }
.workshop-selected-panel {
  display:grid;grid-template-columns:260px 1fr;gap:18px;margin-top:16px;padding:14px;
  border:2px solid #7b5a38;border-radius:9px;background:linear-gradient(135deg,#c7a879,#e5c99a);
  box-shadow:inset 0 1px #fff7;
}
.workshop-selected-visual { min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px solid #8b7352;border-radius:7px;background:#9b8b70; }
.workshop-selected-info h3 { margin:0;font-family:Georgia,serif;font-size:27px; }
.workshop-selected-info p { margin:4px 0 10px;color:#5e422c; }
.workshop-effect { display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #9b7c55;border-radius:6px;background:#eed5a8; }
.workshop-effect strong { color:#9b2f25; }
.workshop-quantity-row { display:flex;align-items:end;gap:8px;margin:12px 0; }
.workshop-quantity-row > button { width:42px;height:42px;border:2px solid #74542f;border-radius:5px;background:#c89842;color:#3c260f;font-size:25px;font-weight:900; }
.workshop-quantity-row label { flex:1; }
.workshop-quantity-row label span { display:block;margin-bottom:4px;font-size:12px;font-weight:800; }
.workshop-quantity-row input { width:100%;height:42px;padding:7px 10px;border:2px solid #82623f;border-radius:5px;background:#fff1d1;color:#3c2b1b;font-size:18px;font-weight:900;text-align:center; }
.workshop-production-summary { display:grid;grid-template-columns:180px 1fr;gap:9px;margin-bottom:12px; }
.workshop-production-summary > div { padding:8px 10px;border:1px solid #94734d;border-radius:5px;background:#f0d5a5; }
.workshop-production-summary span { display:block;font-size:11px;text-transform:uppercase;font-weight:800;color:#72553a; }
.workshop-production-summary strong { display:block;margin-top:4px;font-size:17px; }
.workshop-produce-btn { width:100%;padding:12px;border:2px solid #4f801b;border-radius:6px;background:linear-gradient(#8bc82f,#58a215);color:white;font-weight:900;font-size:17px;text-shadow:0 1px #315a0c;box-shadow:inset 0 1px #dfff8c; }
.siege-tool-icon { display:inline-grid;place-items:center;vertical-align:middle; }
.siege-tool-icon svg { width:100%;height:100%;display:block;filter:drop-shadow(0 3px 2px #0005); }
.siege-tool-icon-small { width:48px;height:48px; }
.siege-tool-icon-card { width:76px;height:76px; }
.siege-tool-icon-large { width:190px;height:190px; }
.siege-tool-icon-normal { width:32px;height:32px; }
@media (max-width:900px) {
  .workshop-queue-grid { grid-template-columns:repeat(3,1fr); }
  .workshop-selected-panel { grid-template-columns:1fr; }
  .workshop-selected-visual { min-height:170px; }
}
