:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;color:#26352e;background:#f4f6f5;font-synthesis:none;--bg: #f4f6f5;--panel: #fff;--soft: #f0f4f2;--text: #26352e;--muted: #697970;--line: #dce4df;--accent: #18765e;--accent-soft: #e7f3ed;--danger: #b24235;--danger-soft: #fdf0ec;--input: #fff;--shadow: #123a2418;color-scheme:light}:root[data-theme=dark]{--bg: #111714;--panel: #19221d;--soft: #202c25;--text: #dce8e0;--muted: #9aad9f;--line: #334239;--accent: #8ed5b7;--accent-soft: #263e32;--danger: #f2aa9d;--danger-soft: #3b2622;--input: #151d18;--shadow: #0005;color:var(--text);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}h1{font-size:22px;font-weight:600}h2{font-size:15px;font-weight:600}h3{font-size:14px}p{line-height:1.7}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:none;border:0;color:inherit}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button svg{flex:none}input{min-width:0}::selection{background:var(--accent-soft)}.app-shell{min-height:100dvh}.app-header{height:64px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:0 28px}.brand{display:flex;gap:8px;align-items:center;font-size:20px;font-weight:700;color:var(--accent)}.app-subtitle{font-size:12px;color:var(--muted)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.account-label{font-size:12px;color:var(--muted)}.app-body{max-width:1320px;margin:auto;padding:0 28px 28px}.navigation{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:22px}.navigation button{display:flex;align-items:center;gap:8px;padding:10px 15px;border-radius:5px;font-size:13px;color:var(--muted)}.navigation button.active{background:var(--accent-soft);color:var(--accent)}.navigation button:not(:disabled):hover{background:var(--soft)}.panel,.login-panel,.signed-out-info,.log-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px}.section-title,.page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-title h2{display:flex;align-items:center;gap:8px}.page-heading h2{font-size:18px}.section-title p,.page-heading p{font-size:12px;color:var(--muted);margin-top:6px}.primary-button,.outline-button,.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:5px;padding:9px 13px;font-size:12px;font-weight:500;min-height:35px;white-space:nowrap}.primary-button{background:var(--accent);color:#fff;border:1px solid var(--accent)}[data-theme=dark] .primary-button{color:#122b20}.primary-button:hover:not(:disabled){filter:brightness(.94)}.outline-button{border:1px solid var(--line);background:var(--panel);color:var(--text)}.outline-button:hover:not(:disabled),.soft-button{background:var(--soft)}.text-button{display:inline-flex;gap:6px;align-items:center;justify-content:center;font-size:12px;color:var(--accent);padding:5px 0;white-space:nowrap}.icon-button{width:32px;height:32px;display:grid;place-items:center;border-radius:5px;color:var(--muted)}.icon-button:hover{background:var(--soft)}.button-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.full{width:100%}.tiny,.muted-text{font-size:12px;color:var(--muted);line-height:1.8}.tiny{margin-top:13px}.badge{font-size:11px;background:var(--soft);color:var(--muted);border-radius:4px;padding:5px 8px;line-height:1.4}.badge.green{background:var(--accent-soft);color:var(--accent)}.signed-out{display:grid;grid-template-columns:290px 1fr;gap:22px}.login-panel{text-align:center}.login-panel>p{font-size:12px;color:var(--muted);margin-top:9px}.signed-out-info{padding:32px}.signed-out-info>p{font-size:13px;color:var(--muted);margin-top:16px}.signed-out-info ol{padding-left:20px;font-size:13px;line-height:2.6;color:var(--muted);margin:22px 0}.qr-container{position:relative;width:194px;height:194px;margin:20px auto 14px;border:1px solid var(--line);padding:12px;background:#fff;border-radius:6px}.qr-container img{width:100%;height:100%;display:block;object-fit:contain;image-rendering:pixelated}.qr-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#778b7c;font-size:12px}.qr-placeholder p{font-size:12px}.qr-status{font-size:12px;color:var(--muted);text-align:center}.login-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.expired-qr{opacity:.15;filter:blur(3px)}.qr-expired{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#344b3c;font-size:12px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.metrics{margin:0 0 20px}.metrics>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;font-size:13px}.metrics dt{color:var(--muted)}.metrics dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.toggle-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.bank-panel>.button-group,.follow-panel>.button-group{margin-top:20px}.simulation-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;border-top:1px solid var(--line);margin-top:20px;padding-top:15px;color:var(--muted)}.simulation-controls button{padding:6px 8px;border:1px solid var(--line);border-radius:4px;font-size:11px}.log-panel{margin-top:22px;padding:16px 18px}.log-panel .section-title{margin-bottom:12px}.log-scroll{height:230px;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:12px;font:12px/1.85 ui-monospace,SFMono-Regular,Consolas,Microsoft YaHei,monospace}.log-line{display:grid;grid-template-columns:65px 65px minmax(0,1fr);gap:8px;align-items:start;min-height:22px}.log-line time{color:var(--muted)}.log-line>span:last-child{overflow-wrap:anywhere;white-space:pre-wrap}.log-kind{color:var(--accent)}.log-line.error,.log-line.error .log-kind{color:var(--danger)}.log-empty{color:var(--muted)}.table-wrap{overflow:auto}.team-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.team-table th{font-size:12px;font-weight:400;color:var(--muted);background:var(--soft)}.team-table td,.team-table th{padding:12px 15px;border-bottom:1px solid var(--line);white-space:nowrap}.team-table td:first-child{font-weight:500}.search-input,.search{border:1px solid var(--line);border-radius:5px;background:var(--input);color:var(--text);padding:9px 11px;font-size:12px}.search-input{margin-bottom:18px;width:min(300px,100%)}.search{display:flex;align-items:center;gap:8px}.search input{border:0;outline:0;background:none;color:var(--text);width:100%;font-size:12px}.search input::placeholder{color:var(--muted)}.inline-note{background:var(--soft);color:var(--muted);padding:11px 13px;border-radius:5px;font-size:12px;margin-bottom:16px}.error-banner{display:flex;gap:12px;align-items:center;padding:9px 13px;margin-bottom:16px;border-radius:5px;background:var(--danger-soft);color:var(--danger);font-size:13px}.error-banner>span{flex:1}.inline-error{color:var(--danger);background:var(--danger-soft);padding:10px;border-radius:5px;font-size:12px;margin-top:12px}.empty{text-align:center;padding:40px 15px;color:var(--muted)}.empty h3{color:var(--text);margin:14px 0 8px}.empty p{font-size:12px;margin-bottom:15px}.modal-overlay{position:fixed;inset:0;background:#07130d99;z-index:50}.modal{position:fixed;z-index:51;top:50%;left:50%;transform:translate(-50%,-50%);width:min(430px,calc(100vw - 28px));max-height:90dvh;overflow:auto;padding:27px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 15px 50px var(--shadow)}.modal h2{font-size:18px;padding-right:15px}.modal h2+p{font-size:12px;color:var(--muted);margin:12px 0 20px}.modal .close{position:absolute;right:12px;top:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.payment-total{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.payment-total strong{font-size:23px;font-weight:600}.payment-result{text-align:center;padding:30px 0;color:var(--accent)}.payment-result h3{font-size:17px;margin:10px 0}.payment-result p{font-size:12px;color:var(--muted)}.order-id{font-size:11px;overflow-wrap:anywhere;color:var(--muted);font-family:ui-monospace,monospace;margin:12px 0}.account-choice{display:flex;width:100%;align-items:center;gap:10px;border:1px solid var(--line);border-radius:5px;padding:12px;margin-top:10px;text-align:left}.account-choice>span{flex:1}.account-choice small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.billing-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pricing h2{font-size:19px;margin:12px 0}.banner-tag{font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:center}.price{font-size:34px;font-weight:600;display:flex;align-items:baseline;gap:5px;margin:20px 0}.price>span{font-size:21px}.price small{font-size:12px;font-weight:400;color:var(--muted);margin-left:8px}.demo-price{font-size:11px;color:var(--muted)}.product>.full{margin-top:22px}.authorization-panel{margin-bottom:20px}.authorization-state{display:block;font-size:21px;font-weight:500;margin:15px 0}.authorization-panel p{font-size:12px;color:var(--muted);margin-bottom:15px}.order-panel h2{margin-bottom:17px}.order-line{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;margin:12px 0}.order-empty{color:var(--muted);font-size:12px;display:flex;gap:12px;align-items:center}.little-note{display:flex;gap:9px;color:var(--muted);font-size:11px;margin-top:17px;align-items:flex-start}.little-note svg{flex:none}.warehouse-bag{margin-bottom:20px}.small-count{font-size:12px;color:var(--muted);font-weight:400;margin-left:8px}.pet-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:20px}.pet-card{position:relative;display:flex;align-items:center;flex-direction:column;border:1px solid var(--line);background:var(--soft);padding:18px 10px 12px;border-radius:6px;min-width:0}.pet-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pet-card strong{font-size:12px;font-weight:500;margin:12px 0 9px}.pet-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);width:100%}.pet-meta small{font-size:11px}.pet-check{position:absolute;top:7px;right:7px;background:var(--accent-soft);border-radius:50%;color:var(--accent);width:16px;height:16px;display:grid;place-items:center}.pet-check:empty{background:transparent}.ban-note{font-size:10px;margin-top:7px}.spirit-avatar{width:65px;height:65px;display:grid;place-items:center;color:var(--accent)}.spirit-avatar img{height:60px;width:60px;object-fit:contain}.empty-slot{min-height:145px;border:1px dashed var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted)}.empty-slot span{font-size:22px}.empty-slot small{font-size:11px}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:18px 0}.filter-chips{display:flex;gap:5px;flex-wrap:wrap}.filter-chips button{border-radius:4px;color:var(--muted);padding:8px 12px;font-size:12px}.filter-chips button.active{color:var(--accent);background:var(--accent-soft)}.select-label{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.select-label select{background:var(--input);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:7px;font-size:12px}.warehouse-action{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.warehouse-action b{font-size:13px;font-weight:500}.warehouse-action p{font-size:12px;color:var(--muted);margin-top:5px}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;font-size:12px;margin-top:20px}.pagination button{padding:7px}.account-service{margin-top:15px}@media(max-width:850px){.feature-grid{grid-template-columns:1fr}.pet-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bag-pets{grid-template-columns:repeat(3,minmax(0,1fr))}.signed-out{grid-template-columns:270px 1fr}.signed-out-info{padding:25px}.billing-layout{grid-template-columns:1fr 1fr}.app-subtitle{display:none}}@media(max-width:600px){.app-header{height:60px;padding:0 15px;gap:10px}.brand{font-size:18px;gap:6px}.header-actions{gap:8px}.account-label{font-size:10px}.header-actions .outline-button{font-size:0;gap:0;padding:7px}.app-body{padding:0 14px 20px}.navigation{gap:2px;padding:10px 0;margin-bottom:15px}.navigation button{padding:10px 8px;font-size:11px;gap:5px;white-space:nowrap}.navigation button svg{width:15px}.signed-out{grid-template-columns:1fr;gap:15px}.login-panel{padding:22px}.login-panel .login-actions{max-width:300px;margin:20px auto 0}.signed-out-info{padding:20px}.signed-out-info h1{font-size:18px}.signed-out-info ol{font-size:12px;line-height:2.4;margin:12px 0}.signed-out-info>p{font-size:12px;margin-top:10px}.panel{padding:17px}.section-title{gap:9px}.section-title h2{font-size:14px}.badge{font-size:10px}.metrics>div{font-size:12px}.log-panel{padding:13px 11px;margin-top:15px}.log-scroll{padding:9px;font-size:11px;height:230px}.log-line{grid-template-columns:57px 52px minmax(0,1fr);gap:5px}.log-panel .text-button{font-size:11px}.log-panel .section-title h2{font-size:13px}.billing-layout{grid-template-columns:1fr;gap:15px}.pet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.spirit-avatar{width:55px;height:55px}.spirit-avatar img{width:53px;height:53px}.pet-card{padding:17px 8px 11px}.pet-card strong{font-size:11px}.pet-meta,.pet-meta small{font-size:10px}.toolbar{flex-direction:column;align-items:stretch}.warehouse-action{align-items:flex-start}.warehouse-action p{font-size:11px;max-width:185px}.warehouse-action .primary-button{font-size:11px;padding:8px}.page-heading h2{font-size:17px}.page-heading p,.section-title p{font-size:11px}.empty-slot{min-height:130px}.error-banner{font-size:12px}.modal{padding:24px}.simulation-controls{gap:8px}.team-table td,.team-table th{padding:11px;font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.signed-out{align-items:start}.signed-out-info{background:transparent;border:0;padding:28px 12px}
