.public-navbar{z-index:100;padding:var(--spacing-4)var(--spacing-4);-webkit-backdrop-filter:blur(12px);opacity:0;background:0 0;padding-bottom:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);top:0;left:0;right:0;transform:translateY(-10px)}.public-navbar.loaded{opacity:1;transform:translateY(0)}.navbar-container{justify-content:space-between;align-items:center;gap:var(--navbar-gap);width:100%;margin:0 auto;display:flex}.navbar-logo{flex-shrink:0;align-items:center;display:flex}.navbar-location{align-items:center;gap:var(--spacing-2);padding:var(--spacing-3)var(--spacing-4);border-radius:var(--border-radius-full);border:1px solid var(--border-color);background:var(--bg-surface);color:var(--error-500);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);cursor:pointer;min-width:0;max-width:280px;transition:all .2s;display:flex}.navbar-location:hover{background:var(--bg-surface-hover);border-color:var(--border-color-hover)}.locations-icon{flex-shrink:0;font-size:1.2rem}.location-text{text-overflow:ellipsis;white-space:nowrap;text-align:left;max-width:180px;display:inline-block;overflow:hidden}.theme-toggle-btn-public{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-full);cursor:pointer;width:44px;height:44px;color:var(--text-secondary);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;transition:all .2s;display:flex}.theme-toggle-btn-public:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-color-hover);transform:scale(1.05)}.location-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:var(--spacing-5);z-index:2000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.location-modal{background:var(--bg-modal);width:min(100%,720px);max-height:calc(100vh - var(--spacing-10));border-radius:var(--location-modal-radius);padding:var(--location-modal-padding);text-align:center;box-shadow:var(--shadow-premium);animation:.35s cubic-bezier(.34,1.56,.64,1) modalEnter;overflow-y:auto}.location-icon{width:64px;height:64px;margin:0 auto var(--spacing-4);border-radius:var(--border-radius-full);background:var(--error-100);color:var(--error-500);justify-content:center;align-items:center;font-size:1.8rem;display:flex}.location-modal h2{font-size:clamp(var(--font-size-xl),2vw,var(--font-size-3xl));font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2);color:var(--text-primary)}.location-description{font-size:var(--font-size-base);color:var(--text-secondary);line-height:var(--line-height-normal);margin-bottom:var(--spacing-6)}.location-actions{gap:var(--spacing-3);margin-bottom:var(--spacing-2);flex-direction:column;display:flex}.location-action-label{justify-content:center;align-items:center;gap:var(--spacing-2);display:inline-flex}.location-loader{border-radius:var(--border-radius-full);border:2px solid #ffffff73;border-top-color:var(--neutral-white);width:16px;height:16px;animation:.8s linear infinite spin}.btn-primary,.btn-secondary{padding:var(--spacing-3)var(--spacing-6);border-radius:var(--border-radius-xl);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:all .2s}.btn-primary{background:var(--error-500);color:var(--text-on-primary);border:none}.btn-primary:hover{background:var(--error-600);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface-hover);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-surface);border-color:var(--border-color-hover)}.close-modal-btn{margin-top:var(--spacing-2);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;transition:color .2s}.close-modal-btn:hover{color:var(--text-primary)}.manual-location-flow{text-align:left;gap:var(--spacing-5);flex-direction:column;display:flex}.inline-error{margin-bottom:var(--spacing-4);padding:var(--spacing-3)var(--spacing-4);border-radius:var(--border-radius-xl);background:var(--error-50);border:1px solid var(--error-200);color:var(--error-700);font-size:var(--font-size-sm);text-align:left}.manual-location-grid{gap:var(--spacing-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.manual-field{gap:var(--spacing-2);flex-direction:column;display:flex}.manual-field span{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.manual-field select{width:100%;min-height:48px;padding:0 var(--spacing-4);border-radius:var(--border-radius-xl);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color .2s,box-shadow .2s}.manual-field select:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #2563eb26}.manual-field select:disabled{cursor:not-allowed;background:var(--bg-surface-hover);color:var(--text-tertiary)}.manual-field-full{grid-column:1/-1}.selection-preview{padding:var(--spacing-4);border-radius:var(--border-radius-2xl);border:1px solid var(--border-color);background:var(--bg-surface-hover)}.map-label{margin-bottom:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-tertiary)}.selection-value{color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);word-break:break-word}.manual-footer{justify-content:flex-end;align-items:center;gap:var(--spacing-3);flex-wrap:wrap;display:flex}.confirm-btn{min-width:180px}@keyframes modalEnter{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.public-navbar{padding:var(--spacing-2)var(--spacing-2)}.navbar-container{justify-content:space-between;align-items:center;display:flex}.location-text{max-width:140px;font-size:var(--font-size-sm)}.navbar-location{padding:var(--spacing-2)var(--spacing-3)}.location-modal{padding:var(--spacing-6)var(--spacing-4)}.manual-location-grid{grid-template-columns:1fr}.manual-footer{flex-direction:column-reverse;align-items:stretch}.confirm-btn{width:100%}}@media (max-width:480px){.location-text{max-width:60px;font-size:var(--font-size-xs)}.navbar-location{padding:var(--spacing-2)var(--spacing-2);gap:var(--spacing-1);max-width:100px}.locations-icon{font-size:1rem}}
