/* Shared installable app navigation and touch-friendly controls. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}.app-mode{padding-bottom:calc(85px + var(--safe-bottom));overscroll-behavior-y:none}.app-mode header{padding-top:calc(8px + var(--safe-top));padding-bottom:8px;background:var(--paper);position:sticky;top:0;z-index:20;max-width:900px}.app-mode header .brand-logo{width:200px}.app-mode header .beta,.app-mode header nav .nav-discover,.app-mode header nav [data-start],.app-mode footer{display:none}.app-mode header nav{width:auto;margin:0;gap:10px;flex-wrap:nowrap}.app-mode header{flex-wrap:nowrap;justify-content:space-between}.app-mode header .brand{margin:0}.app-mode header nav>.navlink{display:none}.app-mode header button{min-height:44px}.app-mode input:not([type=checkbox]):not([type=radio]),.app-mode select,.app-mode textarea{font-size:16px}.app-mode button,.app-mode a.primary{touch-action:manipulation}.app-mode .textbtn,.app-mode .primary{min-height:44px}.app-tabs{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;gap:3px;padding:10px 10px calc(10px + var(--safe-bottom));background:#fffdf8f5;border-top:1px solid #dce1d6;backdrop-filter:blur(14px)}.app-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#758378;font-size:10px;min-width:55px;min-height:48px;padding:5px 10px;border-radius:12px}.app-tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-tabs a.active{background:#e7eddf;color:var(--green)}.network-status{position:sticky;top:0;background:#f7e6bd;color:#5f4b21;text-align:center;padding:8px;font-size:12px;z-index:50}.pwa-dialog{max-width:480px;padding:26px;border-radius:17px}.pwa-dialog h2{font-size:30px}.pwa-dialog li{font-size:15px;margin:15px 0}.pwa-dialog .closebtn{float:inline-end}.pwa-dialog .hint{font-size:13px}.install-action{font-size:12px;background:#e8eddf;padding:7px 12px;border-radius:20px;color:var(--green)}.app-mode #wizard{margin-top:20px}.app-mode #results{margin-top:25px}.app-mode #vendorApp{max-width:900px}.app-mode #results .resultgrid{grid-template-columns:1fr}.app-mode #results .resulttop h1{font-size:30px}.app-mode .filters{grid-template-columns:1fr 1fr}.app-mode .filters>div:first-child{grid-column:1/-1}.app-mode .directoryhero{padding-top:30px}.app-mode .directoryhero h1{font-size:36px}.app-mode .directoryaside{display:none}.app-mode .cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.app-mode .supgrid{grid-template-columns:1fr}.app-mode .supaside{position:static}.app-mode #profileDialog{padding-bottom:var(--safe-bottom)}.app-dashboard{max-width:900px;margin:auto;padding:28px 24px 25px}.app-greeting{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.app-greeting h1{font:35px/1.15 Georgia,serif;margin:8px 0}.app-greeting .app-stamp{width:54px;height:54px;background:#e9eedf;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-stamp svg{width:30px;height:30px;fill:none;stroke:#708665;stroke-width:1.5}.app-feature{background:#205346;border-radius:22px;padding:28px;color:#fff9e9;position:relative;overflow:hidden}.app-feature h2{font-size:34px;color:#fff9e9;margin:13px 0}.app-feature p{max-width:430px;font-size:15px;color:#e3e9dc;position:relative;z-index:1}.app-feature .eyebrow{color:#d9c38c;font-size:9px;position:relative;z-index:1}.app-feature .primary{display:inline-block;background:#edcf8a;color:#173c35;font-weight:bold;font-size:14px;position:relative;z-index:1;margin-top:10px}.app-feature .featuremark{position:absolute;right:-10px;top:13px;font-size:180px;line-height:1;color:#ffffff0a;pointer-events:none}.dashboard-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:25px}.dashboard-section h2{font:25px/1.3 Georgia,serif;margin:6px 0 16px}.dashboard-section{margin-bottom:25px}.app-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.app-tile{background:#fffdf8;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px;text-align:start;min-height:115px}.app-tile svg{width:25px;height:25px;stroke:var(--green);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.app-tile strong{font-size:14px;font-weight:normal}.app-tile span{font-size:11px;color:var(--muted)}.event-summary{padding:22px;border:1px solid var(--line);background:#fffdf8;border-radius:18px}.event-summary h3{font:24px/1.2 Georgia,serif;margin:5px 0 10px}.event-summary p{font-size:13px;color:var(--muted);margin:7px 0}.event-summary .summary-progress{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:10px}.event-summary .primary{display:block;text-align:center;margin-top:15px;padding:11px 14px;font-size:13px}.app-install-card{margin-top:20px;display:flex;gap:14px;border:1px solid #dcd3b8;border-radius:16px;padding:18px;background:#f6f0df;align-items:center}.app-install-card img{width:44px;height:44px;border-radius:11px;flex-shrink:0}.app-install-card h3{font:17px Georgia,serif;margin:0 0 5px}.app-install-card p{font-size:12px;color:var(--muted);margin:0}.app-install-card button{background:transparent;color:var(--ink);padding:5px 0;text-decoration:underline;font-size:12px}.app-support{display:flex;gap:10px;font-size:13px;align-items:center;color:var(--muted);margin-top:20px}.app-support a{text-decoration:underline}.saved-empty{padding:30px 20px;border:1px dashed #b9c5ad;border-radius:20px;text-align:center}.saved-empty h2{font-size:28px}.saved-empty p{color:var(--muted);font-size:14px}.saved-empty .primary{font-size:14px}.app-updatenotice{margin-top:15px;background:#e8eddf;padding:13px;border-radius:9px;font-size:12px;display:flex;gap:15px;align-items:center}.app-updatenotice button{padding:6px 12px;background:var(--green);color:white;border-radius:5px}.mobile-entry{display:none}.app-web-callout{display:block;font-size:13px;color:var(--green);padding:10px 0;text-decoration:underline}@media(min-width:900px){.app-mode{background:#edf0e6}.app-mode>header,.app-mode>.app-dashboard,.app-mode>#wizard,.app-mode>#results,.app-mode>#vendorApp{background:var(--paper)}.app-mode .app-tabs{max-width:900px;margin:auto;border-inline:1px solid var(--line)}}@media(max-width:650px){.dashboard-columns{grid-template-columns:1fr;gap:0}.app-dashboard{padding:22px 20px}.app-greeting h1{font-size:31px}.app-feature{padding:24px}.app-feature h2{font-size:31px}.app-mode header .brand-logo{width:175px}.app-mode .filters>div:last-child{grid-column:1/-1}.app-mode .directoryhero{grid-template-columns:1fr}.app-mode #results{padding:0 18px}.app-mode #wizard{padding:0 20px}.app-mode .gridtwo{grid-template-columns:1fr}.app-mode form h1{font-size:31px}.app-mode .formactions{position:sticky;bottom:calc(80px + var(--safe-bottom));background:var(--paper);padding:10px 0;margin-bottom:15px;border-top:1px solid var(--line)}.mobile-entry{display:block}.app-mode .mobile-entry{display:none}.app-mode .joinbanner{flex-direction:column;align-items:start}.app-mode .app-tabs a{padding:4px 7px;min-width:50px}body[dir=rtl] .app-greeting h1{font-family:Arial,sans-serif}}@media print{.app-tabs,.network-status,.install-action,.pwa-dialog,.app-support,.app-install-card{display:none!important}.app-mode{padding-bottom:0}.app-mode .formactions{position:static}}
