/* Phase74-A: presentation-only cleanup. Existing IDs and calculation handlers are untouched. */

.phase74-layout #page-battle,
.phase74-layout #page-result{
  --p74-gap:12px;
}

/* ===== WS / SUPPORT / ENEMY ===== */
.phase74-layout .battle-layout-v2{gap:var(--p74-gap)}
.phase74-layout .battle-ws-panel,
.phase74-layout .battle-support-panel,
.phase74-layout .battle-enemy-panel{
  padding:13px 14px;
}
.phase74-layout .battle-panel-title{
  margin-bottom:10px;
  padding-bottom:8px;
}
.phase74-layout .battle-panel-title h3{font-size:16px}
.phase74-layout .battle-panel-kicker{font-size:9px}
.phase74-layout .battle-ws-grid{
  grid-template-columns:minmax(260px,1.7fr) 105px minmax(170px,.9fr) minmax(165px,.8fr);
  gap:9px 10px;
}
.phase74-layout .battle-ws-info{
  padding:8px 10px;
  border-radius:7px;
  border:1px solid rgba(91,124,153,.28);
  background:rgba(5,12,19,.30);
}

.phase74-layout .battle-lower-grid{
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:var(--p74-gap);
  align-items:start;
}
.phase74-layout .battle-support-panel,
.phase74-layout .battle-enemy-panel{height:auto}

/* Frequently used support controls stay visible. */
.phase74-support-quick{
  padding:9px;
  margin-bottom:9px;
  border:1px solid rgba(96,139,177,.35);
  border-radius:9px;
  background:linear-gradient(180deg,rgba(30,59,83,.24),rgba(8,17,26,.24));
}
.phase74-subhead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}
.phase74-subhead strong{font-size:12px;color:#d8eaff}
.phase74-subhead small{font-size:9px;color:var(--muted)}
.phase74-support-quick-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.phase74-support-quick-grid label{min-width:0}
.phase74-support-quick-grid small{display:none}

.phase74-support-details,
.phase74-enemy-details,
.phase74-verification-details{
  border:1px solid rgba(91,116,143,.32);
  border-radius:9px;
  background:rgba(6,14,22,.22);
  overflow:hidden;
}
.phase74-support-details>summary,
.phase74-enemy-details>summary,
.phase74-verification-details>summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  font-size:11px;
  font-weight:800;
  color:#c8d9ea;
  user-select:none;
}
.phase74-support-details>summary::-webkit-details-marker,
.phase74-enemy-details>summary::-webkit-details-marker,
.phase74-verification-details>summary::-webkit-details-marker{display:none}
.phase74-support-details>summary:after,
.phase74-enemy-details>summary:after,
.phase74-verification-details>summary:after{
  content:"＋";
  flex:0 0 auto;
  font-size:16px;
  color:#83bceb;
}
.phase74-support-details[open]>summary:after,
.phase74-enemy-details[open]>summary:after,
.phase74-verification-details[open]>summary:after{content:"−"}
.phase74-support-details>summary small,
.phase74-enemy-details>summary small,
.phase74-verification-details>summary small{
  margin-left:auto;
  font-size:9px;
  font-weight:500;
  color:var(--muted);
}
.phase74-support-details__body,
.phase74-enemy-details__body,
.phase74-verification-details__body{
  padding:0 9px 9px;
}
.phase74-support-details .battle-support-groups{gap:7px}
.phase74-support-details .battle-support-group{padding:8px}
.phase74-support-details .battle-support-grid{gap:6px}

.phase74-layout .battle-effect-summary{
  margin-top:8px;
  padding:8px 9px;
  border-radius:7px;
}

/* Enemy: DB + core fields first, technical/research tools collapsed below. */
.phase74-layout .enemy-db-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:end;
}
.phase74-layout .enemy-db-status{
  margin:7px 0 9px;
  padding:7px 9px;
  border-radius:7px;
  background:rgba(13,27,39,.42);
}
.phase74-layout .battle-enemy-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-bottom:9px;
}
.phase74-layout .battle-enemy-grid .battle-wide-field{grid-column:1/-1}
.phase74-enemy-details{margin-top:8px}
.phase74-enemy-details__body > *{
  margin:8px 0 0!important;
}
.phase74-enemy-details__body > *:first-child{margin-top:0!important}

/* Old research cards are quieter when expanded. */
.phase74-enemy-details #enemyReferencePanel,
.phase74-enemy-details #focus20WsPanel,
.phase74-enemy-details #locusVitEstimatePanel,
.phase74-enemy-details #locusMdbEstimatePanel,
.phase74-enemy-details #locusIntEstimatePanel,
.phase74-enemy-details #enemyDefenseEstimator{
  padding:9px!important;
  border-radius:7px!important;
  background:rgba(12,22,31,.32);
}

/* ===== RESULT / OPTIMIZER ===== */
.phase74-layout #page-result .result-summary-panel{
  grid-template-columns:minmax(190px,.78fr) minmax(320px,1.35fr) auto;
  gap:12px;
  padding:12px 14px;
}
.phase74-layout #page-result .result-primary{padding:5px 14px}
.phase74-layout #page-result .result-primary strong{font-size:42px}
.phase74-layout #page-result .result-mini-grid>div{padding:8px 11px}
.phase74-layout #page-result .result-mini-grid b{font-size:18px}

