*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:#5b4636;background:#fbf6ee}
a{color:#4f7a5c}
[hidden]{display:none!important}
.top{display:flex;align-items:center;gap:10px;padding:12px clamp(14px,4vw,32px);background:#fffaf2;border-bottom:1px solid #eadfce;position:sticky;top:0;z-index:5}
.brand{font-weight:700;text-decoration:none;color:#7a5a43}.sub{color:#a08c7c;font-size:13px}
#logout{margin-left:auto}
main{max-width:1100px;margin:0 auto;padding:16px clamp(12px,3vw,28px) 60px}
.card{background:#fff;border:1px solid #eadfce;border-radius:14px;padding:16px;box-shadow:0 2px 10px rgba(122,90,67,.06)}
.login{max-width:380px;margin:12vh auto 0}
.login h1{margin:0 0 4px;font-size:22px}
.muted{color:#a08c7c;font-size:13px;margin:0 0 12px}
label{display:block;font-size:13px;color:#7c6857;margin:0 0 10px}
input,select,textarea{display:block;width:100%;margin-top:4px;padding:9px 10px;font:inherit;color:#4a3a2c;background:#fffdf9;border:1px solid #dccdb8;border-radius:9px}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid #a9c7a0;border-color:#7a9e6e}
input[type=checkbox]{display:inline-block;width:auto;margin-right:6px}
button{font:inherit;cursor:pointer;border-radius:9px;padding:8px 14px;border:1px solid #dccdb8;background:#fffdf9;color:#5b4636}
button.primary{background:#6f9468;border-color:#6f9468;color:#fff}
button.danger{color:#b0453d;border-color:#e3b5ae}
button.ghost{background:transparent}
button:disabled{opacity:.5;cursor:default}
.msg{color:#b0453d;min-height:1.4em;margin:8px 0 0;font-size:13px}
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:10px;-webkit-overflow-scrolling:touch}
.tabs button{white-space:nowrap;border-radius:999px;padding:6px 14px}
.tabs button.on{background:#5b4636;border-color:#5b4636;color:#fff}
.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.bar h2{margin:0 auto 0 0;font-size:18px}
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.row{display:flex;gap:10px;align-items:flex-start}
.row img{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#f3ebdf;flex:none}
.row .t{font-weight:600;word-break:break-all}.row .d{font-size:12px;color:#a08c7c}
.row .acts{margin-left:auto;display:flex;flex-direction:column;gap:6px}
.row .acts button{padding:4px 10px;font-size:13px}
.form{margin-top:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 14px}
.grid .wide{grid-column:1/-1}
.imgs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.imgs figure{margin:0;position:relative}
.imgs img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid #eadfce}
.imgs button{position:absolute;top:2px;right:2px;padding:0 7px;font-size:12px;background:rgba(255,255,255,.9)}
.upl{font-size:13px}
.formacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.raw textarea{min-height:55vh;font:12px/1.5 ui-monospace,Menlo,monospace}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#5b4636;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;max-width:90vw;z-index:9}
.toast.err{background:#b0453d}
.note{font-size:13px;color:#7c6857;background:#f6efe3;border-radius:10px;padding:10px 12px;margin:0 0 12px}
@media (max-width:560px){.list{grid-template-columns:1fr}.row img{width:54px;height:54px}}
.row .acts button{white-space:nowrap}
.row>div:nth-child(2),.row>div:first-child{min-width:0;flex:1}
/* t908-t911 */
.row.is-hidden{opacity:.6;border-style:dashed}
.adv{margin:6px 0 10px;border:1px dashed #dccdb8;border-radius:10px;padding:6px 12px}
.adv summary{cursor:pointer;font-size:13px;color:#7c6857;padding:4px 0}
.adv .grid{margin-top:8px}
.loc{margin:0 0 14px;padding:12px;border:1px solid #eadfce;border-radius:12px;background:#fffdf9}
.loc-h{font-size:13px;color:#7c6857;margin-bottom:6px}
.loc-search{display:flex;gap:8px}.loc-search input{margin:0;flex:1}.loc-search button{flex:none}
.loc-results{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.loc-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;padding:8px 10px}
.loc-item span{font-size:12px;color:#a08c7c;word-break:break-all}
.loc-map{height:min(52vh,340px);border-radius:10px;overflow:hidden;border:1px solid #eadfce;background:#eef3ec}
.loc-info{margin:8px 0 2px;font-size:14px;color:#4f7a5c;font-weight:600}
.imgs figure{display:flex;flex-direction:column;align-items:center;gap:4px}
.imgs figure.is-cover img{outline:3px solid #6f9468;outline-offset:1px}
.imgs .ord{display:flex;gap:4px}
.imgs .ord button,.imgs button.rm{position:static;padding:0 8px;font-size:12px;background:#fffdf9}
.imgs button.rm{position:absolute;top:2px;right:2px;background:rgba(255,255,255,.9)}
.imgs label.cov{margin:0;font-size:12px;display:flex;align-items:center;gap:3px}
.imgs label.cov input{width:auto;margin:0}

/* growth filters */
.bar input[type=search], .bar select {
  font: inherit; padding: 6px 10px; border-radius: 10px; border: 1px solid #e0d2c0; background: #fffaf4; min-width: 120px;
}
.bar input[type=search] { min-width: 160px; flex: 1; }

.who{margin-left:8px;font-size:12px;color:#4f7a5c;background:#eef3ec;border-radius:999px;padding:2px 10px;font-weight:600}
.toplink{margin-left:auto;font-size:13px;color:#7c6857;text-decoration:none;padding:4px 8px}
#logout{margin-left:8px}
