/* Final responsive layer: preserve brand, remove desktop-only sizing. */
body>main,body>.creator,body>.checkout-page{margin-left:0}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
input,select,textarea{max-width:100%;min-width:0}
p,h1,h2,h3,code,dd{overflow-wrap:anywhere}
.side{height:100dvh;overflow-y:auto;padding-bottom:max(20px,env(safe-area-inset-bottom))}
.side nav{flex:1}.side-bottom{flex-shrink:0}
.admin-console,.settings-page,.library,.analytics-page,.organize-page{min-height:100svh}
.pwa-install{margin:24px auto;padding:20px;max-width:720px;width:calc(100% - 32px);background:#fff;border:1px solid #e7eaf0;border-radius:16px;color:#172033}
.pwa-install p{font-size:14px;line-height:1.6;margin:8px 0}.pwa-install summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}
.pwa-install button{min-height:44px;padding:10px 18px;background:#f5a623;color:#172033;border:0;border-radius:9px;font:inherit;font-weight:700}
@media(max-width:1024px){
 .creator-body{grid-template-columns:minmax(0,1fr);max-width:760px}.live{position:static}
 .domain-add,.create-organizer{grid-template-columns:minmax(0,1fr)}
 .assignment-list>article{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:950px){
 .side{width:min(300px,85vw);visibility:hidden}.side.open{visibility:visible}.brand>button{display:block}
 .side nav a,.side-bottom>a{min-height:44px;height:auto;padding-block:10px}
 .shell main{margin-left:0}.shell main>header{padding-top:env(safe-area-inset-top);height:auto;min-height:68px}
 .hamb{min-width:44px;min-height:44px;margin-right:4px}
 .crumb span,.actions>button:not(.primary){display:none}
}
@media(max-width:700px){
 body{padding-bottom:env(safe-area-inset-bottom)}
 input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{font-size:16px!important;min-height:44px}
 button,.primary,.secondary,.home-button,.admin-tabs a{min-height:44px}
 .primary,.secondary{display:inline-flex;align-items:center;justify-content:center;font-size:13px}
 .actions .primary{font-size:12px;padding:10px 12px}.actions .primary:first-letter{font-size:inherit}
 .settings-page>header,.library>header,.organize-page>header,.analytics-page>header{display:flex;flex-direction:column;align-items:stretch;gap:16px}
 .settings-page>header .primary,.library>header .primary,.organize-page>header .primary{align-self:stretch}
 .lib-toolbar,.qr-grid,.account-grid,.account-management,.organizer-grid,.assignment-list>article{grid-template-columns:minmax(0,1fr)}
 .qr-card{grid-template-columns:72px minmax(0,1fr);padding:14px;gap:12px}.card-qr{width:72px;height:72px}
 .card-title{flex-wrap:wrap}.card-title>b{font-size:15px}.card-actions{flex-wrap:wrap;gap:8px}
 .organize-tabs,.tabs,.analytics-controls{max-width:100%;flex-wrap:wrap}
 .organize-tabs button,.tag-picker button,.create-tags button{min-height:44px;font-size:13px}
 .creator>header{height:auto;min-height:68px;gap:12px;padding-block:10px}
 .steps{flex-wrap:wrap;row-gap:10px}.form-card{padding:16px}.form-card label,.form-card h2{font-size:14px}
 .type-toggle small,.hint,.safe{font-size:12px}.export button{font-size:14px}
 .domain-list article>div{flex-wrap:wrap}.domain-list code{display:inline-block;max-width:100%;word-break:break-all}
 .account-grid dl{flex-wrap:wrap}.account-grid dd{margin:0}
 .account-form label,.account-security p,.account-grid p{font-size:14px}
 .checkout-plan,.checkout-summary>p{flex-wrap:wrap}.payment-methods b{font-size:15px}.payment-methods small{font-size:12px}
 .checkout-page>header{gap:12px}.checkout-page>header b{font-size:14px}
 .home-login{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
 .home-nav{height:auto;min-height:68px;gap:12px;flex-wrap:wrap;padding-block:10px}
 .home-actions{flex-wrap:wrap}.hero-trust{flex-wrap:wrap}.hero-actions>*{max-width:100%}
 .home-how>.steps{display:block}.home-cta .home-button{white-space:normal}
 .admin-top{flex-wrap:wrap}.admin-tabs{flex-wrap:wrap;overflow:visible;margin:0 0 18px;padding:0}
 .admin-tabs button,.admin-tabs a{font-size:13px;flex:1 1 auto;text-align:center;justify-content:center}
 .admin-table{overflow:visible}.admin-tr,.admin-tr.wide,.admin-tr.payment,.admin-tr.domain,.admin-tr.qr{min-width:0;grid-template-columns:minmax(0,1fr);gap:10px;padding:18px 0;font-size:14px}
 .admin-tr.head{display:none}.admin-tr small{white-space:normal;max-width:none;overflow-wrap:anywhere}
 .admin-tr>*{min-width:0;overflow-wrap:anywhere}.admin-tr>select,.admin-tr>button{font-size:16px;min-height:44px}
 .admin-line{flex-direction:column;gap:6px}.admin-line small{text-align:left;overflow-wrap:anywhere}
 .admin-status{grid-template-columns:auto minmax(0,1fr);gap:8px}.admin-status b{grid-column:2}
 .admin-setting-form input,.admin-setting-form textarea{font-size:16px}
 .recent>.thead,.recent>.row{min-width:620px}
}
@media(max-width:380px){.trend-brand b{font-size:14px}.home-nav .trend-brand>img{width:30px;height:30px}.home-actions{gap:6px}.home-button.small{font-size:11px}.home-nav{justify-content:center}.qr-card{grid-template-columns:minmax(0,1fr)}.home-hero h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(display-mode:standalone){.pwa-install{display:none}}
