.navbar{z-index:100;width:100%;height:var(--nav-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#f5f0e8eb;align-items:center;display:flex;position:sticky;top:0}.navbar__inner{justify-content:space-between;align-items:center;width:100%;display:flex}.navbar__logo{font-family:var(--font-display);color:var(--ink);letter-spacing:-.03em;align-items:center;gap:var(--space-2);transition:opacity var(--transition-fast);font-size:1.75rem;font-weight:900;display:flex}.navbar__logo:hover{opacity:.75}.navbar__logo-paw{font-size:1.4rem}.navbar__right{align-items:center;gap:var(--space-3);display:flex}.navbar__user{color:var(--ink-muted);padding:var(--space-1) var(--space-3);font-size:.875rem;font-weight:400}.navbar__btn{border-radius:var(--radius-full);transition:all var(--transition-base);letter-spacing:.01em;padding:8px 20px;font-size:.875rem;font-weight:500}.navbar__btn--ghost{color:var(--ink-muted);border:1px solid #0000}.navbar__btn--ghost:hover{color:var(--ink);border-color:var(--border-dark);background:var(--warm-white)}.navbar__btn--primary{background:var(--ink);color:var(--cream);border:1px solid var(--ink)}.navbar__btn--primary:hover{background:var(--amber);border-color:var(--amber)}.navbar__btn--amber{background:var(--amber);color:#fff;border:1px solid var(--amber)}.navbar__btn--amber:hover{background:var(--amber-light);border-color:var(--amber-light)}.dog-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;animation:.4s both fadeUp;display:flex;overflow:hidden}.dog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.dog-card__img-wrap{aspect-ratio:4/3;background:var(--amber-pale);position:relative;overflow:hidden}.dog-card__img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.dog-card:hover .dog-card__img{transform:scale(1.04)}.dog-card__img-placeholder{width:100%;height:100%;color:var(--amber);background:var(--amber-pale);justify-content:center;align-items:center;font-size:3rem;display:flex}.dog-card__body{padding:var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.dog-card__name{font-family:var(--font-display);color:var(--ink);justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.dog-card__age{font-family:var(--font-body);color:var(--ink-faint);background:var(--cream);border-radius:var(--radius-full);border:1px solid var(--border);padding:2px 10px;font-size:.8rem;font-weight:400}.dog-card__description{color:var(--ink-muted);line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.dog-card__footer{padding-top:var(--space-2);border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.dog-card__owner{color:var(--ink-faint);font-size:.75rem}.dog-card__owner span{color:var(--amber);font-weight:500}.dog-card__actions{gap:var(--space-2);display:flex}.dog-card__action-btn{width:32px;height:32px;color:var(--ink-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:.75rem;display:flex}.dog-card__action-btn--edit{color:var(--amber);background:var(--amber-pale)}.dog-card__action-btn--edit:hover{background:var(--amber);color:#fff}.dog-card__action-btn--delete{color:var(--rust);background:#fdecea}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;padding:var(--space-5);background:#1a1a188c;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-7);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.25s fadeUp;position:relative;overflow-y:auto}.modal__close{top:var(--space-4);right:var(--space-4);border-radius:var(--radius-full);width:36px;height:36px;color:var(--ink-faint);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:1.25rem;display:flex;position:absolute}.modal__close:hover{background:var(--cream);color:var(--ink)}.modal__title{font-family:var(--font-display);color:var(--ink);margin-bottom:var(--space-5);font-size:1.75rem;font-weight:700}.form{gap:var(--space-4);flex-direction:column;display:flex}.form__group{gap:var(--space-2);flex-direction:column;display:flex}.form__label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:500}.form__input,.form__textarea{border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--ink);background:var(--warm-white);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:12px 16px;font-size:.95rem;font-weight:300}.form__input:focus,.form__textarea:focus{border-color:var(--amber);box-shadow:0 0 0 3px #c8852a1f}.form__textarea{resize:vertical;min-height:100px}.form__file-zone{border:2px dashed var(--border-dark);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--cream)}.form__file-zone:hover{border-color:var(--amber);background:var(--amber-pale)}.form__file-zone--has-file{border-color:var(--sage);background:#f0f5f0}.form__file-zone input[type=file]{display:none}.form__file-icon{margin-bottom:var(--space-2);font-size:2rem}.form__file-label{color:var(--ink-muted);font-size:.875rem}.form__file-label strong{color:var(--amber);font-weight:500}.form__file-name{color:var(--sage);margin-top:var(--space-1);font-size:.8rem}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;letter-spacing:.01em;white-space:nowrap;border:none;padding:12px 24px;font-size:.95rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--ink);color:var(--cream)}.btn--primary:hover:not(:disabled){background:var(--amber)}.btn--secondary{background:var(--cream);color:var(--ink);border:1.5px solid var(--border-dark)}.btn--secondary:hover:not(:disabled){background:var(--warm-white);border-color:var(--ink-muted)}.btn--danger{background:var(--rust);color:#fff}.btn--danger:hover:not(:disabled){background:#9a3820}.btn--full{width:100%}.spinner{border:2px solid var(--border);border-top-color:var(--amber);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.spinner--lg{border-width:3px;width:40px;height:40px}.spinner-wrap{padding:var(--space-9);justify-content:center;align-items:center;display:flex}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);align-items:center;gap:var(--space-2);font-size:.875rem;display:flex}.alert--error{color:var(--rust);background:#fee9e7;border:1px solid #fac5be}.alert--success{color:var(--sage);background:#eaf4ec;border:1px solid #bddec2}.empty-state{text-align:center;padding:var(--space-9) var(--space-5);color:var(--ink-faint)}.empty-state__icon{margin-bottom:var(--space-4);opacity:.4;font-size:4rem}.empty-state__title{font-family:var(--font-display);color:var(--ink-muted);margin-bottom:var(--space-2);font-size:1.5rem}.empty-state__text{font-size:.9rem}.confirm-dialog__text{color:var(--ink-muted);margin-bottom:var(--space-6);line-height:1.6}.confirm-dialog__actions{gap:var(--space-3);justify-content:flex-end;display:flex}.user-card{background:var(--cream);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-2);padding:var(--space-4);transition:transform var(--transition-base), box-shadow var(--transition-base);gap:var(--space-2);flex-direction:row;animation:.4s both fadeUp;display:flex}.user-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.user-card__id{font-family:var(--font-display);color:var(--ink);flex:1;justify-content:space-between;align-items:center;font-size:1rem;font-weight:350;display:flex}.user-card__username{font-family:var(--font-display);color:var(--ink);flex:1.25;justify-content:space-between;align-items:center;font-size:1rem;font-weight:350;display:flex}.user_card__is-superuser{font-family:var(--font-display);color:var(--ink);flex:1.5;justify-content:space-between;align-items:center;font-size:1rem;font-weight:350;display:flex}.user-card__action-btn{border-radius:var(--radius-sm);width:32px;height:32px;transition:all var(--transition-fast);flex:1;justify-content:center;align-items:center;font-size:.875rem}.user-card__action-btn--delete{color:var(--rust);background:#fdecea}.dog-card__action-btn--delete:hover{background:var(--rust);color:#fff}.home-page{padding:var(--space-7) 0;flex:1}.home-page__header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-7);flex-wrap:wrap;display:flex}.home-page__title{color:var(--ink);letter-spacing:-.04em;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.05}.home-page__title em{color:var(--amber);font-style:italic}.home-page__subtitle{color:var(--ink-faint);margin-top:var(--space-2);font-size:1rem;font-weight:300}.home-page__buttons{gap:var(--space-4);flex-direction:row-reverse;display:flex}.search-bar{gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:row;max-width:480px;display:flex}.search-bar__input{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--warm-white);color:var(--ink);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex:1;padding:12px 16px;font-size:.95rem}.search-bar__input:focus{border-color:var(--amber);box-shadow:0 0 0 3px #c8852a1f}.search-bar__btn{background:var(--ink);color:var(--cream);border-radius:var(--radius-md);transition:background var(--transition-fast);padding:12px 16px;font-size:.875rem;font-weight:500}.search-bar__btn:hover{background:var(--amber)}.search-bar__clear{color:var(--ink-faint);border:1.5px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-fast);background:var(--warm-white);padding:12px 16px;font-size:.875rem}.search-bar__clear:hover{color:var(--ink);border-color:var(--border-dark)}.search-results-label{color:var(--ink-faint);margin-bottom:var(--space-4);font-size:.875rem}.search-results-label strong{color:var(--amber)}.dog-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.dog-grid .dog-card:first-child{animation-delay:0s}.dog-grid .dog-card:nth-child(2){animation-delay:60ms}.dog-grid .dog-card:nth-child(3){animation-delay:.12s}.dog-grid .dog-card:nth-child(4){animation-delay:.18s}.dog-grid .dog-card:nth-child(5){animation-delay:.24s}.dog-grid .dog-card:nth-child(6){animation-delay:.3s}.dog-grid .dog-card:nth-child(7){animation-delay:.36s}.dog-grid .dog-card:nth-child(8){animation-delay:.42s}.dog-grid .dog-card:nth-child(9){animation-delay:.48s}.dog-grid .dog-card:nth-child(10){animation-delay:.54s}.dog-grid .dog-card:nth-child(11){animation-delay:.6s}.dog-grid .dog-card:nth-child(12){animation-delay:.66s}.pagination{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-8);display:flex}.pagination__info{color:var(--ink-faint);font-size:.875rem}.auth-page{padding:var(--space-7) var(--space-5);background:var(--cream);flex:1;justify-content:center;align-items:center;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-8);width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:.35s fadeUp}.auth-card__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--amber);margin-bottom:var(--space-2);font-size:.8rem;font-weight:500}.auth-card__title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.04em;margin-bottom:var(--space-6);font-size:2.25rem;font-weight:900;line-height:1.1}.auth-card__footer{margin-top:var(--space-5);text-align:center;color:var(--ink-faint);font-size:.875rem}.auth-card__footer a{color:var(--amber);transition:opacity var(--transition-fast);font-weight:500}.auth-card__footer a:hover{opacity:.75}.footer{border-top:1px solid var(--border);padding:var(--space-5) 0;margin-top:auto}.footer__inner{color:var(--ink-faint);justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:.8rem;display:flex}:root{--cream:#f5f0e8;--warm-white:#fafaf7;--ink:#1a1a18;--ink-muted:#4a4a44;--ink-faint:#8a8a80;--amber:#c8852a;--amber-light:#e8a84a;--amber-pale:#f5e8cc;--rust:#b84c2a;--sage:#5a7a5a;--surface:#fff;--border:#e0d8cc;--border-dark:#c8bca8;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #1a1a1814;--shadow-md:0 4px 16px #1a1a181a;--shadow-lg:0 8px 32px #1a1a1824;--shadow-card:0 2px 8px #1a1a180f, 0 8px 24px #1a1a1814;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--max-width:1280px;--nav-height:72px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--ink);background-color:var(--cream);min-height:100vh;font-weight:300;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-5);margin:0 auto}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}
