:root{--red: #B73A35;--red-light: #F2DFDE;--slate: #3D5A6E;--slate-light: #A8BCC8;--slate-pale: #E4EBF0;--gold: #8B7350;--gold-light: #EDE4D5;--gold-glow: #F5EDE0;--dark: #1F3240;--warm-bg: #FAF8F5;--peach: #E8A87C;--terracotta: #D4896B;--mauve: #B8648A;--sky: #6A9EC1;--sage: #7FB9A2;--nav-gray: #5C7282;--border: #E8E3DC;--muted: #867A6E;--placeholder: #7D746A;--completed: var(--slate);--active: var(--gold);--upcoming: #E8E2DB;--font-display: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--shadow-sm: 0 1px 3px rgba(31,50,64,.04), 0 1px 2px rgba(31,50,64,.02);--shadow-md: 0 4px 16px rgba(31,50,64,.06), 0 1px 3px rgba(31,50,64,.04);--shadow-lg: 0 12px 40px rgba(31,50,64,.08), 0 4px 12px rgba(31,50,64,.04);--shadow-gold: 0 4px 20px rgba(184,153,109,.15);--companah-red: var(--red);--companah-red-light: var(--red-light);--companah-gold: var(--gold);--companah-gold-light: var(--gold-light);--companah-gold-glow: var(--gold-glow);--companah-slate: var(--slate);--companah-slate-light: var(--slate-light);--companah-slate-pale: var(--slate-pale);--charcoal: var(--dark);--bg: #FFFFFF;--bg-warm: var(--warm-bg);--bg-card: #FFFFFF;--warm-gray: var(--nav-gray);--light-gray: var(--muted)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--warm-bg);color:var(--dark);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;color:var(--dark);line-height:1.2}a{color:var(--slate);text-decoration:none;transition:color .2s ease}a:hover{color:var(--red)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.top-nav{background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(232,227,220,.6);padding:0 2.5rem;height:68px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;animation:slideDown .4s ease}.nav-brand{display:flex;align-items:center;gap:12px}.nav-cameo{width:32px;height:32px;transition:transform .3s ease}.nav-brand:hover .nav-cameo{transform:scale(1.08)}.nav-wordmark{font-family:var(--font-display);font-size:20px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--dark)}.logo-img{height:54px;width:auto}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{color:var(--nav-gray);font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.3px;transition:color .2s ease,border-color .2s ease;cursor:pointer;padding-bottom:4px;border-bottom:2px solid transparent;position:relative}.nav-links a:hover{color:var(--dark)}.nav-links a.active{color:var(--dark);font-weight:600;border-bottom-color:var(--gold)}.user-badge{display:flex;align-items:center;gap:.6rem;font-size:14px;color:var(--nav-gray);transition:opacity .2s ease}.user-badge:hover{opacity:.8}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--slate) 0%,var(--dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.brand-strip{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 1.5rem;background:#fff;border-bottom:1px solid var(--border)}.brand-strip-logo{height:48px;width:auto}@media (max-width: 640px){.brand-strip{padding:12px 1rem}.brand-strip-logo{height:40px}}.main-content{max-width:900px;margin:0 auto;padding:2.5rem 1.5rem 4rem;animation:fadeInUp .5s ease}.page-container{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem 3rem;animation:fadeInUp .5s ease}@media (max-width: 640px){.page-container{padding:1.5rem 1rem 2rem}}.welcome-section{text-align:center;padding:2.5rem 0 2rem}.welcome-section h1{font-family:var(--font-display);font-size:30px;font-weight:400;color:var(--dark);margin-bottom:.5rem}.welcome-section p{color:var(--nav-gray);font-size:15px;max-width:500px;margin:0 auto;font-weight:400}.card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);padding:36px 32px;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow .3s ease,transform .3s ease}@media (max-width: 640px){.card{padding:24px 20px;border-radius:var(--radius-md)}}.pet-card{display:flex;align-items:center;gap:1.5rem}.pet-photo{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--gold-light),var(--slate-pale));border:3px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:2.2rem;flex-shrink:0;box-shadow:var(--shadow-gold)}.pet-info h2{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--red);margin-bottom:.25rem}.pet-meta{display:flex;gap:1.5rem;color:var(--nav-gray);font-size:14px;flex-wrap:wrap}.care-badge{display:inline-block;background:var(--slate-pale);color:var(--slate);font-size:14px;font-weight:600;padding:4px 12px;border-radius:12px;margin-top:.5rem;text-transform:uppercase;letter-spacing:.04em}.section-title{font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}.progress-container{text-align:center;margin-bottom:2rem}.status-label{font-family:var(--font-body);font-size:14px;text-transform:uppercase;letter-spacing:2px;color:var(--nav-gray);font-weight:600;margin-bottom:.3rem}.status-value{font-family:var(--font-display);font-size:1.8rem;font-weight:400;color:var(--dark)}.status-description{color:var(--nav-gray);font-size:14px;font-weight:400;max-width:460px;margin:.5rem auto 0;line-height:1.7;font-style:italic}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:2rem}.action-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.action-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--peach));opacity:0;transition:opacity .3s ease}.action-card:hover{border-color:#b8996d4d;box-shadow:var(--shadow-md);transform:translateY(-3px)}.action-card:hover:before{opacity:1}.card-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.8rem}.card-icon.slate{background:var(--slate-pale)}.card-icon.gold{background:var(--gold-glow)}.card-icon.red{background:var(--red-light)}.action-card h3{font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--dark);margin-bottom:.3rem}.action-card p{font-size:14px;color:var(--nav-gray);font-weight:400;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--slate) 0%,var(--dark) 100%);color:#fff;box-shadow:0 2px 8px #1f324033}.btn-primary:hover{box-shadow:0 8px 24px #1f324040;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-outline{background:transparent;color:var(--slate);border:1.5px solid var(--border)}.btn-outline:hover{border-color:var(--slate);background:#3d5a6e0a}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#f7f0e8,#f2e6d8,#eddccc 60%,#f0e4d4);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:1}.login-page:after{content:"";position:absolute;top:-20%;right:-15%;width:70%;height:70%;background:radial-gradient(ellipse,rgba(184,153,109,.1) 0%,transparent 60%);pointer-events:none;z-index:0}.login-hero-bg,.login-hero-overlay{display:none}.login-card{position:relative;z-index:10;background:transparent;border:none;border-radius:0;padding:48px 44px;width:440px;max-width:90vw;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:fadeInUp .6s ease}.login-brand-area{text-align:center;margin-bottom:40px}.login-cameo-icon{display:block;width:56px;height:56px;margin:0 auto 24px;opacity:0;animation:fadeInUp .6s ease .1s forwards}.login-logo{display:none}.login-wordmark{display:block;font-family:var(--font-display);font-size:42px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--dark);margin-bottom:8px;opacity:0;animation:fadeInUp .6s ease .2s forwards}.login-homeward-label{display:block;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:0;opacity:0;animation:fadeInUp .6s ease .3s forwards}.login-brand-area h1,.login-brand-area p{display:none}.login-form-label{display:block;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--slate);margin-bottom:8px;text-align:left;letter-spacing:.3px}.login-form-input{width:100%;padding:14px 18px;border:1.5px solid rgba(232,227,220,.8);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;color:var(--dark);background:#fff9;outline:none;box-sizing:border-box;transition:all .25s ease}.login-form-input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #b8996d1a;background:#ffffffd9}.login-form-input::placeholder{color:var(--placeholder);font-weight:400}.login-btn-primary{width:100%;margin-top:20px;padding:15px 24px;background:linear-gradient(135deg,var(--slate) 0%,var(--dark) 100%);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #1f324033}.login-btn-primary:hover{box-shadow:0 8px 32px #1f32404d;transform:translateY(-2px)}.login-btn-primary:active{transform:scale(.98) translateY(0)}.login-sent-state{text-align:center;padding:8px 0;animation:fadeInUp .5s ease}.login-sent-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--slate-pale) 0%,rgba(184,153,109,.15) 100%);display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:18px}.login-sent-state h2{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--dark);margin-bottom:10px}.login-sent-state p{font-size:14px;color:var(--nav-gray);line-height:1.7;margin:0}.login-btn-ghost{margin-top:20px;padding:10px 24px;border:1.5px solid rgba(232,227,220,.8);border-radius:var(--radius-sm);background:transparent;color:var(--slate);font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease}.login-btn-ghost:hover{background:#ffffff80;border-color:var(--slate)}.login-footer{text-align:center;margin-top:36px;font-family:var(--font-display);font-size:15px;font-weight:400;font-style:italic;color:#9e8e7e;line-height:1.6;border-top:none;padding-top:0}.portal-footer{text-align:center;padding:2rem 0;border-top:1px solid var(--border);margin-top:2rem}.portal-footer p{font-size:14px;color:var(--muted);font-weight:400}.portal-footer .footer-heart{color:var(--red)}.portal-footer .footer-logo{height:36px;margin-bottom:.5rem;opacity:.5}.back-btn{display:inline-flex;align-items:center;gap:.4rem;color:var(--nav-gray);font-size:14px;font-weight:500;cursor:pointer;margin-bottom:1rem;border:none;background:none;font-family:var(--font-body);transition:color .2s ease}.back-btn:hover{color:var(--dark)}.fillout-container{margin-bottom:1.5rem;min-height:500px}.fillout-placeholder{background:#fff;border:2px dashed var(--border);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center}.fillout-placeholder h3{font-family:var(--font-display);font-size:1.3rem;color:var(--dark);margin-bottom:.4rem}.fillout-placeholder p{color:var(--nav-gray);font-size:14px;font-weight:400}.arc-tooltip{position:fixed;background:var(--dark);color:#fff;padding:.5rem .8rem;border-radius:8px;font-family:var(--font-body);font-size:14px;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:200;max-width:220px;text-align:center;line-height:1.4;box-shadow:0 4px 12px #00000026}.arc-tooltip.show{opacity:1}@media (max-width: 700px){.partner-table-desktop{display:none!important}.partner-cards-mobile{display:block!important}}@media (max-width: 640px){.top-nav{padding:0 1.25rem;height:60px}.nav-wordmark{font-size:16px;letter-spacing:1.5px}.nav-cameo{width:28px;height:28px}.nav-links{gap:1rem}.nav-links a{font-size:14px}.main-content{padding:1.5rem 1rem 3rem}.pet-card{flex-direction:column;text-align:center}.pet-meta{justify-content:center}.welcome-section h1{font-size:24px}.login-card{padding:40px 24px}.login-wordmark{font-size:32px;letter-spacing:2px}}.skeleton{background:linear-gradient(90deg,var(--border) 25%,rgba(255,255,255,.4) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:var(--radius-sm)}
