:root{color:#17211d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html{min-height:100%}body{min-height:100%;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}#root{min-height:100vh}:root{--cream:#fffaf1;--paper:#ffffffe6;--sand:#f7ead8;--peach:#f6a66d;--orange:#ef7d45;--pink:#ffdce5;--green:#7aa874;--ink:#3b302a;--muted:#806f63;--line:#efdcca;--shadow:0 20px 50px #764c301f}.home,.app-shell,.auth-page,.public-page,.status-page{min-height:100vh}.home,.app-shell,.auth-page,.status-page{background:radial-gradient(circle at 10% 8%,#ffdce5e6,#0000 30%),radial-gradient(circle at 90% 12%,#f6a66d42,#0000 28%),linear-gradient(135deg,#fffaf1 0%,#f7ead8 58%,#fff4e6 100%)}.topbar{justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1180px;margin:0 auto;padding:22px 24px;display:flex}.brand{color:var(--ink);letter-spacing:0;font-size:23px;font-weight:900;text-decoration:none}.brand:before{content:"🐾 "}.brand.compact{margin-bottom:22px;display:inline-flex}.nav-actions{align-items:center;gap:12px;display:flex}.user-email,.muted{color:var(--muted);font-size:14px}.hero-panel{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:44px;max-width:1180px;min-height:calc(100vh - 118px);margin:24px auto 0;padding:24px;display:grid}.eyebrow{color:var(--orange);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:900}h1,h2,h3,p{margin-top:0}h1{color:var(--ink);letter-spacing:0;margin-bottom:20px;font-size:54px;line-height:1.08}h2{color:var(--ink);margin-bottom:10px;font-size:28px;line-height:1.16}h3{color:var(--ink);margin-bottom:12px;font-size:19px;line-height:1.25}.hero-copy{color:var(--muted);max-width:680px;font-size:19px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:11px 18px;font-weight:900;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #ef7d452e}.button:disabled{cursor:not-allowed;opacity:.65}.button.primary{background:linear-gradient(135deg, var(--orange), var(--peach));color:#fff}.button.secondary{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);background:#fff}.button.ghost,.button.soft{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);background:#fff7ea}.button.full{width:100%}.tag-preview{aspect-ratio:1;box-shadow:var(--shadow);color:var(--ink);text-align:center;background:radial-gradient(circle at 32% 24%,#ffffffe6,#0000 28%),linear-gradient(145deg,#f6a66d,#ffdce5);border:12px solid #fff;border-radius:44% 56% 50% 50%;flex-direction:column;justify-content:center;justify-self:center;align-items:center;width:100%;max-width:420px;padding:32px;display:flex}.tag-preview span,.tag-pill{background:#ffffffb8;border:1px solid #ffffffd9;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:900}.tag-preview strong{margin-top:22px;font-size:58px;line-height:1.1}.tag-preview small{color:#3b302ab8;margin-top:10px}.auth-page,.status-page{justify-content:center;align-items:center;padding:24px;display:flex}.auth-card,.status-page>div,.editor-panel,.side-panel,.public-card{background:var(--paper);box-shadow:var(--shadow);border:1px solid #efdccae6;border-radius:28px}.auth-card{width:100%;max-width:440px;padding:34px}.auth-card h1,.panel-heading h1{font-size:32px}.panel-heading{margin-bottom:18px}.form-intro{color:var(--muted);margin-bottom:0}label{color:var(--ink);gap:8px;margin-bottom:16px;font-size:14px;font-weight:900;display:grid}input,select,textarea{border:1px solid var(--line);color:var(--ink);background:#fffdf8;border-radius:18px;outline:0;width:100%;min-height:48px;padding:11px 14px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--peach);box-shadow:0 0 0 4px #f6a66d2e}.photo-upload{background:#fff6ec;border:1px dashed #ecb07b;border-radius:22px;padding:14px}.photo-upload strong{color:var(--muted);font-size:13px;font-weight:700}.link-button{color:var(--orange);cursor:pointer;background:0 0;border:0;width:100%;margin-top:16px;padding:0;font-weight:900}.config-warning,.form-message{color:#72510b;background:#fff6df;border:1px solid #ebd18e;border-radius:18px;margin:16px 0;padding:12px 14px}.dashboard-grid{grid-template-columns:390px minmax(0,1fr);gap:18px;max-width:1180px;margin:0 auto;padding:18px 24px 42px;display:grid}.side-panel,.editor-panel{padding:24px}.pet-list{gap:12px;display:grid}.scan-guide{border:1px solid var(--line);background:linear-gradient(135deg,#fff6ec,#fffaf1);border-radius:24px;margin-bottom:22px;padding:16px}.scan-guide p{color:var(--muted);margin-bottom:12px;font-size:14px}.scan-actions{flex-wrap:wrap;gap:8px;display:flex}.scan-actions .button{min-height:40px;padding:8px 11px;font-size:13px}.pet-row{border:1px solid var(--line);color:var(--ink);background:#fffdf8;border-radius:24px;padding:14px}.pet-card-row{gap:12px;display:grid}.pet-row.active{border-color:var(--peach);box-shadow:0 0 0 4px #f6a66d24}.pet-row-main{align-items:center;gap:12px;display:flex}.pet-row-photo{background:var(--pink);border-radius:18px;flex:0 0 58px;justify-content:center;align-items:center;width:58px;height:58px;display:flex;overflow:hidden}.pet-row-photo img{object-fit:cover;width:100%;height:100%}.pet-row-photo span,.photo-placeholder{font-weight:900}.pet-row-main strong{font-size:18px;display:block}.pet-row-main small{color:var(--muted);margin-top:2px;display:block}.pet-row-actions{flex-wrap:wrap;gap:8px;display:flex}.mini-link{color:var(--ink);cursor:pointer;background:#fff6ec;border:0;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:900;text-decoration:none}.mini-link.danger{color:#9b2f2f;background:#fff0f0}.pet-form{gap:4px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.preview-link{color:var(--orange);margin:4px 0 12px;font-weight:900}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:420px;display:flex}.empty-state p{color:var(--muted);max-width:460px}.public-page{color:var(--ink);background:radial-gradient(circle at 18% 8%,#ffdce5f2,#0000 32%),radial-gradient(circle at 82% 0,#7aa8742e,#0000 28%),linear-gradient(#fffaf1 0%,#f7ead8 100%);padding:18px}.public-card{max-width:760px;margin:0 auto;padding:22px}.public-intro{text-align:center;padding:8px 2px 18px}.public-intro h1{margin-bottom:10px;font-size:34px}.public-intro p:last-child{color:var(--muted);margin-bottom:0}.pet-hero-card{border:1px solid var(--line);background:linear-gradient(135deg,#fff6ec,#fff);border-radius:30px;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:18px;padding:18px;display:grid}.photo-wrap{aspect-ratio:1;border:8px solid #fff;border-radius:50%;width:100%;overflow:hidden;box-shadow:0 16px 28px #764c3029}.photo-wrap img,.photo-placeholder{object-fit:cover;width:100%;height:100%}.photo-placeholder{background:linear-gradient(135deg, var(--pink), #ffe6bf);color:var(--ink);justify-content:center;align-items:center;font-size:76px;display:flex}.pet-hero-info h2{margin:14px 0 10px;font-size:40px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips span{border:1px solid var(--line);color:var(--ink);background:#fff1df;border-radius:999px;padding:7px 12px;font-size:14px;font-weight:800}.warm-tip{color:#6e5420;background:#fff3bf;border:1px solid #f2d981;border-radius:24px;margin:16px 0;padding:14px 16px;font-weight:800}.public-sections{gap:14px;display:grid}.info-card,.contact-card{border:1px solid var(--line);background:#fffdf8;border-radius:26px;padding:18px}.info-card p{color:var(--muted);white-space:pre-wrap;margin-bottom:0}.info-card dl{gap:10px;margin:0;display:grid}.info-card dl div{justify-content:space-between;gap:14px;display:flex}.info-card dt{color:var(--muted)}.info-card dd{color:var(--ink);text-align:right;margin:0;font-weight:900}.contact-card{background:linear-gradient(135deg,#fff,#fff0dc);border-color:#f3c29a;box-shadow:0 18px 35px #ef7d4529}.contact-card h3{font-size:24px}.phone-number{color:var(--orange);margin-bottom:6px;font-size:34px;font-weight:900;text-decoration:none;display:inline-flex}.contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.backup-contact{background:#ffffffb8;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;display:flex}.copy-toast{color:#496f45;background:#7aa87424;border:1px solid #7aa87452;border-radius:18px;margin:14px 0 0;padding:12px;font-weight:800}.status-page>div{text-align:center;max-width:520px;padding:34px}.status-page .button{margin-top:22px}@media (width<=820px){.topbar{flex-direction:column;align-items:flex-start}.nav-actions{flex-wrap:wrap}.hero-panel,.dashboard-grid,.pet-hero-card{grid-template-columns:1fr}.hero-panel{min-height:auto;padding-bottom:48px}h1{font-size:38px}.dashboard-grid{padding:12px}.form-grid{grid-template-columns:1fr}.public-page{padding:10px}.public-card{border-radius:24px;padding:14px}.public-intro h1{font-size:28px}.pet-hero-card{text-align:center}.photo-wrap{justify-self:center;max-width:190px}.pet-hero-info h2{font-size:34px}.chips,.contact-actions{justify-content:center}.contact-actions{grid-template-columns:1fr}.phone-number{font-size:29px}}
