.top-row{display:flex;align-items:center;justify-content:space-between;margin:4rpx 0 var(--sp-4)} .greet-h2{font-size:var(--fs-xl);line-height:1.15;letter-spacing:-.8rpx;font-weight:var(--fw-b)} .greet-p{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--sp-1)} .icon-stack{display:flex;gap:var(--sp-2)} .icon-btn{ width:76rpx;height:76rpx;border-radius:50%;background:#fff;box-shadow:var(--sd-1); color:var(--text-2);display:flex;align-items:center;justify-content:center; } /* 门面卡 */ .hero-card{ background: radial-gradient(circle at 95% 16%, rgba(245,169,71,.22), transparent 32%), linear-gradient(135deg,#FFFFFF,#FFF6E9); } .hero-row{display:flex;align-items:center;gap:var(--sp-4)} .ring-num{font-size:var(--fs-xl);font-weight:var(--fw-b);line-height:1} .ring-unit{font-size:var(--fs-cap)} .ring-cap{font-size:var(--fs-cap);color:var(--muted);margin-top:4rpx} .hero-main{flex:1;min-width:0} .hero-title{font-size:var(--fs-lg);font-weight:var(--fw-b);letter-spacing:-.4rpx} .hero-sub{color:var(--muted);font-size:var(--fs-sm);margin-top:4rpx} .chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-2)} .hero-meta{ color:var(--muted);font-size:var(--fs-sm);margin-top:var(--sp-3); padding-top:var(--sp-3);border-top:1rpx solid rgba(238,230,220,.8); } /* 一周日期条 */ .date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-2);margin-bottom:var(--sp-4)} .day{ background:#fff;border-radius:var(--r-md);min-height:112rpx;text-align:center;padding:var(--sp-3) 4rpx; border:1rpx solid var(--line);color:var(--muted);font-size:var(--fs-cap); } .day-b{display:block;color:var(--text);font-size:var(--fs-md);margin-top:6rpx;font-weight:var(--fw-b)} .day.active{border-color:var(--primary-line);background:var(--primary-soft);color:var(--primary-dark)} .day.sel{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);box-shadow:0 0 0 2rpx rgba(245,169,71,.35)} .day.has-dot::after{content:"";display:block;width:8rpx;height:8rpx;border-radius:50%;background:var(--green);margin:6rpx auto 0} .ai-text{color:var(--text-2);font-size:var(--fs-md);line-height:1.6} .ai-cta{margin-top:var(--sp-4)} /* ===== 日期带(原计划页「日历」tab 并过来) ===== */ .date-band{margin-bottom:var(--sp-4)} .date-band .date-strip{margin-bottom:0} .cal-card{margin-bottom:0} .cal-toggle{ display:flex;align-items:center;justify-content:center;gap:4rpx; padding:var(--sp-2) 0;font-size:var(--fs-cap);color:var(--muted); } .cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-3);font-weight:var(--fw-b);font-size:var(--fs-lg)} .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-2);text-align:center} .cal-w{font-size:var(--fs-cap);color:var(--muted);padding:var(--sp-1) 0} .cal-cell{ height:76rpx;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center; font-weight:var(--fw-b);font-size:var(--fs-sm);background:var(--surface-2);position:relative; } .cal-cell.blank{background:transparent} .cal-cell.today{background:var(--primary-soft);color:var(--primary-dark)} .cal-cell.tasked::after{content:"";position:absolute;bottom:8rpx;width:8rpx;height:8rpx;border-radius:50%;background:var(--green)} .cal-cell.sel{background:var(--primary);color:#fff} .cal-cell.sel.tasked::after{background:#fff} /* 某天的安排 */ .day-detail{margin-top:var(--sp-3);border-top:1rpx solid var(--line);padding-top:var(--sp-4)} .dd-title{font-weight:var(--fw-b);font-size:var(--fs-md);margin-bottom:var(--sp-3)} .dd-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0} .dd-tag{flex:none;font-size:var(--fs-cap);font-weight:var(--fw-b);padding:2rpx var(--sp-2);border-radius:var(--r-full)} .dd-tag.plan{background:var(--primary-soft);color:var(--primary-ink)} .dd-tag.task{background:var(--green-soft);color:var(--green-ink)} .dd-tag.rem{background:var(--blue-soft);color:var(--blue-ink)} .dd-b{font-size:var(--fs-md);color:var(--text)} .dd-b.done{text-decoration:line-through;color:var(--muted)} /* ===== 接下来 ===== */ .up-list{margin-top:var(--sp-3)} .up-item{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1rpx solid var(--line)} .up-item:first-child{border-top:none;padding-top:0} .up-when{ flex:none;width:112rpx;font-size:var(--fs-cap);font-weight:var(--fw-b); color:var(--primary-dark);padding-top:4rpx; } .up-body{flex:1;min-width:0}