:root{--color-keep-request: #FF6B6B;--color-keep-offer: #4ECDC4;--color-walk-request: #FFE66D;--color-walk-offer: #95E1D3;--color-primary: #4ECDC4;--color-secondary: #FF6B6B;--color-background: #F7F7F7;--color-surface: #FFFFFF;--color-text: #333333;--color-text-secondary: #666666;--color-border: #E0E0E0;--color-shadow: rgba(0, 0, 0, .1);--color-success: #51CF66;--color-warning: #FFD43B;--color-danger: #FF6B6B;--color-info: #74C0FC;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 50%;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--z-dropdown: 100;--z-sticky: 500;--z-modal: 1000;--z-tooltip: 10000;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-base: 16px;--line-height-base: 1.5;--emoji-paw: "\1f43e";--emoji-home: "\1f3e0";--emoji-moon: "\1f319";--emoji-dollar: "\1f4b0";--emoji-handshake: "\1f91d";--emoji-star: "\2b50";--emoji-cat: "\1f431";--emoji-dog: "\1f415"}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,select{font-size:16px}#app{min-height:100vh;display:flex;flex-direction:column}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--color-text)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-secondary);text-decoration:underline}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary,.text-muted{color:var(--color-text-secondary)}.font-weight-bold{font-weight:600}.font-weight-normal{font-weight:400}@media (max-width: 768px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.hidden{display:none!important}.visible{display:block!important}.flex{display:flex}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between}.flex-around{justify-content:space-around}.flex-end{justify-content:flex-end}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.grid{display:grid}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.border{border:1px solid var(--color-border)}.border-top{border-top:1px solid var(--color-border)}.border-bottom{border-bottom:1px solid var(--color-border)}.border-left{border-left:1px solid var(--color-border)}.border-right{border-right:1px solid var(--color-border)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-round)}.w-full{width:100%}.w-auto{width:auto}@media print{.no-print{display:none!important}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{font-family:inherit;font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;cursor:pointer;transition:all var(--transition-fast);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}button:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px var(--color-shadow)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-secondary{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-text-secondary)}.btn-text{background:transparent;color:var(--color-text);padding:var(--spacing-xs) var(--spacing-sm);font-size:.875rem}.btn-text:hover:not(:disabled){background-color:var(--color-background);transform:none;box-shadow:none}.btn-icon{background:transparent;border:none;font-size:1.5rem;padding:var(--spacing-xs);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-round);color:var(--color-text)}.btn-icon:hover:not(:disabled){background-color:var(--color-background);transform:scale(1.1)}.btn-icon-danger{padding:6px 10px;background:var(--color-danger);color:#fff;border-radius:var(--radius-sm);font-size:16px}.btn-icon-danger:hover:not(:disabled){background:#d32f2f}.btn-filters{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-user{display:flex;align-items:center;gap:var(--spacing-xs);background:transparent;border:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-text)}.btn-user:hover:not(:disabled){background-color:var(--color-background)}.btn-login{background-color:var(--color-primary);color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md)}.btn-connect{width:100%}.btn-edit{color:var(--color-primary);background:transparent}.btn-delete{color:var(--color-secondary);background:transparent}.btn-remove{color:var(--color-secondary);background:transparent;padding:var(--spacing-xs)}.btn-remove:hover:not(:disabled){opacity:.8}.btn-full{width:100%;padding:var(--spacing-md);font-size:1rem}.btn-close,.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:transparent;border:none;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.btn-close:hover,.modal-close:hover{color:var(--color-text);background:var(--color-background);border-radius:var(--radius-md)}.link-button{background:transparent;border:none;color:var(--color-primary);padding:var(--spacing-xs);font-size:.875rem;cursor:pointer;text-decoration:underline}.link-button:hover:not(:disabled){color:var(--color-secondary);box-shadow:none;transform:none}.fab{width:56px;height:56px;border-radius:var(--radius-round);background-color:var(--color-primary);color:#fff;font-size:2rem;font-weight:300;box-shadow:0 4px 12px var(--color-shadow);padding:0;display:flex;align-items:center;justify-content:center;line-height:1;border:none;cursor:pointer}.fab:hover:not(:disabled){box-shadow:0 6px 16px var(--color-shadow);transform:translateY(-2px)}.fab-container{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);z-index:900}.fab-petsitting{background-color:#4ecdc4}.fab-petsitting:hover:not(:disabled){background-color:#45b8b0}.fab-walking{background-color:#95e1d3;color:#333}.fab-walking:hover:not(:disabled){background-color:#82c9bc}.listing-type-toggle{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.listing-type-toggle .type-option{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:1rem}.listing-type-toggle input[type=radio]{width:auto;margin:0;cursor:pointer}.listing-type-toggle input[type=radio]:disabled{cursor:not-allowed}.listing-type-toggle .type-option span{font-weight:500;color:var(--color-text)}@media (max-width: 768px){.btn-text{font-size:.75rem;padding:var(--spacing-xs)}.btn-icon{width:36px;height:36px;font-size:1.25rem}.fab{width:48px;height:48px;font-size:1.75rem}.fab-container{bottom:var(--spacing-md);right:var(--spacing-md)}.btn-user .user-name{display:none}.btn-user{padding:var(--spacing-xs)}}@media (max-width: 480px){.btn-text{padding:var(--spacing-xs)}}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}input,textarea,select,.form-input,.form-textarea,.form-select{font-family:inherit;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);transition:border-color var(--transition-fast);width:100%;font-size:1rem}input:focus,textarea:focus,select:focus,.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4ecdc433}input:disabled,textarea:disabled,select:disabled,.form-input:disabled,.form-textarea:disabled,.form-select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-background)}textarea,.form-textarea{resize:vertical;min-height:80px;line-height:1.5}select,.form-select,.filter-select{padding:var(--spacing-sm);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;padding-right:calc(var(--spacing-md) + 20px)}.filter-select:hover{border-color:var(--color-primary)}.password-input{position:relative;display:flex}.password-input input{flex:1;padding-right:40px}.password-toggle{position:absolute;right:0;top:0;bottom:0;width:40px;background:transparent;border:none;cursor:pointer;font-size:1.25rem;padding:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.password-toggle:hover{background-color:var(--color-background);color:var(--color-text)}.checkbox-label,.form-group-checkbox label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:.875rem;font-weight:400;color:var(--color-text)}.checkbox-label input[type=checkbox],.checkbox-label input[type=radio],.form-group-checkbox input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;flex-shrink:0}.location-input-group{display:flex;gap:var(--spacing-sm)}.location-input-group button{flex-shrink:0;white-space:nowrap}.form-section{display:flex;flex-direction:column;gap:var(--spacing-md);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.form-section:last-child{border-bottom:none;padding-bottom:0}.form-section h3,.form-section h4{margin:0;color:var(--color-text);font-size:1.125rem}.form-subsection{padding-left:var(--spacing-lg);border-left:3px solid var(--color-border);margin-top:var(--spacing-sm)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding-top:var(--spacing-md);border-top:2px solid var(--color-border)}.form-actions button{min-width:120px}.form-error,.error-message{font-size:.75rem;color:var(--color-secondary);margin-top:var(--spacing-xs)}.form-note{font-size:.75rem;color:var(--color-text-secondary);text-align:center;margin-top:var(--spacing-sm)}.form-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.captcha-placeholder{padding:var(--spacing-lg);background-color:var(--color-background);border:2px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-secondary);font-size:.875rem}input[type=range]{width:100%;height:6px;background:linear-gradient(to right,var(--color-primary) 0%,var(--color-border) 0%);border-radius:3px;outline:none;-webkit-appearance:none;appearance:none;padding:0;margin:var(--spacing-sm) 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003;transition:all var(--transition-fast)}input[type=range]::-webkit-slider-thumb:hover{background:var(--color-primary-dark);transform:scale(1.1);box-shadow:0 3px 6px #0000004d}input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 4px #0003;transition:all var(--transition-fast)}input[type=range]::-moz-range-thumb:hover{background:var(--color-primary-dark);transform:scale(1.1);box-shadow:0 3px 6px #0000004d}.slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-secondary);margin-top:4px;user-select:none}.slider-labels span{flex:0 0 auto;text-align:center;min-width:20px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-section{gap:var(--spacing-sm)}.location-input-group{flex-direction:column}.location-input-group input,.location-input-group button{width:100%}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.form-subsection{padding-left:var(--spacing-md)}}.modal-overlay,.modal-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:var(--z-modal);padding:var(--spacing-md);overscroll-behavior:contain}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--spacing-lg);position:relative;box-shadow:0 10px 40px #0003;animation:modalSlideIn var(--transition-normal);margin:auto;overscroll-behavior:contain;touch-action:pan-y}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-modal{max-width:450px}.auth-modal-backdrop{z-index:calc(var(--z-modal) + 10)}.listing-modal{max-width:600px;max-height:90vh}.listing-form-modal{max-width:700px;max-height:90vh;overflow-y:auto;scroll-behavior:smooth}.profile-modal{max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;padding:0;background-color:var(--color-surface);box-shadow:0 10px 40px #0003;border-radius:var(--radius-lg)}.request-city-modal{max-width:500px}.modal-header,.listing-modal-header,.profile-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.listing-modal-header{padding-right:calc(32px + var(--spacing-md) + var(--spacing-sm))}.profile-modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-surface)}.profile-modal-header h2{margin:0;font-size:24px;color:var(--color-text)}.listing-modal-body,.profile-modal-content{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.profile-modal-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);background-color:var(--color-background)}.profile-tab-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.listing-modal-footer{display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:2px solid var(--color-border)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg);background-color:var(--color-surface);border-top:1px solid var(--color-border)}.modal-message{margin:var(--spacing-lg) 0;line-height:1.6;color:var(--color-text-secondary)}.loading-message{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}@media (max-width: 768px){.modal-backdrop{padding:0}.modal-content{max-height:100vh;min-height:100vh;border-radius:0;padding:var(--spacing-md);margin:0}.auth-modal,.listing-modal{max-width:100%;border-radius:0}.listing-modal .modal-close,.auth-modal .modal-close,.listing-form-modal .modal-close{position:fixed;top:var(--spacing-sm);right:var(--spacing-sm);z-index:calc(var(--z-modal) + 20);background:var(--color-surface);border-radius:var(--radius-round);box-shadow:0 1px 4px var(--color-shadow)}.listing-form-modal{max-width:100%;border-radius:0;max-height:100vh;padding:var(--spacing-md)}.profile-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.profile-modal-header{padding:var(--spacing-md)}.profile-modal-header h2{font-size:20px}.profile-modal-content,.form-actions{padding:var(--spacing-md)}}.information-modal .info-tabs{display:flex;gap:var(--spacing-sm);margin:var(--spacing-sm) 0 var(--spacing-md)}.information-modal .info-tab{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);background:var(--color-background);border-radius:var(--radius-md);cursor:pointer;font-weight:500;color:var(--color-text-muted, #666)}.information-modal .info-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.information-modal .info-form .form-group{margin-bottom:var(--spacing-sm)}.information-modal .info-divider{margin:var(--spacing-lg) 0 var(--spacing-md);border:none;border-top:1px solid var(--color-border)}.information-modal .info-version{margin:var(--spacing-md) 0 0;font-size:.75rem;color:var(--color-text-secondary);text-align:right;user-select:all}.walker-card-clickable{transition:box-shadow .15s ease,transform .15s ease}.walker-card-clickable:hover{box-shadow:0 4px 14px var(--color-shadow, rgba(0,0,0,.15));transform:translateY(-2px)}.image-picker{display:flex;align-items:center;gap:var(--spacing-sm);margin:4px 0}.image-picker-preview{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--color-background, #f2f2f2);border:1px solid var(--color-border, #ddd)}.image-picker-preview img{width:100%;height:100%;object-fit:cover}.image-picker-placeholder{font-size:1.6rem;line-height:1}.image-picker-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.image-picker-upload{cursor:pointer;font-size:.85rem;padding:6px 12px}.image-picker-upload.disabled{opacity:.6;pointer-events:none}.image-picker-remove{font-size:.85rem}.danger-zone{margin-top:var(--spacing-lg);border-top:1px solid var(--color-border, #e3e6ea);padding-top:var(--spacing-md)}.danger-title{color:#c92a2a;font-size:.95rem}.danger-link{color:#c92a2a;background:none;border:none;padding:0;text-decoration:underline;cursor:pointer;font-size:.9rem}.danger-warning{background:#fff5f5;border:1px solid #c92a2a;border-radius:var(--radius-md, 8px);padding:10px 12px}.danger-text{color:#c92a2a;font-weight:600;font-size:.9rem;margin:0 0 10px}.danger-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.btn-danger{background:#c92a2a;color:#fff}.bug-guide{background:var(--color-background, #f6f7f9);border:1px solid var(--color-border, #e3e6ea);border-radius:var(--radius-md, 8px);padding:.75rem 1rem;margin:.5rem 0 1rem}.bug-guide h3{margin:0 0 .35rem;font-size:1rem}.bug-guide .modal-message{margin:0 0 .5rem}.bug-guide-list{margin:0 0 .5rem;padding-left:1.25rem}.bug-guide-list li{margin:.3rem 0;font-size:.9rem;line-height:1.35}.bug-guide-footer{margin:0;font-size:.85rem;color:var(--color-text-muted, #666)}.bug-whatsapp{text-align:center;margin:.5rem 0 1rem}.bug-whatsapp h3{margin:0 0 .35rem;font-size:1rem;text-align:left}.bug-whatsapp .modal-message{text-align:left}.bug-whatsapp .btn-whatsapp{display:inline-block;padding:.6rem 1.2rem;border-radius:999px;background:#25d366;color:#fff;font-weight:700;text-decoration:none;margin:.25rem 0 .75rem;box-shadow:0 2px 6px var(--color-shadow, rgba(0,0,0,.15))}.bug-whatsapp .btn-whatsapp:hover{filter:brightness(.95)}.bug-whatsapp .bug-qr{display:inline-block}.bug-whatsapp .bug-qr-img{display:block;width:180px;height:180px;border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, #e3e6ea);background:#fff;padding:6px}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:0 2px 8px var(--color-shadow);transition:box-shadow var(--transition-fast)}.card:hover{box-shadow:0 4px 12px var(--color-shadow)}.badge,.listing-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:.875rem;margin-right:var(--spacing-xs);margin-top:var(--spacing-xs);font-weight:500}.listing-type-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.badge-request{background-color:#56a4d32e;color:#2b6a9e}.badge-offer{background-color:#ffff9d8c;color:#8a7a1f}.pricing-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-weight:500}.pricing-free{background-color:#d4edda;color:#155724}.pricing-paid{background-color:#fff3cd;color:#856404}.pricing-negotiated{background-color:#d1ecf1;color:#0c5460}.pet-detail{display:flex;flex-direction:column}.pet-medical{font-size:.82rem;color:var(--color-text-secondary)}.member-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid var(--color-border, #ddd);flex:0 0 auto}.badge-feature{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:.875rem}.listing-badges-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.pet-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pet-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-background);border-radius:var(--radius-md)}.pet-icon{font-size:1.5rem}.pet-count{font-weight:500}.animals-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.animal-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-background)}.animal-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.animal-icon{font-size:24px}.animal-type{flex:1;font-weight:600;color:var(--color-text);font-size:1rem}.animal-fields{display:grid;gap:var(--spacing-sm)}.no-animals{text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);color:var(--color-text-secondary);font-style:italic}.member-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.member-name{font-size:1.125rem;font-weight:600;color:var(--color-text)}.member-xp{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--color-text-secondary)}.xp-label{font-weight:500}.xp-value{font-weight:600;color:var(--color-primary)}.xp-star{color:gold;font-size:1rem}.email-link{display:inline-block;padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);font-size:1.125rem;font-weight:500;color:var(--color-primary);text-decoration:none;transition:all var(--transition-fast)}.email-link:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px var(--color-shadow)}@media (max-width: 768px){.pet-item{font-size:.875rem}.listing-badges-list{font-size:.75rem}}.loader{border:3px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:var(--radius-round);width:40px;height:40px;animation:spin 1s linear infinite;margin:var(--spacing-xl) auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading{opacity:.6;pointer-events:none}.loading-overlay{position:absolute;inset:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;z-index:var(--z-dropdown)}.skeleton{background:linear-gradient(90deg,var(--color-background) 25%,var(--color-border) 50%,var(--color-background) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:var(--spacing-sm)}.skeleton-title{height:1.5rem;width:60%;margin-bottom:var(--spacing-md)}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-round)}.fade-in{animation:fadeIn var(--transition-normal)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-in{animation:slideIn var(--transition-normal)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.tab-navigation{display:flex;gap:4px;padding:4px;background:var(--color-background);border:2px solid var(--color-primary);border-radius:999px;box-shadow:0 2px 6px var(--color-shadow);margin:0 auto;width:fit-content}.tab{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px 16px;cursor:pointer;border-radius:999px;background:transparent;border:none;transition:all .15s ease;font-weight:600;font-size:.95rem;color:var(--color-text-muted, #666);user-select:none}.tab:hover{color:var(--color-text);background:var(--color-surface)}.tab.active{background:var(--color-primary);color:#fff;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff59,0 1px 3px #00000040}.tab-icon{font-size:1.15rem;line-height:1}.tab-label{font-size:.95rem;line-height:1;white-space:nowrap}.tab-label-short{display:none}@media (max-width: 768px){.tab{padding:5px 12px;font-size:.85rem}.tab-icon{font-size:1.05rem}.tab-label-full{display:none}.tab-label-short{display:inline;font-size:.85rem}}@media (max-width: 420px){.tab{padding:5px 10px}.tab-label-full{display:none}.tab:not(.active) .tab-label-short{display:none}.tab.active .tab-label-short{display:inline}}.tab:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.tab.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.toast-container{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:calc(var(--z-modal) + 100);pointer-events:none;width:max-content;max-width:min(92vw,460px)}.toast{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:#243b45;color:#fff;font-size:.86rem;line-height:1.35;box-shadow:0 4px 16px #00000040;cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease;max-width:100%}.toast.toast-show{opacity:1;transform:translateY(0)}.toast-icon{font-size:1rem;line-height:1;flex:0 0 auto}.toast-msg{min-width:0}.toast-error{background:#7a2230}.toast-success{background:#1c5b34}.toast-info{background:#243b45}.notification-banner{display:flex;flex-direction:column;width:100%}.notification-banner .notice{display:flex;align-items:center;gap:var(--spacing-sm, 8px);background-color:var(--color-warning, #FFD43B);color:#333;padding:6px 12px;font-size:.85rem;line-height:1.3;border-bottom:1px solid rgba(0,0,0,.08)}.notification-banner .notice-text{flex:1 1 auto;text-align:center}.notification-banner .notice-close{flex:0 0 auto;background:transparent;border:none;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm, 4px);opacity:.7}.notification-banner .notice-close:hover,.notification-banner .notice-close:focus{opacity:1;background:#00000014}@media (min-width: 768px){.notification-banner .notice{font-size:.9rem;padding:8px 16px}}.map-selector-container{width:100%;margin:var(--spacing-md) 0}.map-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-bg-secondary);border-radius:8px}.mode-indicator{display:flex;align-items:center;gap:var(--spacing-xs)}.mode-label{font-weight:600;color:var(--color-text)}.mode-hint{font-size:.9em;color:var(--color-text-secondary)}.selection-info{display:flex;align-items:center}.has-selection{color:var(--color-success);font-weight:500}.no-selection{color:var(--color-text-secondary);font-style:italic}.map-selector-instructions{padding:var(--spacing-sm);background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:8px;margin-bottom:var(--spacing-sm)}.map-selector-instructions p{margin:var(--spacing-xs) 0;font-size:.9em;line-height:1.5}.map-selector-instructions strong{color:#0c5460}.map-selector-map{position:relative;z-index:1}@media (max-width: 768px){.map-selector-map{height:52vh!important;max-height:360px;margin-top:var(--spacing-md)!important;margin-bottom:var(--spacing-lg)!important}}.leaflet-info-box{padding:10px 12px;background:#fff;background:#fffffff2;box-shadow:0 2px 8px #0003;border-radius:6px;border:2px solid #4ECDC4;min-width:150px}.leaflet-info-box h4{margin:0 0 5px;color:#333;font-size:14px;font-weight:600}.leaflet-info-box strong{color:#4ecdc4;font-size:16px}.leaflet-info-box small{color:#666;font-size:11px}.leaflet-draw-toolbar{display:block!important;visibility:visible!important;margin-left:0!important}.leaflet-draw-toolbar a{background-color:#fff!important;border:2px solid #4ECDC4!important;display:block!important;visibility:visible!important;width:30px!important;height:30px!important}.leaflet-draw-toolbar a:hover{background-color:#4ecdc4!important}.leaflet-draw-draw-circle{background-image:none!important;position:relative!important}.leaflet-draw-draw-circle:before{content:"\25cb"!important;font-size:20px!important;line-height:26px!important;display:block!important;text-align:center!important;color:#4ecdc4!important;font-weight:700!important}.leaflet-draw-draw-circle:hover:before{color:#fff!important}.map-clear-control{margin-top:8px!important}.map-clear-btn{display:block;width:30px;height:30px;line-height:30px;text-align:center;font-size:16px;background-color:#fff;border:2px solid #4ECDC4;border-radius:4px;cursor:pointer;text-decoration:none}.map-clear-btn:hover{background-color:#ffecec;border-color:#e74c3c}.leaflet-draw-actions a{background-color:#fff;border:1px solid #ddd;height:28px!important;line-height:28px!important}.leaflet-draw-actions-top,.leaflet-draw-actions-bottom{margin-top:0!important}.district-tooltip{background-color:#4ecdc4e6;border:none;border-radius:4px;color:#fff;padding:4px 8px;font-weight:500;box-shadow:0 2px 4px #0003}.district-tooltip:before{border-top-color:#4ecdc4e6}.map-selector-details{margin-top:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border)}.map-selector-details h4{margin-top:0;margin-bottom:var(--spacing-sm);color:var(--color-text)}.map-selector-details pre{background-color:#f5f5f5;padding:var(--spacing-sm);border-radius:4px;overflow-x:auto;font-size:.85em;margin:0}@media (max-width: 768px){.map-selector-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.map-selector-instructions{font-size:.85em}.map-selector-map{height:300px!important}.leaflet-info-box{font-size:12px;padding:8px 10px;min-width:120px}.leaflet-info-box h4{font-size:12px}.leaflet-info-box strong{font-size:14px}}.top-bar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 2px 4px var(--color-shadow)}.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:var(--spacing-md)}.top-bar-center{flex:1;display:flex;justify-content:center;min-width:0}.top-bar .tab-navigation{flex-shrink:1}.app-logo{height:32px;width:auto;max-width:120px;object-fit:contain;border-radius:var(--radius-sm, 4px);cursor:pointer;display:block}.app-title{font-size:1.5rem;margin:0;color:var(--color-primary);font-weight:600;display:flex;align-items:center;gap:var(--spacing-xs)}.app-title:before{content:"\1f43e";font-size:1.25rem}.user-menu{position:relative}.user-icon{font-size:1.25rem}.user-name{font-size:.875rem;font-weight:500}.profile-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:0 4px 12px var(--color-shadow);min-width:200px;z-index:var(--z-modal);overflow:hidden;animation:slideIn var(--transition-fast)}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;text-align:left;font-size:.875rem;cursor:pointer;transition:background-color var(--transition-fast);color:var(--color-text)}.dropdown-item:hover{background-color:var(--color-background)}.language-switcher{display:flex;gap:var(--spacing-xs)}.lang-button{background:transparent;border:none;font-size:1.5rem;padding:var(--spacing-xs);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.lang-button:hover{background-color:var(--color-background);transform:scale(1.1)}.btn-text .info-icon{display:inline}@media (min-width: 768px){.btn-text .info-icon{display:none}}@media (max-width: 768px){.top-bar{padding:var(--spacing-sm)}.top-bar-left,.top-bar-right{gap:var(--spacing-sm)}.app-title{display:none}.app-logo{height:26px;max-width:84px}.btn-text .info-label{display:none}.lang-button{font-size:1.25rem}.profile-dropdown{right:0;min-width:180px}}.calendar-view{display:flex;flex-direction:column;min-height:100vh}.full-map-container{width:80%;max-width:1200px;margin:0 auto var(--spacing-xl);padding:0 var(--spacing-md);position:relative;z-index:0}.full-map-container.collapsed .full-map-wrap{height:170px}.full-map-container.expanded{position:fixed;inset:0;width:100%;max-width:none;margin:0;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md);background:var(--color-surface);z-index:850;display:flex;flex-direction:column}.full-map-container.expanded .full-map-wrap{flex:1 1 auto;min-height:0}body.map-overlay-open{overflow:hidden}body.map-overlay-open .fab-container{display:none}.full-map-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.full-map-header h3{margin:0;font-size:1rem}.map-stats{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.82rem;color:var(--color-text-secondary)}.map-close-btn{border:none;background:var(--color-background);color:var(--color-text);border-radius:50%;width:36px;height:36px;font-size:1.1rem;line-height:1;cursor:pointer}#full-map{width:100%;height:100%;border-radius:8px;border:1px solid var(--color-border)}.map-expand-cover{position:absolute;inset:0;border:none;background:transparent;cursor:zoom-in;z-index:600;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;-webkit-tap-highlight-color:transparent}.map-expand-badge{display:inline-flex;align-items:center;gap:6px;background:#ffffffeb;border:1px solid var(--color-border);border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600;color:var(--color-text);box-shadow:0 1px 6px #0000002e}.map-expand-icon{font-size:.95rem}.map-no-data{height:120px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--color-border);border-radius:8px;margin-top:var(--spacing-sm);color:var(--color-text-secondary);font-size:.85rem}.map-ad-chooser{display:flex;flex-direction:column;gap:4px;min-width:220px;max-height:45vh;overflow-y:auto;overscroll-behavior:contain}.map-ad-chooser-title{font-weight:600;color:var(--color-text-secondary);padding:2px 4px 6px;border-bottom:1px solid var(--color-border)}.map-ad-chooser-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 8px;border:none;border-radius:var(--radius-md);background:transparent;text-align:left;cursor:pointer;font:inherit;color:var(--color-text)}.map-ad-chooser-item .popup-badge{padding:1px 6px;border-radius:var(--radius-md);font-size:.8rem;background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.map-ad-chooser-item .popup-badge-request{background:#2f6fb01f;color:#2f6fb0;border-color:#2f6fb059}.map-ad-chooser-item .popup-badge-offer{background:#2f9e441f;color:#2f9e44;border-color:#2f9e4459}.map-ad-chooser-item:hover,.map-ad-chooser-item:focus{background:var(--color-background)}.map-ad-chooser-item .chooser-icon{font-size:1.25rem}.map-ad-chooser-item .chooser-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:0 0 auto}.map-ad-chooser-item .chooser-member{font-weight:600;color:var(--color-text)}.map-ad-chooser-item .chooser-meta{font-size:.85rem;letter-spacing:.08em;color:var(--color-text)}.map-ad-chooser-item .chooser-main{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.map-ad-chooser-item .chooser-member,.map-ad-chooser-item .chooser-dates{font-size:.85rem}.map-ad-chooser-item .chooser-dates{color:var(--color-text-secondary)}.no-ads{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-secondary);font-size:1.125rem;flex-direction:column;gap:var(--spacing-md)}.no-ads:before{content:"\1f43e";font-size:3rem;opacity:.5}@keyframes blink-map-circle{0%,to{opacity:.3;stroke-width:2}25%{opacity:.8;stroke-width:4}50%{opacity:.3;stroke-width:2}75%{opacity:.8;stroke-width:4}}.map-circle-blink{animation:blink-map-circle 1s ease-in-out}@media (max-width: 768px){.full-map-container{width:95%}.full-map-container.expanded{width:100%}}.full-map-wrap{position:relative;margin-top:var(--spacing-sm)}.map-area-control{position:absolute;top:10px;right:10px;z-index:500;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 6px #0000002e;padding:2px;max-width:min(60%,260px)}.map-area-select{border:none;background:transparent;font-size:.82rem;font-weight:600;color:var(--color-text);padding:6px 8px;min-height:36px;max-width:100%;cursor:pointer}.map-area-select:focus{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:6px}@media (max-width: 420px){.map-area-control{top:8px;right:8px;max-width:55%}.map-area-select{font-size:.76rem}}:root{--cal-heat-1: #e6f4ea;--cal-heat-2: #b7e4c7;--cal-heat-3: #74c69d;--cal-tap: 44px}.availability-calendar{width:100%;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.availability-calendar .cal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.availability-calendar .cal-head h2{margin:0;font-size:1.25rem;color:var(--color-text)}.availability-calendar .cal-nav{display:flex;align-items:center;gap:4px}.availability-calendar .cal-nav-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:50%;width:36px;height:36px;font-size:1.2rem;line-height:1;cursor:pointer}.availability-calendar .cal-nav-btn:hover{background:var(--color-background)}.availability-calendar .cal-nav-btn:disabled,.availability-calendar .cal-nav-btn.disabled{opacity:.35;cursor:not-allowed;background:var(--color-surface)}.availability-calendar .cal-month{min-width:9.5em;text-align:center;font-weight:700;font-size:.95rem;color:var(--color-text)}.availability-calendar .cal-range{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap;margin:var(--spacing-sm) 0;padding:8px 10px;background:var(--color-background);border-radius:var(--radius-md)}.availability-calendar .cal-range-status{font-size:.82rem;font-weight:600;color:var(--color-text-secondary)}.availability-calendar .cal-range-clear{border:none;background:none;color:var(--color-primary);font-size:.8rem;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm)}.availability-calendar .cal-range-clear:hover{background:var(--color-surface)}.availability-calendar .cal-weekdays,.availability-calendar .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.availability-calendar .cal-weekday{text-align:center;font-size:.7rem;font-weight:700;letter-spacing:.4px;color:var(--color-text-secondary);padding-bottom:4px}.availability-calendar .cal-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:var(--cal-tap);padding:4px 2px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .1s ease,border-color .1s ease,transform .04s}.availability-calendar .cal-day:active{transform:scale(.96)}.availability-calendar .cal-day-num{font-size:.9rem;font-weight:600;line-height:1}.availability-calendar .cal-day-count{display:inline-flex;align-items:center;gap:2px;font-size:.68rem;font-weight:700;line-height:1;color:#14532d}.availability-calendar .cal-day-count.empty{min-height:.68rem}.availability-calendar .cal-day-dot{font-size:.8rem;line-height:1}.availability-calendar .cal-day.heat-1{background:var(--cal-heat-1)}.availability-calendar .cal-day.heat-2{background:var(--cal-heat-2)}.availability-calendar .cal-day.heat-3{background:var(--cal-heat-3)}.availability-calendar .cal-day.out-month{opacity:.38}.availability-calendar .cal-day.past{opacity:.3;cursor:not-allowed;background:var(--color-background);text-decoration:line-through}.availability-calendar .cal-day.weekend .cal-day-num{color:var(--color-primary)}.availability-calendar .cal-day.today{border-color:var(--color-primary);border-width:2px}.availability-calendar .cal-day.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.availability-calendar .cal-day.selected .cal-day-count{color:#fff}.availability-calendar .cal-day.range-start,.availability-calendar .cal-day.range-end{box-shadow:0 0 0 2px var(--color-primary) inset;font-weight:800}.availability-calendar .cal-legend{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-top:var(--spacing-sm);font-size:.7rem;color:var(--color-text-secondary)}.availability-calendar .cal-legend-item{display:inline-flex;align-items:center;gap:4px}.availability-calendar .cal-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--color-border)}.availability-calendar .cal-swatch.heat-1{background:var(--cal-heat-1)}.availability-calendar .cal-swatch.heat-2{background:var(--cal-heat-2)}.availability-calendar .cal-swatch.heat-3{background:var(--cal-heat-3)}.availability-calendar .cal-legend-note{opacity:.8}.availability-calendar .cal-list{margin-top:var(--spacing-lg)}.availability-calendar .cal-list-head{display:flex;align-items:baseline;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-sm)}.availability-calendar .cal-list-head h3{margin:0;font-size:1rem}.availability-calendar .cal-list-sub{font-size:.76rem;color:var(--color-text-secondary)}.availability-calendar .cal-list-empty{color:var(--color-text-secondary);font-size:.85rem;padding:var(--spacing-md) 0}.availability-calendar .cal-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.availability-calendar .war-icons{letter-spacing:.12em;font-size:.9rem}.availability-calendar .cal-cover-chip{margin-left:auto;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:999px;padding:5px 11px;font-size:.74rem;font-weight:600;cursor:pointer}.availability-calendar .cal-cover-chip:hover{background:var(--color-background)}.availability-calendar .cal-cover-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.availability-calendar .cal-list-section+.cal-list-section{margin-top:var(--spacing-md)}.availability-calendar .cal-section-head{font-size:.76rem;font-weight:700;margin-bottom:6px;color:var(--color-text-secondary)}.availability-calendar .cal-section-head.full{color:#1c6b2b}.availability-calendar .war-coverage{display:flex;align-items:center;gap:6px;margin-top:2px}.availability-calendar .war-cov-bar{flex:1 1 auto;height:5px;min-width:40px;border-radius:3px;background:var(--color-border);overflow:hidden}.availability-calendar .war-cov-fill{display:block;height:100%;background:var(--cal-heat-3)}.availability-calendar .war-cov-text{flex:0 0 auto;font-size:.7rem;font-weight:600}@keyframes ad-row-blink{0%,to{box-shadow:0 0 #2a9d8f00}50%{box-shadow:0 0 0 3px #2a9d8f8c}}.ad-row-blink{animation:ad-row-blink 1s ease-in-out}@media (max-width: 480px){.availability-calendar{padding:var(--spacing-sm)}.availability-calendar .cal-weekdays,.availability-calendar .cal-grid{gap:3px}.availability-calendar .cal-day{min-height:40px}.availability-calendar .cal-day-num{font-size:.82rem}.availability-calendar .cal-day-count{font-size:.6rem}.availability-calendar .cal-month{min-width:8em;font-size:.88rem}}:root{--sched-morning: #ffd8a8;--sched-morning-ink: #8a4b00;--sched-midday: #ffe066;--sched-midday-ink: #7a5c00;--sched-afternoon: #b2f2bb;--sched-afternoon-ink: #1c6b2b;--sched-tap: 44px}.schedule-toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-xs)}.schedule-clear{border:0;background:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:6px 8px;border-radius:var(--radius-md);color:var(--color-text-secondary);opacity:.7}.schedule-clear:hover{background:var(--color-background);opacity:1}.schedule-editor{display:flex;flex-direction:column;gap:10px;background:var(--color-background);border-radius:var(--radius-lg);padding:10px}.sched-day-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;border:0;border-radius:var(--radius-lg);padding:8px 10px;background:var(--color-surface);box-shadow:0 1px 2px var(--color-shadow)}.sched-day-name{display:flex;align-items:center;justify-content:center;min-width:46px}.sched-day-name .abbr{font-weight:700;font-size:.92rem;color:var(--color-text-secondary)}.sched-day-row.any .sched-day-name .abbr{color:var(--color-primary)}.sched-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sched-chip{border:0;background:#eef3f4;border-radius:var(--radius-md);min-height:var(--sched-tap);padding:6px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);transition:transform .04s,filter .08s;text-align:center}.sched-chip .chip-ic{font-size:1.05rem;line-height:1;filter:grayscale(.6);opacity:.6}.sched-chip small{font-weight:400;font-size:.64rem;opacity:.75}.sched-chip:hover{filter:brightness(.97)}.sched-chip:active{transform:scale(.97)}.sched-chip[aria-pressed=true]{color:#0e3a36;box-shadow:0 1px 3px #243b452e}.sched-chip[aria-pressed=true] .chip-ic{filter:none;opacity:1}.sched-chip[data-period=morning][aria-pressed=true]{background:var(--sched-morning);color:var(--sched-morning-ink)}.sched-chip[data-period=midday][aria-pressed=true]{background:var(--sched-midday);color:var(--sched-midday-ink)}.sched-chip[data-period=afternoon][aria-pressed=true]{background:var(--sched-afternoon);color:var(--sched-afternoon-ink)}.schedule-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--spacing-sm);font-size:.72rem;color:var(--color-text-secondary)}.schedule-legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.schedule-legend .dot[data-period=morning]{background:var(--sched-morning)}.schedule-legend .dot[data-period=midday]{background:var(--sched-midday)}.schedule-legend .dot[data-period=afternoon]{background:var(--sched-afternoon)}.weekly-schedule{margin-top:var(--spacing-sm)}.weekly-head{display:flex;align-items:baseline;gap:var(--spacing-sm);flex-wrap:wrap}.weekly-head h3{margin:0;font-size:1rem}.weekly-hint{font-size:.76rem;color:var(--color-text-secondary)}.weekly-board-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:var(--spacing-sm)}.weekly-board{display:grid;grid-template-columns:minmax(44px,auto) repeat(7,minmax(32px,1fr));gap:4px;min-width:0}.weekly-board .wk-day-head,.weekly-board .wk-period-head{font-size:.7rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;border-radius:6px;padding:4px 0;min-height:34px}.weekly-board .wk-day-letter{display:none}.weekly-board .wk-period-head{flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;padding:4px 6px;gap:1px;text-transform:none}.weekly-board .wk-period-head small{font-weight:400;font-size:.6rem;opacity:.8}.weekly-board .wk-period-head .wk-period-icon{font-size:1.05rem;line-height:1}.weekly-board .wk-period-head[data-period=morning]{background:var(--sched-morning);color:var(--sched-morning-ink)}.weekly-board .wk-period-head[data-period=midday]{background:var(--sched-midday);color:var(--sched-midday-ink)}.weekly-board .wk-period-head[data-period=afternoon]{background:var(--sched-afternoon);color:var(--sched-afternoon-ink)}.weekly-board .wk-day-head:hover{background:var(--color-background);color:var(--color-text)}.weekly-board .wk-period-head:hover{filter:brightness(.96)}.weekly-board .wk-cell{position:relative;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);min-height:var(--sched-tap);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--color-text-secondary);transition:box-shadow .06s,background .08s,transform .04s;-webkit-tap-highlight-color:transparent;padding:2px}.weekly-board .wk-cell:active{transform:scale(.95)}.weekly-board .wk-cell.has-ads[data-period=morning]{background:color-mix(in srgb,var(--sched-morning) 55%,#fff)}.weekly-board .wk-cell.has-ads[data-period=midday]{background:color-mix(in srgb,var(--sched-midday) 45%,#fff)}.weekly-board .wk-cell.has-ads[data-period=afternoon]{background:color-mix(in srgb,var(--sched-afternoon) 55%,#fff)}.weekly-board .wk-cell.has-ads{color:var(--color-text);font-weight:700}.weekly-board .wk-cell.empty{opacity:.5;cursor:default}.weekly-board .wk-cell .wk-dash{color:var(--color-text-secondary);font-size:1rem;line-height:1}.weekly-board .wk-count{display:inline-flex;align-items:center;gap:2px;line-height:1}.weekly-board .wk-count-icon{font-size:.68rem}.weekly-board .wk-count-num{font-size:.82rem;font-weight:800}.weekly-board .wk-cell.selected{background:var(--color-primary);border-color:var(--color-primary);color:#073b36;box-shadow:0 0 0 2px var(--color-primary) inset}.weekly-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:var(--spacing-sm);font-size:.68rem;color:var(--color-text-secondary)}.weekly-legend-item{display:inline-flex;align-items:center;gap:4px}.weekly-legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px}.weekly-legend-dot[data-period=morning]{background:var(--sched-morning)}.weekly-legend-dot[data-period=midday]{background:var(--sched-midday)}.weekly-legend-dot[data-period=afternoon]{background:var(--sched-afternoon)}.weekly-legend-note{font-weight:600}@media (max-width: 480px){.weekly-board{grid-template-columns:34px repeat(7,minmax(0,1fr));gap:3px}.weekly-board .wk-day-abbr{display:none}.weekly-board .wk-day-letter{display:inline}.weekly-board .wk-period-head{align-items:center;padding:4px 2px}.weekly-board .wk-period-head .wk-period-name,.weekly-board .wk-period-head small{display:none}.weekly-board .wk-period-head .wk-period-icon{font-size:1.25rem}.weekly-board .wk-count-icon{display:none}.weekly-board .wk-cell{min-height:40px}}.weekly-actions{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap;margin-top:var(--spacing-md)}.weekly-status{font-size:.78rem;color:var(--color-text-secondary)}.weekly-sheet-backdrop{position:fixed;inset:0;background:#0000006b;display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-modal);overscroll-behavior:contain}.weekly-sheet{background:var(--color-surface);width:100%;max-width:520px;max-height:82vh;border-radius:14px 14px 0 0;display:flex;flex-direction:column;overflow:hidden}@media (min-width: 640px){.weekly-sheet-backdrop{align-items:center}.weekly-sheet{border-radius:14px}}.weekly-sheet-head{flex:0 0 auto;padding:12px 14px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.weekly-sheet-head h4{margin:0;font-size:.95rem}.weekly-sheet-close{border:none;background:none;font-size:1.4rem;cursor:pointer;color:var(--color-text-secondary);min-height:var(--sched-tap);min-width:var(--sched-tap)}.weekly-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.weekly-empty{color:var(--color-text-secondary);font-size:.85rem}.weekly-ad-row{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-sm);align-items:start;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px;background:var(--color-surface);color:var(--color-text);cursor:pointer;width:100%}.weekly-ad-row:hover{border-color:var(--color-primary)}.weekly-ad-row .war-icon{font-size:1.1rem;line-height:1.35}.weekly-ad-row .war-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover}.weekly-ad-row .war-main{min-width:0}.weekly-ad-row .war-head{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.weekly-ad-row .war-name{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-ad-row .war-badges{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex:0 0 auto}.weekly-ad-row .war-type{font-weight:400;font-size:.72rem;color:var(--color-text-secondary);white-space:nowrap}.weekly-ad-row .war-phone{font-size:.85rem}.weekly-ad-row .war-sched{margin-top:6px;font-size:.76rem;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:2px}.weekly-ad-row .war-line b{color:var(--color-text)}.walk-ad-list{margin-top:var(--spacing-lg)}.walk-ad-list-head{display:flex;align-items:baseline;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-sm)}.walk-ad-list-head h3{margin:0;font-size:1rem}.walk-ad-list-sub{font-size:.76rem;color:var(--color-text-secondary)}.walk-ad-list-empty{color:var(--color-text-secondary);font-size:.85rem;padding:var(--spacing-md) 0}.walk-ad-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}@media (min-width: 470px) and (max-width: 600px){.walk-ad-list-grid .war-type-text{display:none}}.weekly-ad-row .war-type-text{margin-left:4px}.walk-directory-link{margin-top:var(--spacing-md);text-align:center}.walk-directory-link .btn-link{display:inline-block;color:var(--color-primary);font-weight:600;text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md)}.walk-directory-link .btn-link:hover{background:var(--color-background);text-decoration:underline}.map-filter{color:var(--color-text-secondary);font-weight:400}.map-filter-current{font:inherit;color:inherit}.filter-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-xs) var(--spacing-md)}.filter-toggle-group{display:flex;gap:var(--spacing-sm)}.filter-bar .filter-toggle-group+.filter-toggle-group{border-left:1px solid var(--color-border);padding-left:var(--spacing-md)}@media (max-width: 420px){.filter-bar .filter-toggle-group+.filter-toggle-group{border-left:0;padding-left:0}}.filter-toggle{display:flex;flex-direction:row;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;cursor:pointer;font-size:.78rem;line-height:1.1;transition:all .12s ease;user-select:none}.filter-toggle .filter-toggle-icon{font-size:1.15rem;line-height:1}.filter-toggle .filter-toggle-label{white-space:nowrap}.filter-toggle.active{background:var(--color-primary, #2a9d8f);border:2px solid var(--color-primary, #2a9d8f);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #ffffff40}.filter-toggle.inactive{background:var(--color-background, #f2f2f2);border:2px dashed var(--color-border, #ccc);color:var(--color-text-muted, #999);opacity:.65}.filter-toggle.inactive .filter-toggle-icon{filter:grayscale(1)}.filter-toggle.inactive .filter-toggle-label{text-decoration:line-through}.filter-toggle:hover{transform:translateY(-1px)}.filter-toggle.inactive:hover{opacity:.85}.auth-tabs{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.auth-tab{flex:1;padding:var(--spacing-md);background:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.auth-tab:hover{color:var(--color-text);background-color:var(--color-background)}.auth-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.auth-content{padding:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-form h3{margin:0 0 var(--spacing-md) 0;font-size:1.25rem}.auth-divider{text-align:center;position:relative;margin:var(--spacing-md) 0;color:var(--color-text-secondary)}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background-color:var(--color-border)}.auth-divider:before{left:0}.auth-divider:after{right:0}@media (max-width: 768px){.auth-tabs{gap:0}.auth-tab{font-size:.875rem;padding:var(--spacing-sm)}}.phone-input-group{display:flex;align-items:stretch;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.phone-input-group:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px #4ecdc440}.phone-input-group .phone-prefix{display:inline-flex;align-items:center;padding:0 10px;background:var(--color-background);border-right:1px solid var(--color-border);color:var(--color-text-secondary);font-weight:600;font-size:.9rem;white-space:nowrap;user-select:none}.phone-input-group .phone-local{flex:1 1 auto;min-width:0;border:0!important;border-radius:0!important;background:transparent;outline:none;box-shadow:none!important;letter-spacing:1px}.btn-instagram{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;border:none;background:linear-gradient(45deg,#f09433,#e6683c 25%,#dc2743,#cc2366 75%,#bc1888)}.btn-instagram:hover:not(:disabled){filter:brightness(1.05)}.btn-instagram:disabled{opacity:.6;cursor:not-allowed}.btn-instagram .instagram-icon{font-size:1.1em;line-height:1}.instagram-linked{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.instagram-linked .instagram-username{display:inline-flex;align-items:center;gap:6px;font-weight:600}.listing-title{display:flex;align-items:center;gap:var(--spacing-sm);margin:0;flex:1}.listing-service-icon{font-size:1.5rem}.listing-owner-actions{display:flex;gap:var(--spacing-xs)}.listing-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.listing-section-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.listing-section-content{font-size:1rem;color:var(--color-text);line-height:1.6}.listing-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.listing-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.listing-field strong{color:var(--color-text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.listing-field span,.listing-field p{color:var(--color-text)}.listing-notes{padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);white-space:pre-wrap;line-height:1.6}.phone-section{display:flex;align-items:center;gap:var(--spacing-sm)}.phone-label{font-weight:600;color:var(--color-text-secondary)}.phone-number{font-size:1.125rem;font-weight:600;color:var(--color-primary);text-decoration:none}.phone-number:hover{text-decoration:underline}.phone-greyed{color:var(--color-text-secondary);cursor:not-allowed}@media (max-width: 768px){.listing-title{font-size:1.25rem}.listing-section-title{font-size:.75rem}}.listing-form-modal{width:95vw;max-width:700px;max-height:85vh;overflow-y:auto;padding:0}.listing-form-modal h2{padding:var(--spacing-md) var(--spacing-lg);margin:0;border-bottom:1px solid var(--color-border);background-color:var(--color-surface);position:sticky;top:0;z-index:10}.listing-form{padding:var(--spacing-lg)}.form-section{margin-bottom:var(--spacing-xl)}.form-section h3{margin-bottom:var(--spacing-md);color:var(--color-primary);font-size:1.1rem;font-weight:600}.form-section h4{margin-bottom:var(--spacing-sm);color:var(--color-text);font-size:1rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:600;color:var(--color-text);font-size:.95rem}.form-group input[type=text],.form-group input[type=date],.form-group input[type=time],.form-group select,.form-group textarea{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background-color:var(--color-background);color:var(--color-text);transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.error-message{color:var(--color-danger);font-size:.875rem;margin-top:var(--spacing-xs)}.checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:background-color .2s}.checkbox-label:hover{background-color:var(--color-surface)}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-label span{font-size:.95rem;color:var(--color-text)}.pet-section{margin-bottom:var(--spacing-lg)}.pet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.pet-item-form{background-color:var(--color-surface);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border:1px solid var(--color-border)}.pet-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.btn-icon{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:background-color .2s;line-height:1}.btn-icon:hover{background-color:var(--color-surface)}.btn-icon.btn-remove{font-size:1.2rem}.btn-icon.btn-remove:hover{background-color:#ef53501a}.location-map{width:100%;height:200px;border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:var(--spacing-sm);position:relative;z-index:1;overflow:hidden}.location-input-group{display:flex;gap:var(--spacing-sm);align-items:flex-start}.location-input-group input{flex:1}.location-input-group .btn-secondary{white-space:nowrap;padding:var(--spacing-sm) var(--spacing-md);margin-top:0}@media (max-width: 768px){.location-input-group{flex-direction:column}.location-input-group .btn-secondary{width:100%}}.form-actions{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);position:sticky;bottom:0;background-color:var(--color-background);margin:0 calc(-1 * var(--spacing-lg));padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);z-index:200}.form-actions button{flex:1}@media (max-width: 768px){.form-actions{flex-direction:column}}.location-map .leaflet-control-container{font-size:12px}.location-map .leaflet-control-zoom{border:1px solid var(--color-border)!important;border-radius:var(--radius-sm)!important}.location-map .leaflet-control-zoom a{background-color:var(--color-background)!important;color:var(--color-text)!important;border-bottom:1px solid var(--color-border)!important}.location-map .leaflet-control-zoom a:hover{background-color:var(--color-surface)!important}.location-map .leaflet-popup-content-wrapper{background-color:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md)}.location-map .leaflet-popup-tip{background-color:var(--color-surface)}.visibility-toggle{display:flex;gap:var(--spacing-sm)}.vis-option{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .08s,background .08s,color .08s}.vis-option .vis-ic{font-size:1.1rem;line-height:1}.vis-option:hover{border-color:var(--color-primary)}.vis-option.active{border-color:var(--color-primary);background:var(--color-primary);color:#083b37}.geoloc-row{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-xs)}.btn-geoloc{min-height:36px;padding:6px 10px;font-size:.82rem}.form-row.form-row-dates{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}@media (max-width: 768px){.form-row.form-row-dates{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}}@media (max-width: 320px){.form-row.form-row-dates{grid-template-columns:1fr}}.form-row-dates .form-group{min-width:0}.form-row-dates input[type=date]{width:100%;min-width:0}.visibility-toggle{flex-wrap:nowrap}.form-group.visibility-toggle{flex-direction:row}.pricing-toggle{display:flex;gap:var(--spacing-sm)}.pricing-option{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:6px 4px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-weight:600;cursor:pointer;text-align:center;transition:border-color .08s,background .08s,color .08s}.pricing-option .pricing-ic{font-size:1.15rem;line-height:1}.pricing-option .pricing-lb{font-size:.7rem;line-height:1.1}.pricing-option:hover{border-color:var(--color-primary)}.pricing-option.active{border-color:var(--color-primary);background:var(--color-primary);color:#083b37}.profile-tabs{display:flex;border-bottom:1px solid var(--color-border);background:var(--color-background)}.profile-tab{flex:1;padding:var(--spacing-sm) var(--spacing-lg);border:none;background:transparent;cursor:pointer;font-size:1rem;color:var(--color-text-secondary);border-bottom:2px solid transparent;transition:all var(--transition-fast)}.profile-tab:hover{background:#4ecdc40d;color:var(--color-primary)}.profile-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}@media (max-width: 768px){.profile-tab{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}}@media (max-width: 480px){.profile-tabs{flex-direction:column}.profile-tab{border-bottom:1px solid var(--color-border)}.profile-tab.active{border-bottom-color:var(--color-border);border-left:3px solid var(--color-primary)}}.listing-tooltip{position:fixed;z-index:var(--z-tooltip);background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:0 4px 16px var(--color-shadow);max-width:300px;pointer-events:none;animation:fadeIn var(--transition-fast)}.tooltip-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.tooltip-icon{font-size:1.25rem}.tooltip-xp{margin-left:auto;font-size:.875rem;color:var(--color-text-secondary)}.tooltip-body{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tooltip-row{display:flex;gap:var(--spacing-xs);font-size:.875rem}.tooltip-label{font-weight:600;color:var(--color-text-secondary);min-width:60px}.tooltip-notes{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-size:.875rem}.tooltip-notes p{margin-top:var(--spacing-xs);line-height:1.4;color:var(--color-text-secondary)}@media (max-width: 768px){.listing-tooltip{max-width:250px;padding:var(--spacing-sm)}}@media (max-width: 768px){:root{--spacing-lg: 20px;--spacing-xl: 28px}html{font-size:15px}}@media (max-width: 480px){:root{--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px}html{font-size:14px}.flex-mobile-column{flex-direction:column!important}.mobile-full-width{width:100%!important}}@media (max-height: 500px) and (orientation: landscape){.modal-content{max-height:95vh}}@media print{.top-bar,.fab,.filters-panel,button,.modal-overlay{display:none!important}body{background:#fff}.availability-calendar{padding:0}}
