:root{--yellow:#ffcf32;--ink:#22251f;--muted:#85897f;--line:#e9ebe4}*{box-sizing:border-box}body{margin:0;background:#f6f7f2;color:var(--ink);font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--line);border-radius:10px;background:white;padding:11px 17px;cursor:pointer;text-decoration:none;color:var(--ink);display:inline-block}button:hover,.button:hover{border-color:#d9b324}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--yellow);border-color:var(--yellow);font-weight:700}.danger{color:#c44}small{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:28px;margin-bottom:0}h2{font-size:19px}p{line-height:1.7}.logo{font-size:33px;font-weight:900;letter-spacing:-2px;color:var(--ink);text-decoration:none}.logo span{color:#dfab00;font-size:22px}.auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(at 10% 0,#fff0a7,transparent 55%),#f5f6f0}.authcard{width:min(440px,92vw);padding:40px;background:white;border:1px solid var(--line);border-radius:25px;box-shadow:0 20px 80px #343a1310}.authcard h1{margin:24px 0 8px}.authcard button{width:100%;margin:12px 0}.error{color:#be4545}label{display:block;color:#65695f;font-size:13px;margin:14px 0}input,textarea,select{width:100%;display:block;padding:12px;border:1px solid #dbdfd4;border-radius:8px;margin-top:6px;color:var(--ink);background:white}textarea{min-height:105px;resize:vertical}input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}input[type=color]{height:45px;padding:3px}aside{position:fixed;inset:0 auto 0 0;width:235px;background:#fff;padding:30px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column}aside small{margin:6px 0 30px}nav{display:grid;gap:8px}nav button{text-align:left;border:0;background:none;padding:15px}nav button.active{background:#fff3b7;font-weight:bold}.asidefoot{margin-top:auto;font-size:12px;line-height:1.8;color:var(--muted)}.asidefoot button{margin-top:18px;width:100%}main{margin-left:235px;padding:34px 40px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}header small{letter-spacing:2px}header h1{margin-top:8px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat strong{display:block;font-size:38px;margin-top:20px}.welcome{background:var(--yellow);padding:32px;border-radius:20px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.welcome h2{font-size:28px}.welcome p{margin:12px 0 0}.paw{font-size:66px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.toolbar input{max-width:300px;margin:0}.toolbar select{max-width:150px;margin:0}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th,td{padding:15px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:var(--muted);font-weight:500}td button{padding:6px 12px}.badge{display:inline-block;background:#fff3bb;border-radius:20px;padding:5px 10px;font-size:12px}.empty{text-align:center;color:var(--muted);padding:50px}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.decoration{display:grid;grid-template-columns:minmax(300px,1fr) 370px;gap:28px;align-items:start}.block{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:16px;border-radius:12px;margin-bottom:10px;background:white}.block .index{background:#f5f5ee;padding:8px 12px;border-radius:9px}.block .grow{flex:1}.block button{padding:6px 9px}.block small{display:block;margin-top:4px}.phone{background:#f5f5ef;border:9px solid #242620;border-radius:39px;max-height:760px;overflow:auto;position:sticky;top:20px;box-shadow:0 15px 50px #0001}.phone:before{content:'9:41　　　　　　　● ▰';display:block;padding:12px 18px;background:white;font-size:11px}.preview{min-height:550px}.pvblock{margin:12px;background:white;border-radius:15px;padding:16px}.pvhero{background:#ffdb4c;min-height:210px;display:flex;flex-direction:column;justify-content:center}.pvblock h3{font-size:19px;margin:0 0 8px}.pvblock p{font-size:12px;color:#686b60;margin:0}.pvblock img{width:100%;border-radius:8px;object-fit:cover}.pvgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pvitem{background:#f8f7ef;border-radius:8px;padding:10px;font-size:12px}.pvbutton{background:#ffcf32;border-radius:20px;padding:10px;margin-top:12px;text-align:center;font-size:12px;font-weight:700}dialog{border:0;border-radius:18px;width:min(700px,94vw);max-height:90vh;padding:28px;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#1c251d66}dialog footer{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;position:sticky;bottom:-28px;background:white;padding:15px 0}#toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);padding:12px 24px;border-radius:10px;color:white;background:#26332b;z-index:100;display:none;max-width:90vw}.help{background:#f7f7ee;padding:14px;border-radius:10px;color:#727566;font-size:13px;line-height:1.8}.timeline{border-left:2px solid #ffcf32;padding-left:16px;margin:18px 0}.timeline p{margin-bottom:12px}.pagination{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:18px}.thumb{width:54px;height:42px;object-fit:cover;border-radius:6px}.itemedit{border:1px solid var(--line);border-radius:10px;padding:14px;margin:10px 0}[hidden]{display:none!important}@media(max-width:1050px){aside{width:190px;padding:24px 12px}main{margin-left:190px;padding:25px 20px}.decoration{grid-template-columns:1fr}.phone{position:relative;width:350px;justify-self:center}.grid2{grid-template-columns:1fr}}@media(max-width:650px){aside{position:relative;width:100%;padding:18px}.asidefoot,aside small{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap;padding:10px}.logo{font-size:28px}main{margin:0;padding:18px}.stats{gap:8px}.card{padding:16px}.stat strong{font-size:28px}.welcome{padding:20px}.welcome h2{font-size:22px}h1{font-size:23px}header .button{font-size:12px;padding:8px}.block{flex-wrap:wrap}.phone{width:min(350px,95%)}.paw{display:none}}
@media(max-width:650px){.block .grow{flex-basis:calc(100% - 70px);min-width:0}.block .grow b{word-break:break-word}}
