@charset "UTF-8";
:root{--green:#244d40;--green-deep:#173b30;--green-soft:#edf3ee;--lime:#d9eea0;--ink:#24342e;--muted:#64716b;--subtle:#5f6e59;--bg:#f6f7f3;--white:#fff;--line:#e4e9e2;--amber:#965414;--amber-soft:#fff4df;--red:#a44136;--radius:16px;--small-radius:9px;--shadow:0 14px 44px rgba(25,54,41,.13);--font:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;scrollbar-color:#aebbb2 var(--bg)}body{margin:0;font:14px/1.65 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{border:0;background:none}a{color:inherit;text-decoration:none;text-underline-offset:4px}img{display:block;max-width:100%}svg.lucide{width:20px;height:20px;stroke-width:1.7;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.4;font-weight:650;letter-spacing:-.02em}h1{font-size:27px}h2{font-size:19px}h3{font-size:16px}::selection{background:var(--lime);color:var(--green-deep)}:focus-visible{outline:3px solid #658840;outline-offset:3px}input,textarea{caret-color:var(--green)}[hidden]{display:none!important}.muted{color:var(--muted)}.icon-line{display:flex;align-items:center;gap:5px}.icon-line svg{width:15px;height:15px}.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--small-radius);font-size:14px;font-weight:600;transition:background .18s,color .18s;white-space:nowrap}.primary{background:var(--green);color:white}.primary:hover{background:var(--green-deep)}.lime{background:var(--lime);color:var(--green-deep)}.lime:hover{background:#cde486}.secondary{background:var(--green-soft);color:var(--green)}.secondary:hover{background:#dce9de}.outline{border:1px solid #d6dfd4;background:white}.outline:hover{background:var(--bg)}.danger{color:var(--red);background:#fbefed}.danger:hover{background:#f8ded9}.full{width:100%}.text-button{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:550;padding:5px 0}.text-button:hover{text-decoration:underline}.text-button svg{width:16px;height:16px}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}.icon-button:hover{background:var(--green-soft)}.preview-note{height:26px;background:#e8ede7;color:#506154;font-size:11px;display:flex;justify-content:center;gap:22px;align-items:center;position:relative;z-index:40}.preview-note a{font-weight:600;text-decoration:underline}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:750;white-space:nowrap;letter-spacing:-.04em}.brand-symbol{width:39px;height:39px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--green);color:var(--lime)}.brand-symbol svg{width:25px;height:25px;stroke-width:1.9}.avatar{width:35px;height:35px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.avatar-self{background:#e8e5d9;color:#5c5848}.sage{background:#dfe9df;color:#3e6448}.peach{background:#f2e2d6;color:#8a5836}.lavender{background:#e7e2ef;color:#67527a}.blue{background:#dde9ed;color:#416877}.mini{width:26px;height:26px;font-size:11px;border:2px solid white;margin-right:-6px}.status-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:5px;line-height:1.55;font-size:11px;font-weight:500;white-space:nowrap}.green{background:#e9f3e9;color:#3d6943}.amber{background:var(--amber-soft);color:var(--amber)}.muted-tag{background:#f1f3ef;color:#66736b}.red{color:var(--red);background:#faece9}.live-dot{height:6px;width:6px;background:#638857;border-radius:50%;display:inline-block}.compact-select{display:inline-flex;position:relative;align-items:center;min-height:36px;border:1px solid var(--line);border-radius:7px;background:white;font-size:12px}.compact-select select{appearance:none;background:none;border:none;padding:7px 33px 7px 11px;cursor:pointer;min-height:34px;width:100%}.compact-select svg{width:14px;height:14px;position:absolute;right:10px;pointer-events:none}
/* 用户首页 */
.home-header{height:78px;background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1200px;height:100%;margin:auto;display:flex;align-items:center;gap:60px}.desktop-nav{display:flex;height:100%;gap:34px;align-items:stretch;font-size:14px}.desktop-nav a,.desktop-nav button{position:relative;display:flex;align-items:center;padding:0;white-space:nowrap}.desktop-nav .current{color:var(--green);font-weight:650}.desktop-nav .current:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--green);border-radius:3px 3px 0 0}.unread-dot{position:absolute;right:-5px;top:23px;width:5px;height:5px;background:#bf6a44;border-radius:50%}.header-right{margin-left:auto;display:flex;gap:22px;align-items:center}.city-button{display:flex;align-items:center;gap:6px;padding:9px 0;font-size:14px}.city-button svg{width:17px;height:17px}.city-button svg:last-child{width:13px}.home-main{max-width:1200px;margin:30px auto 0}.welcome-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:30px}.greeting{color:var(--muted);font-size:12px;display:block;margin-bottom:5px}.welcome-line h1{font-size:25px}.search-field{height:45px;width:332px;display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid #dce2d9;border-radius:10px;background:white}.search-field svg{color:#5f6e59;width:18px}.search-field input{min-width:0;width:100%;outline:none;border:none;background:none;font-size:13px}.search-field input::placeholder{color:#68756d}.search-field kbd{font:11px var(--font);color:#677569;white-space:nowrap}.search-field:focus-within{border-color:#658840;outline:2px solid #d5e3cc}.discovery-banner{display:grid;grid-template-columns:1fr 46%;height:232px;border-radius:var(--radius);overflow:hidden;background:var(--green);color:white}.banner-copy{padding:26px 38px;position:relative}.banner-copy h2{font-size:29px;font-weight:650;line-height:1.45;letter-spacing:.01em}.banner-copy p{font-size:13px;color:#d9e5da;margin:8px 0 17px}.banner-copy .button{min-height:36px;padding:8px 14px;font-size:12px}.banner-copy .button svg{width:16px;height:16px}.banner-photo{position:relative;overflow:hidden}.banner-photo img{height:100%;width:100%;object-fit:cover;object-position:center 54%}.banner-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(19,38,24,.65))}.banner-photo span{position:absolute;bottom:23px;right:28px;z-index:1;font-size:13px;font-weight:500;letter-spacing:.03em}.category-nav{display:grid;grid-template-columns:repeat(6,1fr);margin:23px 0 28px;padding:0 25px}.category{display:flex;align-items:center;flex-direction:column;gap:9px;padding:9px;font-size:13px;color:#526058}.category>span{height:49px;width:49px;display:grid;place-items:center;background:#edf0e9;border-radius:16px;transition:background .18s}.category svg{width:25px;height:25px;stroke-width:1.6}.category.active{color:var(--green);font-weight:650}.category.active>span{background:var(--green);color:var(--lime)}.category:hover>span{background:#dce7d2}.category.active:hover>span{background:var(--green-deep)}.discovery-layout{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:28px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title h2{font-size:20px;display:flex;align-items:center;gap:9px}.section-title h2>span{font-size:12px;color:#5b6b60;background:#e9eee6;padding:2px 7px;line-height:1.5;border-radius:5px;font-weight:500}.feed-tabs{display:flex;gap:24px;align-items:center;margin:16px 0 18px;border-bottom:1px solid var(--line)}.feed-tabs button{padding:0 0 12px;color:#657269;font-size:13px;position:relative}.feed-tabs button.active{color:var(--green);font-weight:650}.feed-tabs button.active:after{position:absolute;content:"";height:2px;background:var(--green);bottom:-1px;left:0;right:0}.feed-tabs>span{margin-left:auto;font-size:11px;color:var(--muted);padding-bottom:12px}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.activity-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .18s}.activity-card:hover{border-color:#abbda5}.activity-photo{height:153px;position:relative;overflow:hidden}.activity-photo img{width:100%;height:100%;object-fit:cover}.activity-photo .photo-tag{position:absolute;top:12px;left:12px;background:#fff;color:var(--ink);border-radius:5px;font-size:11px;padding:3px 7px;display:flex;align-items:center;gap:4px}.photo-tag svg{width:13px;height:13px}.photo-tag .live-dot{background:#668354}.activity-body{padding:15px 17px 12px}.activity-category{font-size:11px;color:#4c7159;margin-bottom:5px}.activity-body h3{font-size:16px;font-weight:650;line-height:1.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-body h3 button{text-align:left;font-weight:inherit;padding:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-meta{font-size:12px;color:#66736b;margin-top:10px;display:grid;gap:6px}.activity-meta span{display:flex;align-items:center;gap:6px}.activity-meta svg{height:14px;width:14px;stroke-width:1.7;color:#5f6e59}.activity-meta .distance{margin-left:auto;font-size:11px;color:#5f6e59}.activity-tags{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}.activity-tags span{font-size:11px;line-height:1.5;padding:3px 6px;background:#f1f5ed;color:#53694d;border-radius:4px}.activity-tags span+span{background:#f6f3ed;color:#7a6749}.activity-bottom{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-top:1px solid #edf0e9;gap:8px}.activity-people{display:flex;align-items:center;font-size:11px;color:#6b776a;white-space:nowrap}.activity-people .remaining{margin-left:13px}.activity-people b{color:var(--green);font-weight:600}.activity-bottom .text-button{font-size:12px;padding:0;min-height:30px;white-space:nowrap}.list-end{text-align:center;margin:25px 0 5px;color:#5f6e59;font-size:12px}.home-aside{padding-top:2px}.next-plan{padding:21px;background:white;border:1px solid var(--line);border-radius:14px}.next-plan .section-title h2{font-size:16px}.next-plan .section-title>svg{width:18px;height:18px;color:#5f6e59}.plan-date{display:flex;align-items:center;gap:10px;margin:24px 0 18px}.plan-date>strong{font-size:37px;font-weight:600;line-height:1;letter-spacing:-.06em}.plan-date>span:not(.status-tag){font-size:11px;line-height:1.9;color:#5f6e59}.plan-date b{font-weight:500;color:#455640}.plan-date .status-tag{margin-left:auto;font-size:11px}.next-plan h3{font-size:15px;margin-bottom:7px}.next-plan>p{font-size:12px}.mini-people{display:flex;align-items:center;margin:20px 0;flex-wrap:wrap}.mini-people>.muted{font-size:11px;margin:10px 0 0;width:100%}.next-plan .button{font-size:12px;min-height:38px;justify-content:space-between;padding:8px 12px}.small-invitation{background:#eaf0df;margin-top:18px;padding:23px;border-radius:14px}.small-invitation>svg{color:#5b7545;height:25px;width:25px;margin-bottom:12px}.small-invitation h3{font-size:15px;margin-bottom:8px}.small-invitation p{font-size:12px;line-height:1.9;color:#58674f}.small-invitation .text-button{margin-top:12px;font-size:12px}.community-note{padding:27px 14px}.community-note h3{font-size:13px;margin-bottom:14px}.community-note p{display:flex;align-items:center;gap:7px;font-size:12px;color:#697565;margin-top:8px}.community-note svg{width:14px;height:14px;color:#5f6e59}.community-note>span{display:block;font-size:11px;color:#5f6e59;margin-top:18px}.home-footer{margin-top:34px;padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#5f6e59;font-size:11px}.mobile-bottom-nav{display:none}.empty-state{padding:52px 20px;text-align:center;grid-column:1/-1;border:1px dashed #d3dfcd;border-radius:12px}.empty-state>svg{width:34px;height:34px;color:#5f6e59;margin-bottom:12px}.empty-state h3{font-size:16px}.empty-state p{margin-top:9px;color:#64735e;font-size:13px}.empty-state .button{margin-top:18px}
/* 后台 */
.admin-page{background:#f5f7f5}.admin-page .preview-note{position:sticky;top:0}.admin-sidebar{position:fixed;top:26px;bottom:0;left:0;width:210px;background:white;border-right:1px solid var(--line);padding:0 18px;z-index:30;display:flex;flex-direction:column}.admin-sidebar>.brand{height:91px;font-size:21px;padding-left:9px;gap:10px}.brand small{display:block;letter-spacing:.05em;font-size:11px;line-height:1.6;font-weight:400;color:#5f6e59;margin-top:1px}.nav-group-label{font-size:11px;color:#5f6e59;padding:10px 15px;display:block}.nav-group-label.second{margin-top:23px}.admin-nav{width:100%;height:44px;display:flex;gap:11px;align-items:center;padding:0 13px;border-radius:8px;font-size:13px;color:#5f6c61;margin-bottom:5px;text-align:left}.admin-nav>svg{width:18px;height:18px}.admin-nav.active{background:#e9f0e6;color:#2b563c;font-weight:650}.admin-nav:hover{background:#f0f4ec}.count-badge{margin-left:auto;background:#deead7;color:#385e30;border-radius:4px;font-size:11px;line-height:18px;min-width:19px;text-align:center;font-weight:500}.count-badge.warning{background:#fbefdb;color:#99661f}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:21px 9px;display:flex;align-items:center;gap:7px;font-size:11px;color:#62715b}.sidebar-bottom>span:last-child{margin-left:auto;font-size:11px;color:#6b7867}.admin-workspace{margin-left:210px}.admin-header{height:72px;border-bottom:1px solid var(--line);background:white;padding:0 32px;display:flex;justify-content:space-between;align-items:center;gap:15px}.admin-breadcrumb{display:flex;align-items:center;gap:11px;font-size:12px}.breadcrumb-root{color:#5f6e59;display:flex;gap:11px;align-items:center}.breadcrumb-root svg{width:13px;height:13px}.admin-breadcrumb strong{font-weight:500}.admin-header-actions{display:flex;align-items:center;gap:16px}.admin-header-actions>.compact-select{border:0}.admin-header-actions .icon-button{width:32px;height:32px;color:#67735e}.admin-header-actions .icon-button svg{width:17px;height:17px}.header-divider{height:22px;width:1px;background:var(--line)}.admin-user{display:flex;align-items:center;gap:8px;font-size:12px}.admin-user>span:last-child{display:flex;align-items:center;gap:15px}.admin-user svg{width:12px;height:12px}.admin-user .avatar{height:31px;width:31px;font-size:11px}.admin-main{padding:28px 32px;max-width:1520px;margin:0 auto}.admin-page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:14px}.admin-page-heading h1{font-size:23px}.admin-page-heading p{font-size:11px;color:#5f6e59;margin-top:7px}.admin-page-heading p span{margin-left:12px;color:#5f6e59}.admin-page-heading .button{font-size:12px;min-height:38px;padding:9px 15px}.admin-page-heading .button svg{width:16px;height:16px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:18px 20px 16px}.metric-label{font-size:12px;color:#5e6d59;display:flex;justify-content:space-between;align-items:center;gap:5px}.metric-label svg{height:17px;width:17px;color:#5f6e59}.metric>strong{display:block;font-size:31px;font-weight:620;line-height:1.2;margin:12px 0 10px;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.metric>strong span{font-size:11px;color:#5f6e59;font-weight:400;margin-left:7px;letter-spacing:0}.metric>p{font-size:11px;color:#5f6e59;display:flex;align-items:center;gap:7px;min-height:18px}.trend-up{color:#517b3b;display:flex;align-items:center;gap:3px}.trend-up svg{width:12px;height:12px}.metric .text-button{font-size:11px;padding:0;min-height:18px}.metric .text-button svg{height:13px;width:13px}.pending-metric{background:#f0f5e9;border-color:#dfe8d6}.pending-metric>strong{color:#345c2b}.dashboard-middle{display:grid;grid-template-columns:minmax(0,1.82fr) minmax(255px,1fr);gap:21px;margin-bottom:23px}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-heading{padding:21px 23px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2{font-size:15px;font-weight:650;display:flex;align-items:center;gap:9px}.panel-heading p{font-size:11px;color:#5f6e59;margin-top:5px}.chart-period{font-size:11px;color:#697761;border:1px solid var(--line);padding:5px 9px;border-radius:5px;white-space:nowrap}.chart-legend{display:flex;gap:14px;align-items:center;padding:0 23px;font-size:11px;color:#66745d}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend small{margin-left:auto;font-size:11px;color:#5f6e59}.legend-dot{height:7px;width:7px;display:inline-block;border-radius:2px}.legend-dot.dark{background:#477459}.legend-dot.pale{background:#c7daa9}.trend-chart{height:194px;padding:10px 17px 14px}.trend-chart svg{height:100%;width:100%;overflow:visible}.trend-chart text{font-family:var(--font);font-size:12px;fill:#5f6e59}.trend-chart .grid-line{stroke:#edf0e8;stroke-width:1;stroke-dasharray:4 4}.todo-panel .panel-heading{padding-bottom:10px}.todo-panel .status-tag{font-size:11px}.todo-row{display:flex;align-items:center;gap:11px;padding:16px 21px;width:100%;text-align:left}.todo-row:hover{background:#fafbf7}.todo-icon{height:37px;width:37px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.todo-icon svg{height:18px;width:18px}.todo-row>span:nth-child(2){display:grid;gap:3px}.todo-row strong{font-size:12px;font-weight:500}.todo-row small{font-size:11px;color:#5f6e59;white-space:nowrap}.todo-row b{margin-left:auto;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.todo-row>svg{width:13px;height:13px;color:#5f6e59}.operation-message{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);margin:4px 21px 0;padding-top:15px;font-size:11px;color:#537145;line-height:1.9}.operation-message>svg{width:16px;height:16px}.operation-message small{font-size:11px;color:#5f6e59}.heading-count{background:#eef3e8;color:#587243;font-size:11px;line-height:18px;padding:0 6px;border-radius:4px;font-weight:500}.review-panel>.panel-heading{padding-bottom:18px}.panel-heading>.text-button{font-size:11px;white-space:nowrap}.panel-heading>.text-button svg{height:14px;width:14px}.review-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.review-table thead{color:#5f6e59;background:#fafbf8;font-size:11px;font-weight:400}.review-table th{padding:11px 15px;font-weight:400;white-space:nowrap}.review-table th:first-child,.review-table td:first-child{padding-left:23px}.review-table th:last-child,.review-table td:last-child{padding-right:23px}.review-table td{padding:14px 15px;border-top:1px solid #edf0e8;vertical-align:middle}.review-title{font-size:12px;font-weight:550;color:#34452b;display:block;max-width:235px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-category{font-size:11px;color:#5f6e59;margin-top:4px;display:block}.review-author{display:flex;align-items:center;gap:7px;white-space:nowrap}.review-author .avatar{height:25px;width:25px;font-size:11px}.review-time{color:#5f6e59;font-size:11px;white-space:nowrap;line-height:1.8}.review-status{font-size:11px;color:#5c7c44;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.review-status svg{width:12px;height:12px}.review-status.flagged{color:var(--amber)}.review-actions{display:flex;gap:7px;align-items:center;white-space:nowrap}.review-actions button{font-size:11px;border:1px solid var(--line);padding:5px 9px;border-radius:5px;min-height:29px;background:white}.review-actions button:hover{background:#f1f5eb}.review-actions button.review-approve{color:#42642e;background:#eef4e6;border-color:#dbe7cf}.review-actions button.review-details{color:#617351;padding:5px 2px;border:0;background:none}.review-mobile-list{display:none}.admin-footnote{font-size:11px;color:#5f6e59;margin:19px 0 0}.admin-mobile-nav,.mobile-menu,.admin-backdrop{display:none}.settings-list{padding:0 24px}.settings-list>div{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}.settings-list>div:last-child{border:0}.settings-list strong{font-weight:500}.settings-list>div>span{color:var(--muted)}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table td,.data-table th{padding:17px 22px;text-align:left;border-bottom:1px solid var(--line)}.data-table th{background:#fafbf8;font-size:11px;font-weight:500;color:var(--muted)}.data-table tr:last-child td{border:0}.report-list{display:grid;gap:16px}.report-item{padding:22px}.report-item>div:first-child{display:flex;justify-content:space-between;gap:10px}.report-item h2{font-size:16px;margin:13px 0 6px}.report-item p{font-size:13px;color:var(--muted)}.report-item .button{margin-top:17px}.city-row{display:flex;justify-content:space-between;align-items:center;padding:19px 23px;border-bottom:1px solid var(--line);gap:15px}.city-row:last-child{border:0}.city-row>div:first-child{display:grid;gap:4px}.city-row p{font-size:11px;color:var(--muted)}.city-row .button{font-size:12px;min-height:35px}.city-status{display:flex;gap:20px;align-items:center}
/* 预览交互 */
dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:16px;color:var(--ink);box-shadow:var(--shadow);overflow:auto;background:white}dialog::backdrop{background:rgba(21,39,29,.42)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 23px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.dialog-header h2{font-size:18px}.dialog-header .icon-button{width:32px;height:32px}#dialog-body{padding:23px}.dialog-cover{border-radius:10px;width:100%;height:166px;object-fit:cover;margin-bottom:17px}.detail-title{font-size:21px;margin-bottom:14px}.detail-description{font-size:13px;line-height:1.95;margin:18px 0;color:#5b6d52}.detail-list{display:grid;gap:11px;font-size:13px}.detail-list>div{display:flex;gap:9px;align-items:center}.detail-list svg{height:16px;width:16px;color:#5f6e59}.dialog-notice{margin:16px 0;padding:11px 13px;background:#f2f5ee;border-radius:8px;font-size:11px;color:#5c6c52}.dialog-actions{display:flex;gap:12px;margin-top:18px}.dialog-actions>*{flex:1}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,12px);background:#263e30;color:white;box-shadow:var(--shadow);padding:12px 22px;border-radius:9px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:13px;max-width:calc(100% - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px;font-size:12px}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #d9e2d1;border-radius:7px;padding:10px;background:white;font-size:13px}.field textarea{min-height:95px;resize:vertical}.form-error{color:var(--red);font-size:12px;margin-top:8px}.form-success{text-align:center;padding:24px 5px}.form-success>svg{width:42px;height:42px;color:#59804b;margin-bottom:16px}.form-success h3{font-size:20px}.form-success p{font-size:13px;color:var(--muted);margin:12px 0 25px;line-height:1.8}.city-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.city-option{padding:14px 5px;border:1px solid var(--line);border-radius:9px;font-size:14px}.city-option.active{border-color:#567448;background:#edf4e7;color:#3a602b}.city-option small{display:block;font-size:11px;margin-top:3px}.message-item{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.message-item:last-child{border:0}.message-item h3{font-size:14px}.message-item p{font-size:12px;color:#5f6e59;margin-top:5px}.message-item time{font-size:11px;color:#5f6e59;margin-left:auto;white-space:nowrap}.profile-preview{text-align:center}.profile-preview>.avatar{width:65px;height:65px;font-size:23px}.profile-preview h3{margin:13px 0 5px;font-size:20px}.profile-preview>p{font-size:13px;color:var(--muted)}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:23px 0;margin-top:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.profile-stats strong{display:block;color:var(--ink);font-size:23px}.mine-item{padding:16px 0;border-bottom:1px solid var(--line)}.mine-item h3{font-size:15px;margin-top:9px}.mine-item p{color:var(--muted);font-size:12px;margin-top:7px}.review-detail-label{font-size:11px;color:var(--muted);margin:15px 0 6px}.review-decision{padding-top:15px}.review-decision textarea{margin:10px 0}
@media(min-width:1600px){.admin-main{padding:34px 42px}.metric{padding:22px 25px}.trend-chart{height:215px}.admin-page-heading{margin-bottom:28px}}
@media(max-width:1280px){.header-inner,.home-main{margin-left:34px;margin-right:34px}.header-inner{gap:35px}.desktop-nav{gap:26px}.discovery-layout{grid-template-columns:minmax(0,1fr) 248px;gap:23px}.next-plan{padding:18px}.home-main{margin-top:27px}.admin-sidebar{width:185px;padding:0 13px}.admin-workspace{margin-left:185px}.admin-sidebar>.brand{font-size:19px;padding-left:5px}.admin-sidebar .brand-symbol{width:35px;height:35px}.admin-main{padding:24px}.admin-header{padding:0 24px}.metric-grid{gap:12px}.metric{padding:15px}.metric>strong{font-size:29px}.dashboard-middle{gap:16px;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr)}.panel-heading{padding:18px}.review-table th,.review-table td{padding-left:10px;padding-right:10px}.review-table th:first-child,.review-table td:first-child{padding-left:18px}.review-table th:last-child,.review-table td:last-child{padding-right:18px}.review-title{max-width:195px}.todo-row{padding:16px}.todo-row small{font-size:11px}.todo-row>svg{display:none}}
@media(max-width:1050px){.home-aside{display:none}.discovery-layout{display:block}.header-inner{gap:25px}.header-right{gap:15px}.desktop-nav{gap:22px}.dashboard-middle{grid-template-columns:minmax(0,1fr)}.todo-panel{display:none}.review-table .column-persons{display:none}.admin-page-heading p span{display:none}.admin-user>span:last-child{display:none}.review-title{max-width:205px}.metric-label{font-size:11px}.metric-label svg{width:15px;height:15px}.metric>p{font-size:11px}}
@media(max-width:760px){
 body{font-size:14px}.preview-note{height:23px;font-size:11px;gap:13px}.home-header{height:65px}.header-inner{margin:0 20px;gap:15px}.brand{font-size:21px;gap:8px}.brand-symbol{height:34px;width:34px;border-radius:10px}.brand-symbol svg{height:23px;width:23px}.desktop-nav,.desktop-publish,.desktop-only,.avatar-self{display:none}.header-right{margin-left:auto}.city-button{font-size:13px;gap:5px}.city-button svg{width:16px}.home-main{margin:16px 18px 0}.welcome-line{display:block;margin-bottom:19px}.greeting{display:none}.welcome-line h1{font-size:22px}.search-field{width:100%;height:43px;margin-top:14px;font-size:12px;border-radius:9px}.search-field input{font-size:12px}.discovery-banner{height:156px;grid-template-columns:58% 42%;border-radius:13px}.banner-copy{padding:19px 0 15px 20px}.banner-copy h2{font-size:21px;line-height:1.5}.banner-copy p{font-size:11px;margin:8px 0 11px;white-space:nowrap;color:#d7e7d5}.banner-copy .button{min-height:31px;font-size:11px;padding:6px 10px;border-radius:6px}.banner-copy .button svg{height:13px;width:13px}.banner-photo span{display:none}.banner-photo img{object-position:51% center}.category-nav{margin:15px -7px 14px;padding:0;gap:0}.category{font-size:11px;gap:7px;padding:8px 2px}.category>span{height:42px;width:42px;border-radius:13px}.category svg{height:23px;width:23px}.section-title h2{font-size:18px;gap:6px}.section-title h2>span{font-size:11px;padding:1px 5px}.compact-select{font-size:11px;min-height:30px}.compact-select select{padding:5px 28px 5px 9px;min-height:30px}.compact-select svg{right:8px;height:12px;width:12px}.feed-tabs{margin:13px 0 14px;gap:24px}.feed-tabs button{font-size:12px;padding-bottom:10px}.feed-tabs>span{display:none}.activity-grid{grid-template-columns:1fr;gap:14px}.activity-card{display:grid;grid-template-columns:101px minmax(0,1fr);padding-top:14px;border-radius:12px}.activity-photo{height:118px;border-radius:8px;margin:0 0 0 13px}.activity-photo img{object-position:center}.activity-photo .photo-tag{left:5px;top:5px;padding:2px 5px;font-size:11px;border-radius:3px;gap:3px}.photo-tag svg{height:11px;width:11px}.activity-body{padding:0 12px 12px 12px}.activity-category{font-size:11px;margin-bottom:4px}.activity-body h3{font-size:14px;white-space:normal;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-body h3 button{font-size:inherit;white-space:normal;line-height:inherit;text-overflow:clip;overflow:visible}.activity-meta{font-size:11px;margin-top:7px;gap:4px}.activity-meta svg{height:12px;width:12px}.activity-meta .distance{font-size:11px}.activity-tags{gap:5px;margin-top:8px}.activity-tags span{font-size:11px;padding:2px 5px}.activity-bottom{grid-column:1/-1;padding:10px 13px;margin-top:1px}.activity-people{font-size:11px}.activity-people .mini{height:23px;width:23px;font-size:11px}.activity-people .remaining{margin-left:11px}.activity-bottom .text-button{font-size:11px;min-height:27px}.activity-bottom .text-button svg{height:14px;width:14px}.list-end{font-size:11px;margin-top:23px}.home-footer{margin-top:24px;padding:20px 0 100px;display:grid;gap:5px;font-size:11px;text-align:center}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:6px 12px calc(7px + env(safe-area-inset-bottom));height:calc(65px + env(safe-area-inset-bottom))}.mobile-bottom-nav>a,.mobile-bottom-nav>button{display:flex;position:relative;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:11px;color:#5f6e59}.mobile-bottom-nav svg{height:21px;width:21px;stroke-width:1.65}.mobile-bottom-nav .selected{color:var(--green);font-weight:650}.publish-symbol{width:35px;height:29px;background:var(--green);color:white;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-top:-4px}.publish-symbol svg{height:21px;width:21px}.nav-dot{position:absolute;top:4px;left:calc(50% + 7px);width:5px;height:5px;background:#bc7148;border-radius:50%}.toast{bottom:85px;font-size:12px;padding:11px 17px}
 .admin-sidebar{transform:translateX(-100%);transition:transform .2s var(--ease);top:23px;width:225px;z-index:60}.admin-sidebar.open{transform:translateX(0)}.admin-sidebar>.brand{height:85px}.admin-backdrop.open{display:block;position:fixed;inset:23px 0 0;background:rgba(23,40,27,.32);z-index:50}.admin-workspace{margin-left:0}.admin-header{height:58px;padding:0 16px;gap:5px}.mobile-menu{display:flex;width:31px;height:31px}.admin-breadcrumb{gap:7px;font-size:13px}.breadcrumb-root{display:none}.admin-breadcrumb strong{font-weight:600}.admin-header-actions{gap:7px}.admin-header-actions>.compact-select{font-size:11px}.admin-header-actions>.icon-button{height:30px;width:30px}.header-divider{display:none}.admin-header-actions .avatar{width:27px;height:27px;font-size:11px}.admin-main{padding:22px 16px 95px}.admin-page-heading{align-items:flex-start;margin-bottom:19px;gap:8px}.admin-page-heading h1{font-size:21px}.admin-page-heading p{font-size:11px;margin-top:7px}.admin-page-heading .button{font-size:11px;padding:7px 10px;min-height:32px;margin-top:2px;gap:5px}.admin-page-heading .button svg{height:13px;width:13px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:18px}.metric{padding:15px 15px 13px;border-radius:10px}.metric-label{font-size:11px}.metric-label svg{width:15px;height:15px}.metric>strong{font-size:28px;margin:10px 0 7px}.metric>strong span{font-size:11px}.metric>p{font-size:11px}.dashboard-middle{display:flex;flex-direction:column;gap:17px;margin-bottom:18px}.todo-panel{display:block;order:-1}.todo-panel .panel-heading{padding:16px 17px 5px}.todo-panel .status-tag{font-size:11px}.todo-row{padding:12px 17px;gap:10px}.todo-icon{height:33px;width:33px;border-radius:9px}.todo-icon svg{height:17px;width:17px}.todo-row strong{font-size:11px}.todo-row small{font-size:11px}.todo-row b{font-size:18px}.todo-row>svg{display:block;height:13px;width:13px}.operation-message{display:none}.trend-panel{order:0}.panel{border-radius:10px}.panel-heading{padding:17px}.panel-heading h2{font-size:14px}.panel-heading p{font-size:11px;margin-top:5px}.chart-period{font-size:11px;padding:4px 6px}.chart-legend{font-size:11px;padding:0 17px}.chart-legend small{font-size:11px}.trend-chart{height:168px;padding:10px 13px 13px}.review-table{display:none}.review-mobile-list{display:block}.review-card{padding:16px 17px;border-top:1px solid var(--line)}.review-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-card-header .status-tag{font-size:11px}.review-card h3{margin:10px 0 8px;font-size:14px;line-height:1.6}.review-card-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:#6d7b61;flex-wrap:wrap}.review-card-meta svg{width:12px;height:12px}.review-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:13px;gap:10px}.review-card-bottom .review-author{font-size:11px}.review-card-bottom .avatar{height:23px;width:23px;font-size:11px}.review-actions{gap:7px}.review-actions button{font-size:11px;padding:6px 10px;min-height:32px}.review-actions button.review-details{padding:6px 2px}.review-panel .panel-heading{padding-bottom:15px}.review-panel .panel-heading>.text-button{font-size:11px}.admin-footnote{font-size:11px;line-height:1.9;margin-top:15px}.admin-mobile-nav{position:fixed;left:0;bottom:0;right:0;background:white;z-index:40;border-top:1px solid var(--line);height:calc(62px + env(safe-area-inset-bottom));padding:7px 5px calc(6px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr)}.admin-mobile-nav>button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:#5f6e59;position:relative}.admin-mobile-nav svg{height:21px;width:21px}.admin-mobile-nav .selected{color:var(--green);font-weight:600}.admin-mobile-nav button>span{position:absolute;top:-2px;left:calc(50% + 6px);height:14px;min-width:14px;padding:0 3px;line-height:14px;background:#9f4e26;color:white;border-radius:7px;font-size:11px}.settings-list{padding:0 17px}.settings-list>div{font-size:11px;padding:17px 0}.city-row{padding:16px;gap:8px;font-size:13px}.city-status{gap:8px}.city-row p{font-size:11px}.city-row .status-tag{font-size:11px}.city-row .button{font-size:11px;padding:6px 10px;min-height:31px}.data-table td,.data-table th{padding:13px 10px;font-size:11px}.data-table th{font-size:11px}.data-table .optional-column{display:none}.report-item{padding:17px}.report-item h2{font-size:14px}.report-item p{font-size:12px}.report-item .button{font-size:11px}.dialog-header{padding:16px 18px}.dialog-header h2{font-size:17px}#dialog-body{padding:18px}.detail-title{font-size:19px}.dialog-cover{height:142px}.detail-list{font-size:12px}.detail-description{font-size:12px}.form-grid{gap:13px}.dialog-actions .button{font-size:12px}.profile-preview>p{font-size:12px}
}
@media(max-width:360px){.home-main{margin-left:14px;margin-right:14px}.header-inner{margin:0 16px}.welcome-line h1{font-size:20px}.banner-copy{padding-left:14px}.banner-copy h2{font-size:19px}.banner-copy p{font-size:11px}.category{font-size:11px}.category>span{width:38px;height:38px}.activity-card{grid-template-columns:87px minmax(0,1fr)}.activity-photo{height:115px;margin-left:11px}.activity-body{padding-left:10px;padding-right:10px}.activity-body h3{font-size:13px}.activity-meta{font-size:11px}.activity-meta .distance{font-size:11px}.activity-tags span{font-size:11px}.activity-people .mini:nth-child(3){display:none}.metric{padding:13px}.admin-main{padding-left:13px;padding-right:13px}.admin-page-heading h1{font-size:19px}.admin-page-heading .button{font-size:11px;padding:7px}.review-actions{gap:5px}.review-actions button{padding:6px 8px}.preview-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:760px){.category,.compact-select,.activity-category,.activity-meta,.activity-meta .distance,.activity-tags span,.activity-people,.review-status,.review-card-header .status-tag,.review-card-meta,.review-card-bottom .review-author,.metric>p,.todo-row small,.panel-heading p,.chart-legend,.chart-period,.mobile-bottom-nav>a,.mobile-bottom-nav>button,.admin-mobile-nav>button,.admin-page-heading p,.data-table td,.data-table th,.city-row p,.city-row .status-tag,.settings-list>div{font-size:12px}.activity-bottom .text-button,.review-actions button,.todo-row strong,.admin-page-heading .button,.city-row .button{font-size:13px}.activity-meta .distance{font-weight:400}.activity-photo{height:126px}.activity-body{min-height:138px}.banner-copy{padding-top:16px}.banner-copy h2{font-size:20px}.banner-copy p{margin:6px 0 9px}.todo-row small{white-space:normal}.review-actions button{min-height:36px}.trend-chart{height:180px}}
