:root{color:#4d3f3f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff7f7;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#fff7f7 0%,#fffdfb 52%,#fff4f6 100%);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}h1,h2,h3,p{margin:0}h1{margin-top:4px;font-size:22px;line-height:1.3}h2{font-size:24px;line-height:1.35}h3{margin-bottom:14px;font-size:18px}.shell{width:min(100%,480px);min-height:100vh;margin:0 auto;padding-bottom:88px}.topbar{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff7f7eb;justify-content:space-between;align-items:center;gap:16px;padding:18px 18px 12px;display:flex;position:sticky;top:0}.content,.page-stack{gap:16px;display:grid}.content{padding:8px 16px 24px}.login-page{place-items:center;width:min(100%,480px);min-height:100vh;margin:0 auto;padding:24px;display:grid}.login-card,.card,.hero-card{background:#ffffffe0;border:1px solid #e77c8e29;border-radius:24px;width:100%;box-shadow:0 18px 44px #e885971f}.login-card{padding:28px 22px}.card,.hero-card{padding:20px}.hero-card{color:#fff;background:linear-gradient(135deg,#ef8ea0 0%,#e66f86 100%);gap:10px;display:grid}.eyebrow{color:#d9657d;letter-spacing:.08em;font-size:13px;font-weight:700}.hero-card .eyebrow{color:#ffffffc7}.subtitle{color:#967f7f;margin-top:10px;font-size:14px;line-height:1.7}.role-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0 16px;display:grid}.role,.tag,.chip{color:#967f7f;background:#fff3f5;border-radius:999px}.role{padding:14px 12px;font-weight:700}.role.active,.tag.active,.chip.active{color:#fff;background:#e77c8e}.input,.textarea{color:#4d3f3f;background:#fff7f8;border:0;border-radius:18px;outline:none;width:100%;margin-top:12px;font-size:15px}.input{height:48px;padding:0 16px}.textarea{resize:vertical;min-height:112px;padding:16px}.segmented-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;display:grid}.segmented-btn{color:#967f7f;background:#fff7f8;border-radius:18px;min-height:48px}.segmented-btn.active{color:#fff;background:#e77c8e;font-weight:700}.primary-btn,.ghost-btn{border-radius:999px;width:100%;min-height:48px;margin-top:16px;font-weight:700}.primary-btn{color:#fff;background:linear-gradient(135deg,#ef8ea0 0%,#e66f86 100%);box-shadow:0 16px 30px #e77c8e40}.primary-btn.small{width:auto;min-height:38px;margin-top:0;padding:0 18px}.ghost-btn{color:#e06f84;background:#fff3f5}.ghost-btn.danger{color:#b84d5c}.text-btn{color:#d9657d;background:0 0;padding:6px 0;font-weight:700}.text-btn.block{text-align:center;width:100%;margin-top:14px;display:block}.form-error,.success-text{margin-top:10px;font-size:14px}.form-error{color:#b84d5c}.success-text{color:#d9657d}.user-row,.stats-grid{gap:12px;display:grid}.user-row{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(3,1fr)}.avatar-card,.stat-card,.soft-panel,.list-item,.message-card,.coupon-card{background:#fff7f8;border-radius:18px}.avatar-card,.stat-card{text-align:center;justify-items:center;gap:6px;padding:14px 10px;display:grid}.avatar{color:#fff;background:#e77c8e;border-radius:50%;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.avatar-card span,.stat-card span,.stat-card small,.message-card small,.coupon-card small,.list-item p,.empty{color:#967f7f;font-size:13px}.stat-card strong{color:#e06f84;font-size:24px}.soft-panel,.list-item,.message-card,.coupon-card{padding:16px}.soft-panel{gap:8px;display:grid}.list{gap:12px;display:grid}.list-item{justify-content:space-between;gap:14px;display:flex}.list-item-button{width:100%;color:inherit;text-align:left;border:0}.item-metrics{color:#e06f84;text-align:right;gap:4px;min-width:86px;display:grid}.message-card,.coupon-card{gap:10px;display:grid}.message-head,.message-foot,.action-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.message-tag{color:#d9657d;background:#fff0f3;border-radius:999px;padding:4px 10px;font-size:12px}.message-more-btn{color:#d9657d;cursor:pointer;background:#fff0f3;border:0;border-radius:999px;padding:4px 10px;font-size:11px}.message-tag-btn{cursor:pointer;border:0;font-size:11px}.template-list,.filter-row{flex-wrap:wrap;gap:10px;display:flex}.tag,.chip{padding:8px 12px;font-size:13px}.action-row{flex-wrap:wrap;justify-content:flex-start}.action-row .ghost-btn{width:auto;min-height:38px;margin-top:0;padding:0 18px}.dialog-mask{z-index:50;background:#00000047;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-card{background:#fff;border-radius:24px;width:min(100%,420px);padding:18px;box-shadow:0 18px 44px #00000029}.dialog-actions{gap:10px;margin-top:12px;display:flex}.dialog-actions.vertical{display:grid}.settings-actions{gap:10px;display:grid}.hidden-input{display:none}.data-summary{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:4px;display:grid}.data-summary span{color:#806b6b;background:#fff7f8;border-radius:14px;padding:12px}.profile-card{align-items:center;gap:16px;display:flex}.profile-avatar{color:#fff;cursor:pointer;background:#e77c8e;border-radius:50%;flex:0 0 72px;place-items:center;width:72px;height:72px;font-size:24px;font-weight:800;display:grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-name{color:#4d3f3f;align-items:center;gap:8px;min-width:0;display:flex}.profile-name strong{font-size:18px}.profile-edit-btn{color:#d9657d;background:#fff0f3;border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;display:grid}.empty{text-align:center;padding:18px 0}.tabbar{z-index:10;width:min(100%,480px);padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffafaf0;border-top:1px solid #e77c8e24;grid-template-columns:repeat(5,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:#8f7b7b;background:0 0;border-radius:14px;padding:9px 2px;font-size:13px}.tabbar button.active{color:#e77c8e;background:#fff0f3;font-weight:800}@media (width<=380px){.stats-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}h1{font-size:19px}}
