/* Tablet and touch layout, using CSS supported by older iPad Safari. */
.admin-dashboard{min-height:100vh;background:#f8fafc}
.admin-dashboard>aside{flex-shrink:0}
.admin-dashboard>div{min-width:0;max-width:100%}
.admin-dashboard main{min-width:0}
.admin-dashboard .overflow-x-auto{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-dashboard table{min-width:780px}
.admin-dashboard td{vertical-align:middle}
.admin-dashboard td:last-child{min-width:180px;white-space:normal}
.admin-dashboard td:last-child a,.admin-dashboard td:last-child button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:3px}
.admin-dashboard .truncate{white-space:normal;overflow:visible;text-overflow:clip;word-wrap:break-word;max-width:260px}
.admin-table-hint{padding:12px 20px;color:#475569;background:#f8fafc;font-size:14px}
.admin-touch input:not([type=checkbox]):not([type=hidden]),.admin-touch select,.admin-touch textarea{font-size:16px;min-height:44px;max-width:100%}
.admin-touch button{min-height:44px}
.admin-touch a:focus,.admin-touch button:focus,.admin-touch input:focus,.admin-touch select:focus{outline:3px solid #2563eb;outline-offset:3px}
.admin-touch .service-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.admin-touch .service-page,.admin-touch .traffic{width:100%;min-width:0;box-sizing:border-box}
@media(max-width:1100px){
 .admin-dashboard{display:flex;flex-direction:column}
 .admin-dashboard>aside{position:static;width:100%;min-height:0}
 .admin-dashboard>aside>div:first-child{padding:16px 20px}
 .admin-dashboard>aside>div:nth-child(2){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 12px;margin:0}
 .admin-dashboard>aside>div:nth-child(2)>a{margin:0;padding:12px;min-height:48px;line-height:1.5;border-radius:8px}
 .admin-dashboard>aside>div:last-child{padding:8px 12px}
 .admin-dashboard main{padding:24px}
 .admin-dashboard header{position:static}
 .admin-touch .service-page,.admin-touch .traffic{margin:16px auto;padding:20px}
}
@media(max-width:600px){
 .admin-dashboard main{padding:16px}
 .admin-dashboard>aside>div:nth-child(2){grid-template-columns:1fr}
 .admin-dashboard th,.admin-dashboard td{padding:12px}
 .admin-touch .service-grid{grid-template-columns:1fr}
 .admin-touch .service-page,.admin-touch .traffic{padding:14px}
 .admin-touch .service-card{padding:18px}
}