.individual-import-entry{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #ECEDEE}
.individual-import-entry p{font-size:14px;color:#777C80;line-height:1.6}
#individual-import-dialog{box-sizing:border-box;width:calc(100% - 24px);max-width:640px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #DCDDDF;border-radius:12px;background:white;color:#202124;overflow:auto;overscroll-behavior:contain}
#individual-import-dialog::backdrop{background:#0006}
.individual-import-head,.individual-import-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:white;position:sticky;z-index:1}
.individual-import-head{top:0;border-bottom:1px solid #ECEDEE}.individual-import-head h2{font-size:18px;margin:0}.individual-import-head button{min-width:44px;min-height:44px}
.individual-import-body{padding:8px 16px}.individual-import-body>p{font-size:14px;line-height:1.6}
.individual-import-row{padding:16px 0;border-top:1px solid #ECEDEE}.individual-import-row h3{margin:0 0 6px;font-size:17px;overflow-wrap:anywhere}.individual-import-row>p{margin:6px 0}.individual-import-row select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;font-size:16px;background:white;color:#202124;border:1px solid #DCDDDF;border-radius:6px}
.individual-import-details{margin:10px 0;font-size:14px}.import-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;padding:4px 0}.import-detail dt{color:#777C80}.import-detail dd{margin:0;overflow-wrap:anywhere}.import-warning{color:#78633E;font-size:14px;line-height:1.6}.import-error{color:#A34444;font-size:14px;line-height:1.6}
.individual-import-actions{bottom:0;border-top:1px solid #ECEDEE;padding-bottom:max(14px,env(safe-area-inset-bottom))}.individual-import-actions button{flex:1;min-height:46px;font-size:16px}
#individual-import-supplement{padding:12px 0;border-bottom:1px solid #ECEDEE}#individual-import-supplement summary{min-height:44px;align-content:center;font-size:15px;color:#555}
/* Registration and roster share existing controls; only density changes here. */
#individual-import-text{box-sizing:border-box;width:100%;min-height:120px;font:16px var(--mh-font,system-ui);resize:vertical}
#team .profile-ingredients{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#team .profile-ingredients :is(label,input){min-width:0;width:100%;box-sizing:border-box}
#team #roster-columns{width:auto;min-height:44px;margin:0 0 16px 8px}
#team #roster-other-toggle{min-height:44px;margin-bottom:16px}
#team #registered-pokemon-list{display:block}
#team #registered-pokemon-list .individual-roster-grid{display:grid;grid-template-columns:repeat(var(--roster-columns,3),minmax(0,1fr));gap:8px}
#team #registered-pokemon-list .registered-row{box-sizing:border-box;cursor:pointer;min-height:100px;padding:8px;gap:4px;border:1px solid var(--mh-border);border-radius:var(--mh-radius);background:var(--mh-surface)}
#team #registered-pokemon-list .registered-row:focus-visible{outline:2px solid var(--mh-accent)}
#team #registered-pokemon-list .registered-info{min-width:0;width:100%}
#team #registered-pokemon-list .team-individual-name{min-width:0;display:block;overflow-wrap:anywhere}
#team #registered-pokemon-list .team-individual-name strong{font-size:14px;line-height:1.4;display:block;white-space:normal}
#team #registered-pokemon-list .team-individual-name small{font-size:12px;line-height:1.4;display:block;white-space:normal}
#team #registered-pokemon-list .individual-number{font-size:11px}
#team #registered-pokemon-list .row-actions:empty{display:none}
#team #registered-pokemon-list .row-actions{align-self:center}
#team #registered-pokemon-list .row-actions button{min-width:28px;padding:2px}
#team :is(#roster-other-toggle,#roster-columns){display:inline-block;vertical-align:middle}

/* 登録・編集の6項目とサブスキル。既存入力を移動し保存値は変えない。 */
#team :is(#roster-other-toggle,#roster-columns){box-sizing:border-box;height:44px;min-height:44px;border-radius:6px;font-size:14px;line-height:1.4;padding:8px 12px;margin-top:0;margin-bottom:16px;vertical-align:middle;width:auto}
#team .individual-top-grid,#team .individual-subskills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;margin:16px 0}
#team .individual-top-grid .individual-field{position:relative;min-width:0;margin:0}
#team .individual-top-grid :is(input,select){box-sizing:border-box;min-width:0;max-width:100%;width:100%;height:44px;margin:0;font-size:16px;padding:8px}
#team .individual-subskills label{min-width:0;margin:0}
#team .individual-subskills select{min-width:0;max-width:100%;width:100%}
#team .profile-stats:empty{display:none}
#team .individual-field #pokemon-search-results{position:absolute;top:44px;left:0;width:calc(200% + 12px);z-index:4;background:var(--mh-surface);border:1px solid var(--mh-border);max-height:240px}
#team .individual-field-hint{display:none;position:absolute;left:8px;top:12px;font-size:12px;line-height:20px;color:var(--mh-muted);pointer-events:none}
#team .individual-number-field:has(input:not(:placeholder-shown)) .individual-field-hint{display:block}
#team .individual-number-field:has(input:not(:placeholder-shown)) input{padding-left:72px;text-align:right}
#team .individual-number-field:has(input[id$="level"]:not(:placeholder-shown)) input{padding-left:32px}
/* native dialogの上部・本文・フッターを独立。スクロールは本文だけ。 */
#individual-import-dialog[open]{display:flex;flex-direction:column;isolation:isolate;background:var(--mh-surface)!important;height:min(760px,calc(100dvh - 24px));max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));overflow:hidden;margin:auto}
#individual-import-dialog .individual-import-head,#individual-import-dialog .individual-import-actions{position:static;flex:none;background:var(--mh-surface)!important;z-index:auto}
#individual-import-dialog .individual-import-head h2{min-width:0;line-height:1.4}
#individual-import-dialog .individual-import-head button{flex:none}
#individual-import-dialog .individual-import-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--mh-surface)}
#individual-import-dialog .individual-import-actions{padding-bottom:max(14px,env(safe-area-inset-bottom))}
#individual-import-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:none;gap:4px;padding:4px 12px;background:var(--mh-surface);border-bottom:1px solid var(--mh-border)}
#individual-import-dialog #individual-import-tabs button{min-width:0;min-height:44px;padding:6px 2px;font-size:13px;white-space:nowrap;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0}
#individual-import-dialog #individual-import-tabs button[aria-selected=true]{color:var(--mh-accent);border-bottom-color:var(--mh-accent);font-weight:600}
#individual-import-dialog .individual-import-row>summary{min-height:44px;font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
#individual-import-dialog .individual-import-row[open]>summary{margin-bottom:8px}
#individual-import-dialog .individual-import-row .check{display:flex;gap:8px;align-items:center}
#individual-import-dialog .individual-import-row .check input{width:auto;min-height:24px;margin:0}

/* 選択前の登録フォームと、登録済み検索・並べ替えの操作領域。 */
#team .individual-top-grid .individual-field[hidden]{display:none}
#team #register-top-grid .individual-field:has(#pokemon-search){grid-column:1/-1}
#team #register-top-grid:has(.individual-field:not([hidden]) #nickname) .individual-field:has(#pokemon-search){grid-column:auto}
#team #roster-panel>label{display:block;min-width:0}
#team #roster-panel .text-clear-field{display:block;width:100%}
#team #roster-search{display:block;min-height:44px;box-sizing:border-box;width:100%;margin:0}
#team .registered-row.reorder-enabled{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#team .registered-row.reorder-dragging{outline:2px solid var(--mh-accent);background:var(--mh-selected)}

#team #register-top-grid .individual-field #pokemon-search-results{width:100%;box-sizing:border-box}

#individual-import-dialog .individual-import-actions{align-items:stretch}

/* Reserve the same two-line name area only in the four-column roster. */
#team #registered-pokemon-list[data-columns="4"] .team-individual-name strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;height:2.8em}
