:root{--background: #f3f0ea;--background-soft: #f5f7f8;--foreground: #111111;--card: #ffffff;--muted: #f0f1ee;--muted-foreground: #6b7280;--border: #e5e7eb;--border-soft: #ededed;--primary: #22c55e;--primary-strong: #16a34a;--primary-soft: #e8f8ef;--danger: #ff4a2a;--warning: #f59e0b;--radius-s: 10px;--radius-m: 16px;--radius-l: 20px;--radius-pill: 999px;--dur-fast: .16s;--dur-mid: .24s;--dur-modal: .32s;--ease-smooth: cubic-bezier(.22, 1, .36, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--app-width: 100vw;--page-max-width: 100%;--page-gutter: clamp(12px, 4vw, 20px);--section-gap: clamp(10px, 3vw, 16px);--tabbar-height: clamp(62px, 18vw, 74px);--tabbar-safe-height: calc(var(--tabbar-height) + var(--safe-bottom));--page-bottom-space: calc(var(--tabbar-safe-height) + var(--page-gutter));--content-max-width: min(100vw, 48rem)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{font-family:PingFang SC,Microsoft YaHei,sans-serif;color:var(--foreground);min-height:100dvh;background:radial-gradient(circle at top,#22c55e17,#22c55e00 28%),linear-gradient(180deg,#f7f4ef,#eef2eb)}button,input,textarea,select{font:inherit}img{display:block;max-width:100%}.phone-shell{width:100%;min-height:100dvh;margin:0 auto;background:var(--background);position:relative;overflow:clip;isolation:isolate}.page-scroll,.app-scroll,.page-scroll-tight{width:100%;min-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.page-scroll,.app-scroll{padding:calc(var(--safe-top) + 16px) var(--page-gutter) var(--page-bottom-space)}.page-scroll-tight{padding:calc(var(--safe-top) + 8px) var(--page-gutter) calc(var(--safe-bottom) + 20px)}.page-scroll::-webkit-scrollbar,.app-scroll::-webkit-scrollbar,.page-scroll-tight::-webkit-scrollbar{display:none}.page-stack{display:grid;gap:var(--section-gap)}.standalone-page{min-height:100dvh;display:flex;flex-direction:column}.standalone-scroll{flex:1;min-height:0;overflow-y:auto;padding:calc(var(--safe-top) + 16px) var(--page-gutter) calc(var(--safe-bottom) + 20px);scrollbar-width:none}.standalone-scroll::-webkit-scrollbar{display:none}.page-action{position:sticky;bottom:0;z-index:20;margin-top:auto;padding:10px var(--page-gutter) calc(var(--safe-bottom) + 14px);background:linear-gradient(180deg,#f3f0ea00,#f3f0eaeb 36%,#f3f0ea);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 12px 30px #1111110f}.chip{border-radius:var(--radius-pill);border:1px solid var(--border);padding:0 13px;min-height:30px;line-height:28px;font-size:12px;background:#fff;color:var(--foreground)}.chip.active{border-color:transparent;background:var(--primary);color:#fff}.btn{border:0;border-radius:var(--radius-pill);min-height:48px;padding:0 20px;font-size:clamp(13px,3.4vw,15px);font-weight:600;transition:transform var(--dur-fast) ease,opacity var(--dur-fast) ease,background var(--dur-fast) ease}.btn:active{transform:scale(.98)}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 10px 20px #22c55e38}.btn.primary:disabled{background:#b8c5bc}.btn.secondary{background:var(--muted);color:var(--foreground)}.safe-top{padding-top:max(16px,var(--safe-top))}.safe-bottom{padding-bottom:max(16px,var(--safe-bottom))}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.section-title b{font-size:clamp(15px,4vw,17px)}.section-link{border:0;padding:0;background:transparent;color:var(--primary-strong);font-size:12px;font-weight:600}.fade-up-enter-active,.fade-up-leave-active{transition:all var(--dur-mid) var(--ease-smooth)}.fade-up-enter-from,.fade-up-leave-to{opacity:0;transform:translateY(8px)}.sheet-mask,.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:70}.sheet-panel{position:fixed;left:0;right:0;bottom:0;width:auto;max-width:var(--content-max-width);margin:0 auto;background:#fff;border-radius:var(--radius-l) var(--radius-l) 0 0;padding:16px var(--page-gutter) calc(var(--safe-bottom) + 16px);box-shadow:0 -8px 28px #1111112e;animation:sheet-up var(--dur-modal) var(--ease-smooth);z-index:80}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:359px){:root{--page-gutter: 12px;--section-gap: 10px;--tabbar-height: 62px}.btn{min-height:44px;padding-inline:16px}}@media(min-width:414px){:root{--page-gutter: 20px;--tabbar-height: 72px}}@media(max-width:389px){.page-scroll .title-row,.page-scroll .card-title-row,.page-scroll .activity-card__title-row,.page-scroll .account-card__head,.page-scroll .diary-manage__head,.standalone-scroll .month-card__head,.standalone-scroll .records-head,.standalone-scroll .pay-info__row{flex-wrap:wrap;align-items:flex-start}.cover-row{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))!important}.quick-row,.quick-grid,.quick-grid--owner,.bean-filter,.record-row,.stats-row,.owner-tabs,.bottom-menu{grid-template-columns:repeat(2,minmax(0,1fr))!important}.task,.task-item,.task-card__row,.basic-task-card__row,.activity-card__top,.member-profile,.diary-feed-head{grid-template-columns:minmax(0,1fr)!important}.task img,.task-item img,.task-card__row img,.basic-task-card__thumb,.activity-card img{width:100%!important;max-width:none!important;height:clamp(88px,32vw,144px)!important}.me-header,.member-profile,.user-row,.user-bar,.message-item{grid-template-columns:minmax(0,1fr)!important;flex-wrap:wrap}}.pay-page,.tasks-page,.calendar-page,.diary-page,.owner-page,.member-page,.orders-page,.order-detail-page,.settings-page,.task-detail-page,.vip-page,.bean-page,.notfound-page{min-height:100dvh!important;height:auto!important}.calendar-page,.diary-page,.owner-page,.member-page,.orders-page,.order-detail-page,.settings-page,.task-detail-page,.vip-page,.bean-page{display:flex;flex-direction:column}.calendar-scroll,.diary-scroll,.owner-scroll,.member-scroll,.orders-scroll,.order-detail-scroll,.settings-scroll,.task-detail-scroll,.vip-scroll,.bean-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:calc(var(--safe-bottom) + 20px)!important}.tasks-header,.owner-header,.member-header,.orders-header,.settings-header,.task-detail-header,.vip-header,.bean-header{padding:calc(var(--safe-top) + 16px) var(--page-gutter) 12px!important}
