/* Scope to the home launcher: NuLand opportunity cards keep their own layout. */
#portalHome .hero{padding:20px 22px;border-radius:24px;margin-bottom:16px}
#portalHome .hero h1{font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.15;margin:6px 0 10px}
#portalHome .hero .portal-account-note{display:flex;flex-wrap:wrap;gap:6px 12px;background:transparent;border:0;padding:0;margin:0;color:#fff;font-size:.85rem;box-shadow:none}
#portalHome .hero .portal-help-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px}
#portalHome .portal-help-links button{background:transparent;border:0;color:#fff;text-decoration:underline;text-underline-offset:3px;padding:10px 0;min-height:44px;font:inherit;font-size:.85rem;cursor:pointer}
#portalHome .portal-help-links button:focus-visible{outline:2px solid white;outline-offset:3px}
#portalHome .hero p{font-size:.9rem;margin:8px 0}
#portalHelpDialog,#portalSupportDialog{box-sizing:border-box;max-width:520px;width:calc(100% - 28px);max-height:85dvh;overflow:auto;padding:20px;border-radius:20px}
#portalHelpDialog form,#portalSupportDialog form{display:flex;justify-content:flex-end}
#portalSupportDialog .extension-support-panel{padding:0;box-shadow:none;border:0;margin:16px 0 0}
@media(max-width:600px){.topbar{padding:12px 16px}#portalHome .hero{padding:16px 18px}#portalHome .app-grid.app-launcher{margin-top:12px}}
#portalHome .app-grid.app-launcher{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#portalHome .app-launcher .app-card{position:relative;box-sizing:border-box;aspect-ratio:1;min-width:0;min-height:148px;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:20px 12px;border-radius:22px;text-align:center;cursor:pointer;background:#fff;border:1px solid #cfe1cf;box-shadow:0 4px 14px rgba(8,35,74,.05);font:inherit;transition:border-color .15s,box-shadow .15s}
#portalHome .app-launcher .app-card:hover{border-color:#08733b;box-shadow:0 6px 18px rgba(8,115,59,.12)}
#portalHome .app-launcher .app-card:focus-visible{outline:3px solid #08733b;outline-offset:3px}
#portalHome .app-launcher .app-card-icon{width:68px;height:68px;flex-shrink:0;border-radius:20px;background:#eaf5ee;color:#08733b;padding:10px;box-sizing:border-box}
#portalHome .app-launcher .app-card-icon svg{display:block;width:100%;height:100%}
#portalHome .app-launcher .app-card h2{font-size:1rem;line-height:1.25;margin:0;font-weight:750;overflow-wrap:anywhere}
#portalHome .app-launcher .app-card p{display:none}
#portalHome .app-launcher [data-portal-feature="praedial_larceny"] .app-card-icon{background:#fff0eb;color:#a43626}
#portalHome .app-launcher [data-portal-feature="nugbooks"] .app-card-icon,#portalHome .app-launcher [data-portal-feature="supply_requests"] .app-card-icon{background:#edf2ff;color:#2856ad}
#portalHome .app-launcher [data-portal-feature="nuland_share"] .app-card-icon{background:#fff5dc;color:#875e10}
#portalHome .app-launcher .app-card-meta{position:absolute;top:7px;right:7px;max-width:calc(100% - 14px);box-sizing:border-box;padding:3px 7px;font-size:.68rem;white-space:normal;line-height:1.15}
@media(max-width:900px){#portalHome .app-grid.app-launcher{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:560px){#portalHome .app-grid.app-launcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#portalHome .app-launcher .app-card{padding:20px 10px 12px;min-height:144px;gap:10px;border-radius:20px}#portalHome .app-launcher .app-card h2{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){#portalHome .app-launcher .app-card{transition:none}}
