/* Mobile layouts shared by the breeder page and master administration. */
.breeder-mobile-nav{display:none}
@media(max-width:600px){
 html{-webkit-text-size-adjust:100%}
 body{background-attachment:scroll}
 main{padding:20px 14px calc(32px + env(safe-area-inset-bottom,0px))}
 main,section,article,form,details,.panel,.grid,.cards,.card-body,.search,.fish-line,.profile-images,.fish-image-editor,.billing-method{min-width:0}
 h1,h2,h3,h4,p,label,summary,.badge,.billing-badge,a{overflow-wrap:anywhere}
 input,textarea,select{font-size:16px;min-width:0;max-width:100%}
 input[type=file]{font-size:14px;overflow:hidden;padding:10px 8px}
 input[type=file]::file-selector-button{font:inherit;min-height:40px;max-width:100%;padding:8px;margin-right:8px;border:0;border-radius:6px}
 button,.button{min-height:46px;white-space:normal;line-height:1.35}
 body>header nav{padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .brand{font-size:15px;min-width:0;line-height:1.3}
 .brand img{width:34px;height:34px;flex-shrink:0}
 .nav-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
 .nav-actions>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:1px solid #426274;border-radius:9px;text-align:center;text-decoration:none;font-size:14px}
 .nav-actions>button{font-size:14px;padding:8px}
 .hero{padding:4px 0 20px}
 .hero h1{font-size:clamp(28px,8vw,36px);margin:10px 0 12px}
 .hero p{font-size:15px;line-height:1.5}
 .panel{padding:16px;border-radius:14px;margin-bottom:18px}
 .grid,.cards,.search{grid-template-columns:minmax(0,1fr);gap:12px}
 .search{margin-bottom:12px}
 .search label{margin-bottom:0}
 .breeder-card-heading{padding:16px 16px 0;gap:12px;align-items:flex-start}
 .breeder-card-heading h3{font-size:18px;padding-top:3px}
 .card-image,.image-placeholder{width:64px;height:64px;flex-basis:64px}
 .card-body{padding:12px 16px 16px}
 .card-body>button{width:100%;margin-top:8px}
 .card-body .badge{max-width:100%}
 .breeder-mobile-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 18px;padding:0}
 .breeder-mobile-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px 5px;border:1px solid #426274;border-radius:9px;background:#123344;color:#d9fff2;text-align:center;text-decoration:none;font-size:13px;font-weight:650;line-height:1.3}
 #breeder-profile,#breeder-stock,#breeder-reservations{scroll-margin-top:16px}
 .fish-line{padding:12px;margin:12px 0;border:1px solid #254858}
 .fish-line h3{font-size:18px;line-height:1.35}
 .fish-line .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:12px}
 .fish-line .actions>button,.fish-line .reserve-action{width:100%}
 .fish-photo-gallery{width:100%;max-width:100%}
 .fish-line .fish-photo-gallery>a>img{max-width:100%;max-height:280px}
 .fish-photo-thumbs{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .fish-image-editor{padding:11px}
 .fish-image-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .fish-image-editor-card>button{min-height:44px}
 .fish-image-editor-card>img{height:100px}
 .profile-images{padding:12px}
 .profile-image-preview{gap:10px;align-items:flex-start}
 .profile-image-preview p{min-width:0;flex-basis:calc(100% - 80px);margin:0;font-size:14px}
 .profile-images-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .profile-image-choice img{height:96px}
 #profile-image-save{width:100%}
 .upload{padding:10px}
 form>button[type=submit],#profile-form>button:not([type]),#fish-form>.actions>button{width:100%}
 #fish-form>.actions,.import-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .import-preview,.billing-ledger{min-width:0;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .billing-method .button{width:100%}
 .billing-admin-section .grid{gap:0}
 .billing-badge{max-width:100%;white-space:normal}
 .billing-admin-section form>button{width:100%}
 .breeder-admin-summary{grid-template-columns:minmax(0,1fr) minmax(85px,120px);gap:7px 8px;padding:11px}
 .breeder-admin-row>.list-item{padding:12px}
 .breeder-admin-badges .billing-badge{font-size:11px;padding:4px 6px}
 .breeder-admin-row .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .breeder-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:7px}
 .breeder-pagination button{font-size:12px;padding:8px}
 .breeder-list-toolbar{gap:8px}
 .stats{gap:7px;margin:12px 0}
 .stats .badge{font-size:12px;padding:6px 8px}
 .message{position:relative;top:auto;font-size:14px;margin-bottom:14px;padding:11px 12px;overflow-wrap:anywhere}
 dialog{width:calc(100vw - 16px);max-width:none;max-height:90vh;max-height:calc(100dvh - 16px);padding:16px;border-radius:14px;overscroll-behavior:contain}
 dialog>.row{align-items:flex-start;flex-wrap:nowrap;gap:10px}
 dialog>.row h2{min-width:0;flex:1;font-size:20px;line-height:1.3;margin:0}
 dialog>.row>button{flex-shrink:0;padding:9px 12px;font-size:13px}
 dialog .actions>.button{width:100%}
 #reservation-form>button{width:100%}
 .legal .actions{gap:8px}
 .legal .actions a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0}
}