.phase74-layout .result-optimizer-divider{
  margin:13px 0 8px;
  font-size:15px;
}
.phase74-layout .optimizer-control-panel{
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px 12px;
  padding:11px 13px;
  border-color:rgba(157,124,58,.52);
  background:linear-gradient(180deg,rgba(62,49,25,.18),rgba(10,18,26,.32));
}
.phase74-layout .optimizer-control-main{
  gap:9px 14px;
  align-items:end;
}
.phase74-layout .optimizer-ws-name{font-size:21px}
.phase74-layout .optimizer-run{
  min-width:190px;
  padding:10px 15px;
}
.phase74-layout .optimizer-status{
  border-top:1px solid rgba(115,105,76,.24);
  padding-top:7px;
}
.phase74-layout .optimizer-before-after{
  grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) minmax(0,.8fr);
  gap:8px;
  padding:10px 12px;
}
.phase74-layout .optimizer-before-after strong{font-size:21px}
.phase74-layout .v1071-optimizer-grid{gap:10px;margin-top:9px}
.phase74-layout .v1071-result{padding:11px}
.phase74-layout .v1071-result h3{font-size:14px}
.phase74-layout .v1071-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.phase74-layout .v1071-metric strong{font-size:18px}
.phase74-layout .v1071-gear{grid-template-columns:repeat(2,minmax(0,1fr))}

.phase74-verification-details{
  margin-top:12px;
  border-style:dashed;
  opacity:.94;
}
.phase74-verification-details__body{
  display:grid;
  gap:8px;
}
.phase74-verification-details__body>.panel{
  margin-top:0!important;
  box-shadow:none;
}
.phase74-verification-details #phase73dMatrixPanel>div[style*="max-height"]{
  max-height:300px!important;
}

/* Buttons/inputs gain a little breathing room without changing global sizing. */
.phase74-layout #page-battle label,
.phase74-layout #page-result label{line-height:1.3}
.phase74-layout #page-battle select,
.phase74-layout #page-battle input{
  min-height:34px;
}

/* Responsive */
@media (max-width:980px){
  .phase74-layout .battle-lower-grid{grid-template-columns:1fr}
  .phase74-layout .battle-ws-grid{grid-template-columns:minmax(0,1.5fr) 100px minmax(150px,.8fr)}
  .phase74-layout .battle-overwhelm-field{grid-column:1/-1}
  .phase74-layout #page-result .result-summary-panel{grid-template-columns:1fr 1.2fr}
  .phase74-layout #page-result .result-breakdown-button{grid-column:1/-1}
}
@media (max-width:680px){
  .phase74-support-quick-grid,
  .phase74-layout .battle-enemy-grid{grid-template-columns:1fr}
  .phase74-layout .battle-enemy-grid .battle-wide-field{grid-column:auto}
  .phase74-layout .battle-ws-grid{grid-template-columns:1fr 95px}
  .phase74-layout .battle-ws-info,
  .phase74-layout .battle-overwhelm-field{grid-column:1/-1}
  .phase74-layout #page-result .result-summary-panel{grid-template-columns:1fr}
  .phase74-layout #page-result .result-primary{border-right:0;border-bottom:1px solid var(--line,#43506b)}
  .phase74-layout .optimizer-control-panel{grid-template-columns:1fr}
  .phase74-layout .optimizer-run{width:100%}
  .phase74-layout .optimizer-before-after{grid-template-columns:1fr}
  .phase74-layout .optimizer-arrow{transform:rotate(90deg)}
  .phase74-layout .v1071-optimizer-grid{grid-template-columns:1fr}
}


/* Phase74-B: detailed support grouping */
.phase74-support-details>summary{
  font-size:11px;
  min-height:38px;
}
.phase74-support-details>summary:after{
  font-size:14px;
  line-height:1;
  width:18px;
  text-align:center;
}
.phase74-support-details[open]>summary:after{font-size:15px}

.phase74-support-details input[type="checkbox"]{
  width:15px!important;
  height:15px!important;
  min-height:15px!important;
  margin:0 6px 0 0!important;
  vertical-align:middle;
}
.phase74-support-details label.check,
.phase74-support-details label.check-field{
  display:flex!important;
  align-items:center;
  min-height:34px;
  gap:4px;
  padding:6px 8px;
  border:1px solid rgba(91,116,143,.25);
  border-radius:7px;
  background:rgba(8,17,26,.24);
}

.phase74-support-details__body{
  display:grid;
  gap:8px;
  padding:0 9px 9px;
}
.phase74-support-category{
  padding:8px 9px 9px;
  border:1px solid rgba(82,111,137,.38);
  border-radius:8px;
  background:rgba(7,15,23,.28);
}
.phase74-support-category-head{
  display:flex;
  align-items:baseline;
  gap:5px;
  margin-bottom:7px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(88,116,143,.20);
}
.phase74-support-category-head h4{
  margin:0;
  font-size:11px;
  color:#d7e8f7;
  letter-spacing:.03em;
}
.phase74-support-category-head span{
  font-size:9px;
  color:#8fb3d2;
  font-weight:700;
}
.phase74-support-category-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 7px;
}
.phase74-support-category-grid label{min-width:0}
.phase74-support-category-grid small{
  display:block;
  margin-top:2px;
  font-size:8px;
  opacity:.72;
}

.phase74-support-category-enhance{border-left:3px solid rgba(167,141,88,.65)}
.phase74-support-category-ability{border-left:3px solid rgba(133,165,194,.65)}
.phase74-support-category-song{border-left:3px solid rgba(125,171,208,.65)}
.phase74-support-category-roll{border-left:3px solid rgba(172,148,98,.65)}
.phase74-support-category-geo{border-left:3px solid rgba(115,169,152,.65)}
.phase74-support-category-debuff{border-left:3px solid rgba(174,116,116,.55)}

@media (max-width:680px){
  .phase74-support-category-grid{grid-template-columns:1fr}
}
