@font-face{font-family:system;src:local('PingFang SC')}*{box-sizing:border-box}body{margin:0;background:#f5f6f2;color:#203c34;font-family:system,-apple-system,BlinkMacSystemFont,'Microsoft YaHei',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:10px;padding:12px 18px;background:#173f35;color:white;font-weight:600}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:#244c3d;border:1px solid #d8dfd9}.danger{background:#9d3f30}.shell{display:grid;grid-template-columns:228px 1fr;min-height:100vh}aside{background:#173f35;color:#e5ede6;padding:34px 23px;position:fixed;width:228px;height:100vh}.logo{display:flex;gap:12px;align-items:center;font-size:21px;font-weight:750;letter-spacing:2px}.logo-mark{border:1px solid #6e9581;border-radius:14px;padding:8px 9px;color:#b7d4b0;font-size:22px}.english{font-size:10px;letter-spacing:3px;color:#98b0a2;margin-top:7px}nav{display:grid;gap:10px;margin-top:48px}nav button{text-align:left;background:transparent;color:#bdcfc5;font-size:15px}nav button.active{background:#31574a;color:white}nav button span{margin-right:12px}.side-foot{position:absolute;bottom:24px;color:#9cb4a5;line-height:2;font-size:12px}main{grid-column:2;max-width:1700px;padding:30px 42px;width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde3da;padding-bottom:22px;gap:16px}.muted{color:#7a8b80;font-size:12px}.user{display:flex;gap:12px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:#dde6d8;display:grid;place-items:center;font-weight:bold}.title-row{display:flex;justify-content:space-between;align-items:center;margin:30px 0 23px;gap:16px}h1{font-size:28px;margin:0 0 9px;letter-spacing:1px}h2{font-size:18px;margin:0 0 18px}h3{margin:12px 0;font-size:17px}p{line-height:1.7}.tag{background:#e2eadf;padding:5px 9px;border-radius:5px;font-size:11px;color:#456647}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:26px}.stat{border:1px solid #e1e6db;background:#fff;padding:20px 23px;border-radius:13px}.stat strong{display:block;font-size:30px;margin-top:12px;font-weight:600}.stat small{font-size:13px;margin-left:5px;font-weight:400}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{padding:9px 15px;background:transparent;color:#7b8a7f;border-radius:8px}.tabs button.active{background:#e2e9df;color:#254b37}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 20px}.filters input{flex:2;min-width:200px}.filters select,.filters input[type=number]{flex:1;min-width:100px}.filters input,.filters select{background:#fff;border:1px solid #dfe5dc;padding:11px;border-radius:8px;width:100px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.card{border-radius:13px;background:white;border:1px solid #e1e6dd;overflow:hidden;cursor:pointer;text-align:left;padding:0;color:inherit;font-weight:400}.card:hover{filter:none;box-shadow:0 6px 24px #294d3410;transform:translateY(-2px)}.photo{height:215px;position:relative;background:#e6eae2;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.no-photo{height:100%;display:grid;place-items:center;font-size:15px;color:#8d9d8c;background:linear-gradient(145deg,#e3e9df,#f0f1ea)}.badge{position:absolute;top:13px;left:13px;border-radius:5px;padding:5px 10px;background:#f5f8efed;color:#3e6240;font-size:11px;font-weight:600}.badge.reserved{background:#fff0ce;color:#8a691f}.badge.sold{background:#e1e5e9;color:#636e78}.number{color:#94a18f;font-size:11px;letter-spacing:.6px}.card-body{padding:18px}.card-body h3{color:#203b30;margin:8px 0 18px}.card-bottom{display:flex;justify-content:space-between;align-items:center}.price{font-size:23px;color:#214a35;font-weight:650}.price small{font-size:12px;font-weight:400}.days{font-size:11px;color:#899680}.footnote{margin:25px 0;color:#8a9689;font-size:11px;display:flex;justify-content:space-between}.empty{padding:70px 24px;text-align:center;background:#fff;border:1px dashed #cbd7c6;border-radius:14px;grid-column:1/-1}.panel{background:#fff;border:1px solid #e0e6db;border-radius:14px;padding:25px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}label{display:flex;flex-direction:column;gap:8px;color:#4a5c4b;font-size:13px}input,select,textarea{padding:12px;border:1px solid #d5dfd1;border-radius:8px;background:#fff;color:#203c34;width:100%;min-width:0}textarea{min-height:95px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #83a382;outline-offset:1px}.full{grid-column:1/-1}.actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.upload{padding:26px;text-align:center;border:1px dashed #a9bba4;border-radius:12px;background:#f7f9f3;cursor:pointer}.upload input{margin-top:12px}.thumbs{display:flex;gap:10px;overflow:auto;margin:15px 0}.thumbs img{width:100px;height:90px;object-fit:cover;border-radius:9px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);gap:22px}.gallery{display:flex;overflow:auto;gap:10px;scroll-snap-type:x mandatory}.gallery img{width:100%;max-height:410px;object-fit:contain;border-radius:12px;background:#eff2eb;scroll-snap-align:start;flex-shrink:0}.row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0e9;gap:15px}.row strong{font-weight:600}.profit{font-size:25px;color:#255b36}.check{display:flex;align-items:center;flex-direction:row;gap:8px;padding:5px 0}.check input{width:17px;height:17px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid #e6ebdf;font-size:12px}.auth{max-width:460px;margin:10vh auto;padding:34px;background:#fff;border-radius:18px;border:1px solid #e0e6db}.auth .logo{color:#173f35;margin-bottom:28px}.auth label{margin-top:18px}.auth button{width:100%;margin-top:22px}.notice{background:#f3f0df;border:1px solid #e3dec5;color:#77652c;padding:13px;border-radius:9px;font-size:12px;line-height:1.7;margin:14px 0}.error{color:#a23b2a;white-space:pre-wrap}.statusline{font-size:11px;color:#789371}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#203f33;color:white;border-radius:10px;padding:13px 20px;z-index:100;display:none;max-width:90vw;box-shadow:0 6px 30px #0003}.mobile-brand{display:none}.link-button{padding:6px 8px;font-size:12px;background:transparent;color:#73816e}.alert{color:#ab6133}dialog{border:1px solid #d7dfd0;border-radius:16px;max-width:540px;width:94vw;max-height:90vh;padding:26px}dialog::backdrop{background:#14291e80}dialog h2{margin-top:0}.connection{color:#a23b2a}.list-note{padding:10px 0;border-bottom:1px solid #e8ece4;font-size:12px}button:focus-visible{outline:3px solid #8ab284;outline-offset:3px}@media(min-width:1450px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){main{padding:25px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}.detail-layout{grid-template-columns:1fr}}@media(max-width:700px){.shell{display:block}aside{position:fixed;bottom:0;top:auto;width:100%;height:65px;padding:0;z-index:20;border-top:1px solid #d8e0d3;background:#fff}aside .logo,.side-foot{display:none}nav{display:flex;justify-content:space-around;margin:0;height:65px;gap:0}nav button{font-size:11px;color:#7c8c7c;padding:8px 6px;text-align:center;border-radius:0;flex:1}nav button span{display:block;margin:0 0 5px;font-size:17px}nav button.active{background:#ecf1e7;color:#244d35}main{padding:18px 15px 90px}.topbar{padding-bottom:15px}.topbar>.muted{display:none}.mobile-brand{display:block;font-size:19px;font-weight:750;letter-spacing:1px}.user{gap:6px;font-size:12px}.avatar{width:29px;height:29px}.title-row{margin:23px 0 19px}h1{font-size:24px}.title-row button{padding:11px 13px;font-size:12px}.title-row .muted{font-size:11px}.stats{gap:9px;margin-bottom:19px}.stat{padding:15px}.stat strong{font-size:25px;margin-top:8px}.stat .muted{font-size:11px}.toolbar{align-items:start}.tabs{gap:0}.tabs button{font-size:12px;padding:8px 10px}.toolbar>.muted{display:none}.filters{gap:7px;margin:10px 0 16px}.filters input,.filters select{font-size:12px;padding:10px;min-width:80px}.filters input:first-child{flex-basis:100%}.grid{gap:10px}.photo{height:165px}.card-body{padding:12px}.card-body h3{font-size:14px;line-height:1.5;margin:7px 0 12px}.number{font-size:9px}.price{font-size:19px}.price small{font-size:10px}.days{font-size:9px}.card-bottom{align-items:start;flex-direction:column;gap:6px}.badge{top:8px;left:8px;padding:4px 7px;font-size:10px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.panel{padding:18px}.auth{margin:6vh 15px;padding:26px}.footnote{font-size:10px}.gallery img{max-height:310px}.detail-layout{gap:0}#toast{bottom:85px}}

.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:25px 0}.pagination button:disabled{cursor:default;opacity:.4}

.loss{color:#a23b2a;font-size:25px}.profit-small{color:#255b36}.card-link{display:block;margin-top:12px;font-size:12px;color:#456647}.audit-detail{white-space:normal;min-width:220px;max-width:480px;line-height:1.7;overflow-wrap:anywhere}

.stat strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

@media(max-width:700px){.filters:has(#perf-period){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.filters #perf-period,.filters #perf-search{grid-column:1/-1;width:100%}.filters:has(#perf-period) label{min-width:0}.filters:has(#perf-period) input[type=date]{width:100%;min-width:0}}
