:root{--color-primary:#ff5c33;--color-primary-hover:#ff4719;--color-dark:#040814;--color-text:#fff;--color-text-secondary:#a0a0a0;--color-background:#0a0f1f;--color-card-bg:#ffffff0d;--color-border:#ffffff1a;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:30px;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 4px 16px #0003;--shadow-lg:0 8px 32px #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.header{background-color:var(--color-dark);padding:var(--spacing-md)var(--spacing-lg);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header__logo{color:var(--color-text);font-size:1.5rem;font-weight:700;text-decoration:none}.header__logo span{color:var(--color-primary)}.header__auth{gap:var(--spacing-sm);align-items:center;display:flex}.btn{border-radius:var(--radius-lg);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;display:inline-block}.btn-primary{background-color:var(--color-primary);color:var(--color-text)}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-outline{color:var(--color-text);border:2px solid var(--color-text);background-color:#0000}.btn-outline:hover{background-color:#ffffff1a}.container{max-width:1400px;padding:var(--spacing-lg);margin:0 auto}.layout{gap:var(--spacing-lg);margin-top:var(--spacing-lg);grid-template-columns:280px 1fr;display:grid}@media (max-width:968px){.layout{grid-template-columns:1fr}}.filters{background-color:var(--color-card-bg);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--color-border);height:fit-content;transition:all .3s;position:sticky;top:100px;overflow:hidden}.filters__header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.filters__toggle{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;transition:all .3s;display:flex}.filters__toggle:hover{background:var(--color-primary-hover);transform:scale(1.1)}.filters__content{transition:opacity .3s}@media (min-width:969px){.filters--collapsed{width:60px;padding:var(--spacing-md)var(--spacing-xs)}.filters--collapsed .filters__header h2{display:none}.filters--collapsed .filters__toggle{margin:0 auto}.filters--collapsed .filters__content{opacity:0;height:0;overflow:hidden}}@media (max-width:968px){.filters{position:relative;top:0}.filters__toggle{transform:rotate(90deg)}.filters--collapsed .filters__toggle{transform:rotate(-90deg)}.filters--collapsed .filters__content{opacity:0;max-height:0;overflow:hidden}.filters__content{max-height:2000px;transition:max-height .3s,opacity .3s}}.filters h2{color:var(--color-text);margin:0;font-size:1.25rem}.filters label{margin-bottom:var(--spacing-md);color:var(--color-text-secondary);font-size:.9rem;display:block}.filters input[type=checkbox]{margin-right:var(--spacing-xs)}.filters select,.filters input[type=text]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);margin-top:.25rem;padding:.5rem;font-size:.9rem}.filters select:focus,.filters input[type=text]:focus{border-color:var(--color-primary);outline:none}.dog-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.dog-card{background-color:var(--color-card-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;overflow:hidden}.dog-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary);transform:translateY(-4px)}.dog-card__image{object-fit:cover;background-color:var(--color-background);width:100%;height:250px}.dog-card__content{padding:var(--spacing-md)}.dog-card__name{margin-bottom:var(--spacing-xs);color:var(--color-text);font-size:1.5rem;font-weight:700}.dog-card__breed{color:var(--color-primary);margin-bottom:var(--spacing-xs);font-size:.9rem}.dog-card__details{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:.85rem}.dog-card__location{color:var(--color-text-secondary);align-items:center;gap:.25rem;font-size:.85rem;display:flex}.dog-card__description{color:var(--color-text-secondary);margin-top:var(--spacing-sm);font-size:.9rem;line-height:1.5}.loading,.error,.empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:1.1rem}.error{color:#ff6b6b}.hero{text-align:center;padding:var(--spacing-xl)var(--spacing-lg);background:linear-gradient(135deg,var(--color-dark)0%,var(--color-background)100%);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border:1px solid var(--color-border)}.hero h1{margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-text)0%,var(--color-primary)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem}.hero p{color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--spacing-md);font-size:1.1rem}.hero__actions{gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center;display:flex}.photo-gallery{gap:var(--spacing-sm);flex-direction:column;display:flex}.photo-gallery__main{border-radius:var(--radius-md);background-color:var(--color-background);width:100%;height:500px;overflow:hidden}.photo-gallery__main img{object-fit:contain;width:100%;height:100%}.photo-gallery__thumbnails{gap:var(--spacing-xs);padding:var(--spacing-xs)0;display:flex;overflow-x:auto}.photo-gallery__thumbnail{border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;flex-shrink:0;width:80px;height:80px;transition:all .2s ease-in-out;overflow:hidden}.photo-gallery__thumbnail:hover,.photo-gallery__thumbnail.active{border-color:var(--color-primary)}.photo-gallery__thumbnail img{object-fit:cover;width:100%;height:100%}.photo-gallery__placeholder{color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.modal-overlay{z-index:1000;padding:var(--spacing-md);background-color:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--color-dark);border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--color-border);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);overflow-y:auto}.modal__header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.modal__title{color:var(--color-text);font-size:1.5rem;font-weight:700}.modal__close{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:all .2s ease-in-out;display:flex}.modal__close:hover{background-color:var(--color-card-bg);color:var(--color-text)}.form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-label{color:var(--color-text);font-size:.9rem;font-weight:500}.form-label.required:after{content:" *";color:var(--color-primary)}.form-input,.form-textarea,.form-select{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:1rem;font-family:var(--font-family);padding:.75rem;transition:border-color .2s ease-in-out}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);outline:none}.form-textarea{resize:vertical;min-height:120px}.form-error{color:#ff6b6b;font-size:.85rem}.form-success{color:#51cf66;padding:var(--spacing-sm);border-radius:var(--radius-sm);background-color:#51cf661a;border:1px solid #51cf664d;font-size:.9rem}.form-actions{gap:var(--spacing-sm);margin-top:var(--spacing-sm);justify-content:flex-end;display:flex}.btn-secondary{background-color:var(--color-card-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:#ffffff1a}.btn-danger{color:var(--color-text);background-color:#ff6b6b}.btn-danger:hover{background-color:#ff5252}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{box-shadow:none;transform:none}.dashboard{max-width:1400px;padding:var(--spacing-lg);margin:0 auto}.dashboard__header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.dashboard__title{color:var(--color-text);font-size:2rem;font-weight:700}.dashboard__empty{text-align:center;padding:var(--spacing-xl);background-color:var(--color-card-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.dashboard__empty-icon{margin-bottom:var(--spacing-md);font-size:3rem}.dashboard__empty-text{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.dog-table{background-color:var(--color-card-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;overflow:hidden}.dog-table table{border-collapse:collapse;width:100%}.dog-table th,.dog-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.dog-table th{color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;background-color:#ffffff08;font-size:.9rem;font-weight:600}.dog-table td{color:var(--color-text-secondary)}.dog-table tr:last-child td{border-bottom:none}.dog-table tr:hover{background-color:#ffffff05}.dog-table__photo{border-radius:var(--radius-sm);object-fit:cover;width:60px;height:60px}.dog-table__actions{gap:var(--spacing-xs);display:flex}.btn-small{padding:.5rem 1rem;font-size:.85rem}.status-badge{border-radius:var(--radius-lg);text-transform:uppercase;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.status-badge.available{color:#51cf66;background-color:#51cf6633}.status-badge.pending{color:#ffb800;background-color:#ffb80033}.status-badge.adopted{color:#a0a0a0;background-color:#74747433}.dog-detail{max-width:1200px;padding:var(--spacing-lg);margin:0 auto}.dog-detail__back{align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);text-decoration:none;transition:color .2s ease-in-out;display:inline-flex}.dog-detail__back:hover{color:var(--color-primary)}.dog-detail__content{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}@media (max-width:968px){.dog-detail__content{grid-template-columns:1fr}}.dog-detail__section{background-color:var(--color-card-bg);border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--color-border)}.dog-detail__section-title{margin-bottom:var(--spacing-md);color:var(--color-text);font-size:1.25rem;font-weight:700}.dog-detail__info-grid{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.dog-detail__info-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.dog-detail__info-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.dog-detail__info-value{color:var(--color-text);font-size:1rem;font-weight:500}.dog-detail__description{color:var(--color-text-secondary);white-space:pre-wrap;line-height:1.6}.dog-detail__shelter-info{gap:var(--spacing-sm);flex-direction:column;display:flex}.dog-detail__shelter-name{color:var(--color-text);font-size:1.1rem;font-weight:600}.dog-detail__shelter-detail{color:var(--color-text-secondary);font-size:.9rem}.dog-detail__social-links{gap:var(--spacing-sm);margin-top:var(--spacing-sm);display:flex}.social-link{align-items:center;gap:var(--spacing-xs);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:.5rem 1rem;font-size:.85rem;text-decoration:none;transition:all .2s ease-in-out;display:inline-flex}.social-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.file-upload{gap:var(--spacing-sm);flex-direction:column;display:flex}.file-upload__input{display:none}.file-upload__label{justify-content:center;align-items:center;gap:var(--spacing-xs);background-color:var(--color-card-bg);border:2px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;padding:.75rem 1.5rem;transition:all .2s ease-in-out;display:inline-flex}.file-upload__label:hover{border-color:var(--color-primary);color:var(--color-primary)}.file-upload__previews{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.file-upload__preview{border-radius:var(--radius-sm);background-color:var(--color-background);width:100%;padding-top:100%;position:relative;overflow:hidden}.file-upload__preview img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.file-upload__remove{color:#fff;cursor:pointer;background-color:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;transition:background-color .2s ease-in-out;display:flex;position:absolute;top:4px;right:4px}.file-upload__remove:hover{background-color:var(--color-primary)}.form-checkbox,.form-radio{align-items:center;gap:var(--spacing-xs);display:flex}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{cursor:pointer;width:18px;height:18px}.header__nav{gap:var(--spacing-md);align-items:center;display:flex}.nav-link{color:var(--color-text-secondary);font-weight:500;text-decoration:none;transition:color .2s ease-in-out}.nav-link:hover,.nav-link.active{color:var(--color-primary)}.tabs{gap:var(--spacing-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg);display:flex}.tab{padding:var(--spacing-sm)var(--spacing-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-size:1rem;font-weight:500;transition:color .2s;position:relative}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary)}.tab.active:after{content:"";background-color:var(--color-primary);height:2px;position:absolute;bottom:-1px;left:0;right:0}.btn-icon{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:inline-flex}.btn-icon:hover{color:var(--color-text);background-color:#ffffff1a}.btn-icon.danger:hover{color:#ff6b6b;background-color:#ff6b6b1a}.btn-icon svg{width:20px;height:20px}.dashboard-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.stat-card{background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);gap:var(--spacing-xs);flex-direction:column;transition:all .2s ease-in-out;display:flex}.stat-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card h3{color:var(--color-text-secondary);margin:0;font-size:1rem;font-weight:500}.stat-card .stat-value{color:var(--color-text);font-size:2.5rem;font-weight:700;line-height:1}.stat-card .stat-icon{margin-bottom:var(--spacing-xs);color:var(--color-primary)}.app{min-height:100vh}.header__search{flex:1;max-width:600px;margin:0 2rem}.search-bar-container{width:100%;max-width:600px;position:relative}.search-bar{width:100%;position:relative}.search-input{border:2px solid var(--border-color,#e0e0e0);background:#fff;border-radius:12px;width:100%;padding:.75rem 3rem .75rem 1rem;font-size:1rem;transition:all .3s}.search-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b6b1a}.search-spinner{animation:1s linear infinite spin;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}@keyframes spin{0%{transform:translateY(-50%)rotate(0)}to{transform:translateY(-50%)rotate(360deg)}}.search-results{z-index:1000;background:#fff;border-radius:12px;max-height:400px;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000026}.search-result-item{cursor:pointer;border-bottom:1px solid #f0f0f0;gap:1rem;padding:1rem;transition:background .2s;display:flex}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#f9f9f9}.search-result-image{background:#f0f0f0;border-radius:8px;flex-shrink:0;width:60px;height:60px;overflow:hidden}.search-result-image img{object-fit:cover;width:100%;height:100%}.search-result-info{flex:1;min-width:0}.search-result-info h4{color:#333;margin:0 0 .25rem;font-size:1rem}.search-result-breed{color:#666;margin:0 0 .5rem;font-size:.875rem}.search-result-snippet{color:#888;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;overflow:hidden}.search-result-snippet b{color:var(--primary-color);font-weight:600}.language-switcher{position:relative}.language-switcher__button{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;min-width:100px;padding:.5rem 1rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 8px #0000001a}.language-switcher__button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.language-switcher__button:active{transform:translateY(0)}.language-switcher__arrow{margin-left:auto;font-size:.7rem}.language-switcher__overlay{z-index:999;position:fixed;inset:0}.language-switcher__dropdown{background:var(--color-dark);border:1px solid var(--color-border);z-index:1000;border-radius:8px;min-width:160px;animation:.2s slideDown;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.language-switcher__option{background:var(--color-dark);text-align:left;cursor:pointer;width:100%;color:var(--color-text);border:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;transition:background .2s;display:flex}.language-switcher__option:hover{background:var(--color-card-bg)}.language-switcher__option.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;font-weight:600}.language-switcher__option.active:hover{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color))}
