:root{--ink:#173035;--deep:#214f51;--mint:#52b99f;--mint-soft:#dff3e9;--coral:#ef846b;--sun:#f2c867;--cream:#fff9df;--paper:#f8f6ed;--white:#fffefa;--muted:#6c7b7b;--line:rgba(23,48,53,.12);--shadow:0 20px 55px rgba(23,48,53,.12);font-family:'Poppins',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{min-height:100%;background:var(--ink)}body{min-height:100vh;margin:0;background:var(--paper)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(239,132,107,.45);outline-offset:2px}[hidden]{display:none!important}
.wordmark{display:flex;align-items:center;gap:10px;color:inherit;font-family:'Fredoka',sans-serif;font-size:17px;font-weight:700;letter-spacing:.09em;text-decoration:none}.wordmark>span,.auth-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:48% 52% 42% 58%/56% 45% 55% 44%;background:var(--mint);color:var(--ink);font-family:'Fredoka';letter-spacing:0}
.auth-gate{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(360px,.9fr);min-height:100vh}.auth-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px 7vw;overflow:hidden;background:var(--ink);color:#fff}.auth-story:before{content:'';position:absolute;inset:-20%;background:radial-gradient(circle at 25% 20%,rgba(82,185,159,.3),transparent 25%),radial-gradient(circle at 80% 70%,rgba(242,200,103,.18),transparent 27%);transform:rotate(-8deg)}.auth-story>*{position:relative}.auth-story-copy{max-width:620px;margin:auto 0}.auth-story-copy small,.auth-card>small,.topbar small,.section-heading small,.welcome-card small,.panel-card small,.drawer header small{color:var(--mint);font-size:11px;font-weight:700;letter-spacing:.14em}.auth-story h1{max-width:650px;margin:14px 0;font-family:'Fredoka';font-size:clamp(48px,7vw,92px);font-weight:600;line-height:.88;letter-spacing:-.05em}.auth-story p{max-width:530px;color:rgba(255,255,255,.67);font-size:15px;line-height:1.8}.paw-path{display:flex;gap:18px;opacity:.35;transform:rotate(-7deg)}.paw-path i{font-size:10px}.paw-path i:nth-child(2){transform:translateY(-12px)}.paw-path i:nth-child(3){transform:translateY(4px)}
.auth-panel{display:grid;place-items:center;padding:38px;background:linear-gradient(145deg,var(--cream),var(--white) 48%,#e7f4eb)}.auth-card{width:min(100%,440px);padding:44px;background:rgba(255,254,250,.9);border:1px solid rgba(23,48,53,.08);box-shadow:var(--shadow);backdrop-filter:blur(10px)}.auth-mark{margin-bottom:26px}.auth-card h2{margin:7px 0 8px;font:600 37px/1 'Fredoka'}.auth-card>p{margin:0 0 26px;color:var(--muted);font-size:13px;line-height:1.6}
.stack-form{display:grid;gap:15px}.stack-form label{display:grid;gap:6px;color:var(--deep);font-size:11px;font-weight:700}.stack-form input,.stack-form select,.stack-form textarea,.search-bar input{width:100%;min-height:47px;padding:11px 13px;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink)}.stack-form textarea{min-height:88px;resize:vertical}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary-button,.secondary-button{min-height:46px;padding:11px 16px;border:0;background:var(--ink);color:#fff;font-size:12px;font-weight:700;cursor:pointer}.primary-button:hover{background:var(--deep)}.primary-button.compact{min-height:38px}.secondary-button{border:1px solid var(--ink);background:transparent;color:var(--ink)}.text-button{padding:7px 0;border:0;background:none;color:var(--deep);font-size:11px;font-weight:700;cursor:pointer}.auth-card>.text-button{margin-top:15px}.text-button.danger{color:#a5483d}.secure-note{display:flex;gap:9px!important;margin:25px 0 0!important;padding-top:19px;border-top:1px solid var(--line);color:var(--muted)!important;font-size:11px!important}.secure-note>span:first-child{color:var(--mint)}.recovery-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.recovery-form>div{display:grid;gap:15px}
.dashboard{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}.side-rail{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:32px 22px 24px;background:var(--ink);color:#fff}.side-nav{display:grid;gap:7px;margin-top:56px}.side-nav button{display:grid;grid-template-columns:29px 1fr;align-items:center;gap:9px;width:100%;padding:11px;border:0;background:transparent;color:rgba(255,255,255,.55);text-align:left;cursor:pointer}.side-nav button span{font-size:18px}.side-nav button b{font-size:11px}.side-nav button.active,.side-nav button:hover{background:rgba(82,185,159,.13);color:#fff}.side-nav button.active span{color:var(--mint)}.rail-footer{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.rail-footer>div{display:grid}.rail-footer strong{font:600 13px 'Fredoka'}.rail-footer small{color:rgba(255,255,255,.45);font-size:8px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--coral);color:#fff;font:700 11px 'Fredoka'}
.content-shell{min-width:0;padding:0 5vw 70px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:104px;border-bottom:1px solid var(--line)}.topbar h1{margin:4px 0 0;font:600 28px 'Fredoka'}.top-actions{display:flex;align-items:center;gap:12px}.client-node-chip{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line);background:rgba(255,255,255,.7)}.client-node-chip>i{width:8px;height:8px;border-radius:50%;background:#a5aaa8}.client-node-chip.identified>i{background:#2aaa78;box-shadow:0 0 0 4px rgba(42,170,120,.12)}.client-node-chip.unavailable>i{background:#cf4e4e}.client-node-chip>span{display:grid}.client-node-chip small{font-size:7px;letter-spacing:.08em}.client-node-chip strong{font:600 12px 'Fredoka'}.icon-button,.close-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);background:var(--white);cursor:pointer}.notification-button{position:relative;font-size:19px}.notification-button i{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:2px solid var(--paper);border-radius:50%;background:var(--coral);color:#fff;font-size:8px;font-style:normal}
.view{padding-top:32px}.welcome-card{position:relative;display:flex;align-items:end;justify-content:space-between;gap:25px;min-height:225px;padding:42px;overflow:hidden;background:var(--cream)}.welcome-card:after{content:'W';position:absolute;right:6%;top:-54px;color:rgba(82,185,159,.15);font:700 260px 'Fredoka';transform:rotate(8deg)}.welcome-card>*{position:relative;z-index:1}.welcome-card h2{margin:7px 0 10px;font:600 clamp(35px,5vw,58px)/.95 'Fredoka';letter-spacing:-.04em}.welcome-card p{max-width:580px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}.welcome-card .primary-button{min-width:160px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:20px 0;background:var(--line)}.metric-card{min-height:110px;padding:20px;background:var(--white)}.metric-card small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.metric-card strong{display:block;margin-top:8px;font:600 28px 'Fredoka'}.metric-card i{color:var(--mint);font-style:normal;font-size:9px}.section-block{margin-top:34px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:15px}.section-heading h2,.panel-card h2,.drawer h2{margin:3px 0 0;font:600 25px 'Fredoka'}.pet-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:11px;overflow:auto}.pet-card{position:relative;min-height:176px;padding:20px;border:1px solid var(--line);background:var(--white);cursor:pointer}.pet-card.selected{border-color:var(--mint);background:var(--mint-soft)}.pet-face{display:grid;place-items:center;width:55px;height:55px;border-radius:45% 55% 58% 42%/50% 42% 58% 50%;background:var(--ink);color:#fff;font:700 15px 'Fredoka'}.pet-card h3{margin:18px 0 3px;font:600 20px 'Fredoka'}.pet-card p{margin:0;color:var(--muted);font-size:10px}.pet-card em{position:absolute;right:14px;top:14px;color:var(--deep);font-size:9px;font-style:normal;font-weight:700}.pet-grid,.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px}.pet-grid .pet-card{min-height:220px}.pet-actions{display:flex;gap:10px;margin-top:18px}.pet-actions button{padding:0;border:0;background:none;color:var(--deep);font-size:10px;font-weight:700;cursor:pointer}
.card-list{display:grid;gap:10px}.empty-state{padding:36px;border:1px dashed rgba(23,48,53,.2);color:var(--muted);text-align:center}.walk-card,.conversation-card,.notification-card{display:grid;grid-template-columns:57px minmax(0,1fr) auto;align-items:center;gap:15px;padding:16px;border:1px solid var(--line);background:var(--white)}.walk-symbol{display:grid;place-items:center;width:52px;height:52px;background:var(--mint-soft);font:700 13px 'Fredoka'}.walk-card h3,.conversation-card h3,.directory-card h3{margin:0 0 3px;font:600 16px 'Fredoka'}.walk-card p,.conversation-card p,.notification-card p,.directory-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.walk-meta{display:grid;justify-items:end;gap:4px}.status-pill{padding:5px 8px;border-radius:99px;background:var(--mint-soft);color:var(--deep);font-size:8px;font-weight:700;text-transform:uppercase}.status-pill.cancelled{background:#f8dfda;color:#99483e}.walk-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin-top:7px}.walk-actions button{padding:5px 7px;border:0;background:var(--paper);color:var(--deep);font-size:9px;font-weight:700;cursor:pointer}
.tabs{display:flex;gap:4px;margin-bottom:16px}.tabs button{padding:9px 14px;border:0;background:rgba(23,48,53,.06);color:var(--muted);font-size:10px;font-weight:700;cursor:pointer}.tabs button.active{background:var(--ink);color:#fff}.assistant-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.assistant-card{display:grid;grid-template-columns:55px 1fr;gap:16px;min-height:150px;padding:25px;border:0;color:#fff;text-align:left;cursor:pointer}.assistant-card>span{display:grid;place-items:center;width:51px;height:51px;border-radius:50%;background:rgba(255,255,255,.14);font-size:21px}.assistant-card>div{display:grid;align-content:center}.assistant-card small{font-size:8px;letter-spacing:.15em}.assistant-card strong{font:600 21px 'Fredoka'}.assistant-card p{margin:4px 0 0;color:rgba(255,255,255,.65);font-size:10px}.assistant-card.nova{background:var(--ink)}.assistant-card.niko{background:#995b51}.search-bar{display:grid;grid-template-columns:1fr auto;max-width:650px;margin-bottom:20px}.search-bar button{min-width:100px;border:0;background:var(--ink);color:#fff;font-size:10px;font-weight:700}.directory-card{min-height:190px;padding:22px;border:1px solid var(--line);background:var(--white)}.directory-card .category{color:var(--coral);font-size:9px;font-weight:700;text-transform:uppercase}.directory-card h3{margin-top:14px}.directory-card a{display:inline-block;margin-top:18px;color:var(--deep);font-size:10px;font-weight:700;text-decoration:none}
.account-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(400px,1.2fr);gap:18px}.panel-card{padding:27px;border:1px solid var(--line);background:var(--white)}.session-route{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:18px 0;background:rgba(255,255,255,.15)}.session-route>span{display:grid;padding:14px;background:var(--ink);color:#fff}.session-route small{color:var(--mint);font-size:8px}.session-route strong{margin-top:4px;font:600 15px 'Fredoka'}.cluster-nodes{display:grid;gap:8px}.cluster-node{display:grid;grid-template-columns:11px 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line)}.cluster-dot{width:9px;height:9px;border-radius:50%;background:#c84d4d;box-shadow:0 0 0 4px rgba(200,77,77,.12)}.cluster-node.available .cluster-dot{background:#2aaa78;box-shadow:0 0 0 4px rgba(42,170,120,.13)}.cluster-node>div{display:grid}.cluster-node strong{font:600 14px 'Fredoka'}.cluster-node span,.cluster-node small{color:var(--muted);font-size:9px}.cluster-node em{color:var(--coral);font-size:8px;font-style:normal;font-weight:700}.last-check{color:var(--muted);font-size:9px}.payment-truth{margin-top:22px;padding:18px;background:var(--cream)}.payment-truth small{color:var(--deep)}.payment-truth strong{display:block;margin:6px 0;font:600 16px 'Fredoka'}.payment-truth p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}
.overlay{position:fixed;z-index:50;inset:0;background:rgba(9,25,28,.65);backdrop-filter:blur(4px)}.modal,.drawer,.chat-panel{position:fixed;z-index:51;background:var(--white);box-shadow:0 30px 80px rgba(0,0,0,.28)}.modal{left:50%;top:50%;width:min(92vw,580px);max-height:90vh;padding:32px;overflow:auto;transform:translate(-50%,-50%)}.modal>.close-button{position:absolute;right:16px;top:16px}.modal h2{margin:4px 45px 20px 0;font:600 30px 'Fredoka'}.modal small{color:var(--mint);font-size:9px;font-weight:700;letter-spacing:.12em}.drawer,.chat-panel{right:0;top:0;width:min(94vw,470px);height:100vh;padding:26px;overflow:auto}.drawer header,.chat-panel header{display:flex;align-items:center;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid var(--line)}.drawer .card-list{margin-top:20px}.notification-card{grid-template-columns:11px 1fr auto}.notification-card.unread>span{width:8px;height:8px;border-radius:50%;background:var(--coral)}.notification-card button{border:0;background:none;color:var(--deep);font-size:9px;font-weight:700}.chat-panel{display:flex;flex-direction:column}.chat-messages{display:flex;flex:1;flex-direction:column;gap:9px;padding:22px 0;overflow:auto}.chat-bubble{align-self:flex-start;max-width:85%;padding:11px 13px;background:var(--paper);font-size:11px;line-height:1.55}.chat-bubble.mine{align-self:flex-end;background:var(--deep);color:#fff}.chat-bubble small{display:block;margin-top:4px;color:inherit;opacity:.6;font-size:7px}.chat-panel form{display:grid;grid-template-columns:1fr 45px}.chat-panel input{min-width:0;padding:12px;border:1px solid var(--line)}.chat-panel form button{border:0;background:var(--mint);font-size:18px}.tracking-map{height:280px;margin:16px 0;background:#e4e5d5}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.danger-button{padding:11px 14px;border:1px solid #a5483d;background:transparent;color:#a5483d;font-size:10px;font-weight:700}.toast{position:fixed;z-index:80;left:50%;bottom:25px;max-width:calc(100% - 40px);padding:11px 16px;background:var(--ink);color:#fff;font-size:11px;opacity:0;pointer-events:none;transform:translate(-50%,15px);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-nav{display:none}
@media(max-width:920px){.auth-gate{grid-template-columns:1fr}.auth-story{display:none}.auth-panel{min-height:100vh;padding:22px}.dashboard{grid-template-columns:1fr}.side-rail{display:none}.content-shell{padding:0 22px 105px}.topbar{min-height:88px}.account-layout{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.mobile-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr 70px 1fr 1fr;align-items:end;height:76px;padding:9px 12px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,254,250,.96);box-shadow:0 -12px 34px rgba(23,48,53,.08);backdrop-filter:blur(14px)}.mobile-nav button{display:grid;justify-items:center;gap:2px;border:0;background:none;color:#83908f;font-size:16px}.mobile-nav button small{font-size:8px}.mobile-nav button.active{color:var(--deep)}.mobile-nav .request-orb{align-self:start;width:56px;height:56px;margin:-28px auto 0;border:5px solid var(--paper);border-radius:50%;background:var(--ink);color:#fff;font-size:27px}.drawer,.chat-panel{padding-bottom:100px}}
@media(max-width:640px){.content-shell{padding-inline:14px}.topbar h1{font-size:22px}.client-node-chip small{display:none}.client-node-chip{padding:7px}.notification-button{width:38px;height:38px}.view{padding-top:20px}.welcome-card{display:grid;min-height:260px;padding:28px 23px}.welcome-card h2{font-size:38px}.welcome-card .primary-button{width:100%}.metric-grid{gap:8px;background:transparent}.metric-card{min-height:90px;padding:15px;border:1px solid var(--line)}.metric-card strong{font-size:22px}.section-heading h2,.panel-card h2{font-size:21px}.walk-card,.conversation-card{grid-template-columns:48px 1fr}.walk-meta{grid-column:1/-1;justify-items:start}.assistant-grid,.split-fields{grid-template-columns:1fr}.account-layout{grid-template-columns:minmax(0,1fr)}.panel-card{padding:19px}.modal{width:calc(100% - 20px);padding:25px 19px}.auth-card{padding:32px 25px}.pet-grid,.directory-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
