.web-app .app{max-width:1100px;min-height:100dvh;margin:0 auto}.web-app .view{padding:16px 20px 40px}.web-app .app-heading{padding:12px 20px}.web-app .app-heading select{max-width:300px;margin-left:auto}.web-app .home-group-items{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.web-app .chat-history{max-height:55dvh}@media (min-width:800px){.web-app .home-grid{gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.web-app .home-group{break-inside:avoid}.web-app .view>.card{max-width:100%}}@media (max-width:480px){.web-app .view{padding:12px 10px 32px}.web-app .app-heading{padding:10px}.web-app .home-group-items{grid-template-columns:repeat(2,minmax(0,1fr))}.web-app input,.web-app textarea,.web-app select{font-size:16px}.web-app .card{padding:12px}.web-app .row.wrap{gap:6px}}.pwa-banner{border:1px solid var(--accent);background:var(--accent-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;max-width:1100px;margin:12px auto;padding:12px 16px;font-size:14px;display:flex}.pwa-banner p{color:var(--muted);margin-top:4px}.pwa-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.pwa-brand{object-fit:contain;flex-shrink:0}.pwa-guide{max-width:560px}.pwa-steps{flex-direction:column;gap:12px;margin:8px 0;padding-left:24px;display:flex}.pwa-steps .react-icon{vertical-align:middle;display:inline-flex}.pwa-guide h2{min-width:0}.pwa-guide .icon-btn{flex-shrink:0}.pwa-guide small{font-size:11px}@media (prefers-color-scheme:dark){.pwa-apple{filter:invert()}}@media (max-width:600px){.pwa-banner{flex-direction:column;align-items:flex-start;margin:8px 10px}.pwa-actions{width:100%}.pwa-actions>.icon-btn{margin-left:auto}}.admin-dashboard{grid-template-columns:240px minmax(0,1fr);min-height:100dvh;display:grid}.admin-sidebar{background:var(--card);border-right:1px solid var(--line);box-sizing:border-box;flex-direction:column;align-self:start;gap:24px;height:100dvh;padding:24px 16px;display:flex;position:sticky;top:0}.admin-sidebar nav{flex-direction:column;gap:8px;display:flex}.admin-nav{justify-content:flex-start}.admin-main{min-width:0;padding:24px}.admin-main h1{margin:0 0 12px}@media (max-width:700px){.admin-dashboard{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:16px;position:static}.admin-sidebar nav{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-main{padding:16px}}
