:root{--bg: #f2f2f7;--card: #ffffff;--line: rgba(60, 60, 67, .12);--text: #1c1c1e;--sub: #8e8e93;--accent: #0a7cff;--accent-soft: rgba(10, 124, 255, .1);--ok: #34c759;--warn: #ff9500;--danger: #ff3b30;--gold: #b98a2f;--radius: 14px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.45;overscroll-behavior-y:none}#app{min-height:100vh}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.m-page{padding:0 0 calc(72px + var(--safe-bottom));min-height:100vh}.m-header{position:sticky;top:0;z-index:20;padding:calc(10px + var(--safe-top)) 16px 12px;background:rgba(242,242,247,.94);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}.m-header h1{margin:0;font-size:21px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px}.m-header .sub{margin-top:2px;font-size:13px;color:var(--sub);display:flex;align-items:center;justify-content:space-between;gap:8px}.m-nav-back{border:0;background:none;color:var(--accent);font-size:16px;padding:0;display:flex;align-items:center;gap:2px}.m-body{padding:12px 12px 0}.m-card{background:var(--card);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;box-shadow:0 1px 2px #0000000a}.m-card-title{font-size:15px;font-weight:600;margin:0 0 10px;display:flex;align-items:center;justify-content:space-between}.m-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.m-row:last-child{border-bottom:0}.m-row-main{flex:1;min-width:0}.m-row-title{font-size:16px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-row-desc{margin:2px 0 0;font-size:13px;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-empty{text-align:center;color:var(--sub);font-size:14px;padding:28px 0}.m-tag{display:inline-block;font-size:12px;line-height:18px;padding:0 8px;border-radius:9px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.m-tag.st-new{background:rgba(255,149,0,.14);color:var(--warn)}.m-tag.st-doing{background:var(--accent-soft);color:var(--accent)}.m-tag.st-won{background:rgba(52,199,89,.14);color:var(--ok)}.m-tag.st-closed{background:rgba(142,142,147,.16);color:var(--sub)}.m-tag.src{background:rgba(185,138,47,.14);color:var(--gold)}.m-tag.overdue{background:rgba(255,59,48,.12);color:var(--danger)}.m-field{margin-bottom:14px}.m-field label{display:block;font-size:13px;color:var(--sub);margin-bottom:6px}.m-input,.m-select,.m-textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;-moz-appearance:none;appearance:none;-webkit-appearance:none}.m-textarea{min-height:84px;resize:vertical}.m-input:focus,.m-select:focus,.m-textarea:focus{outline:none;border-color:var(--accent)}.m-btn{width:100%;padding:13px 16px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-size:16px;font-weight:600}.m-btn:disabled{opacity:.5}.m-btn.ghost{background:#fff;color:var(--accent);border:1px solid var(--line);font-weight:500}.m-btn.danger{background:#fff;color:var(--danger);border:1px solid var(--line);font-weight:500}.m-btn-sm{width:auto;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--accent);font-size:14px}a.m-btn-sm{display:inline-block;text-align:center;line-height:1.2}.m-stat b.danger,.danger{color:var(--danger)}.m-progress{display:flex;align-items:center;gap:10px}.m-progress-bar{flex:1;height:6px;border-radius:3px;background:rgba(142,142,147,.2);overflow:hidden}.m-progress-fill{height:100%;background:var(--ok);transition:width .25s ease}.m-progress-num{font-size:13px;color:var(--sub);min-width:52px;text-align:right}.m-check{width:24px;height:24px;min-width:24px;border-radius:50%;border:1.5px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;padding:0;font-size:14px;color:transparent}.m-check.on{background:var(--ok);border-color:var(--ok);color:#fff}.m-row.is-done .m-row-title{color:var(--sub);text-decoration:line-through}.m-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.m-stat{background:var(--card);border-radius:12px;padding:10px 4px;text-align:center}.m-stat b{display:block;font-size:20px;font-weight:700}.m-stat span{font-size:12px;color:var(--sub)}.m-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.m-grid2 .m-field{margin-bottom:10px}.m-seg{display:flex;background:rgba(120,120,128,.12);border-radius:9px;padding:2px;margin-bottom:12px;overflow-x:auto}.m-seg button{flex:1;white-space:nowrap;border:0;background:none;padding:7px 10px;border-radius:7px;font-size:14px;color:var(--sub)}.m-seg button.on{background:#fff;color:var(--text);font-weight:600;box-shadow:0 1px 2px #00000014}.m-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom)}.m-tabbar a{flex:1;text-align:center;padding:8px 0 6px;font-size:11px;color:var(--sub)}.m-tabbar a.on{color:var(--accent)}.m-tabbar .ico{display:block;font-size:20px;line-height:1.1}.m-login{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:32px 24px calc(32px + var(--safe-bottom))}.m-login h1{font-size:26px;margin:0 0 4px}.m-login .tip{color:var(--sub);font-size:14px;margin:0 0 26px}.m-toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translate(-50%,12px);max-width:82vw;padding:10px 16px;border-radius:12px;background:rgba(28,28,30,.92);color:#fff;font-size:14px;text-align:center;opacity:0;pointer-events:none;transition:all .2s ease;z-index:60}.m-toast.is-show{opacity:1;transform:translate(-50%)}.m-toast.is-ok{background:rgba(52,168,83,.94)}.m-tl-item{position:relative;padding:0 0 14px 16px;border-left:1px solid var(--line);margin-left:6px}.m-tl-item:last-child{border-left-color:transparent;padding-bottom:0}.m-tl-item:before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.m-tl-meta{font-size:12px;color:var(--sub);margin-bottom:2px}.m-actions{display:flex;gap:8px;flex-wrap:wrap}.m-nowrap{display:flex;align-items:center;gap:8px}.m-muted{color:var(--sub);font-size:13px}.m-chip-order{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600;vertical-align:middle}.m-chip-order.is-miss{background:rgba(142,142,147,.16);color:var(--sub)}.m-badge-carry{display:inline-block;padding:2px 7px;border-radius:6px;background:rgba(255,149,0,.14);color:#c26a00;font-size:11px;margin-right:6px}.m-person{display:inline-block;padding:2px 7px;border-radius:6px;background:rgba(52,199,89,.14);color:#1f8a3d;font-size:11px;margin-right:6px}.m-person.is-all{background:rgba(60,60,67,.1);color:var(--sub)}.m-daynav{display:flex;align-items:center;gap:6px}.m-daynav button{border:1px solid var(--line);background:#fff;color:var(--accent);width:30px;height:30px;border-radius:9px;font-size:17px;line-height:1}.m-daynav b{font-size:16px;min-width:104px;text-align:center}.m-fold{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600;padding:2px 0 10px}.m-fold .chev{color:var(--sub);font-size:14px;font-weight:400}.m-cal{background:#fff;border-radius:var(--radius);padding:12px;margin-bottom:12px}.m-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:12px;color:var(--sub);text-align:center;margin-bottom:4px}.m-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.m-cal-cell{position:relative;min-height:52px;border-radius:10px;background:#f7f7f9;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;color:var(--text);border:0;padding:4px 0 10px}.m-cal-cell.is-blank{background:transparent}.m-cal-cell.is-today{border:1.5px solid var(--accent)}.m-cal-cell.has-open{background:rgba(255,59,48,.07)}.m-cal-dot{position:absolute;bottom:4px;left:0;right:0;display:flex;justify-content:center;gap:3px}.m-cal-dot i{width:5px;height:5px;border-radius:50%;background:var(--danger)}.m-cal-dot i.ok{background:var(--ok)}.m-cal-dot i.mine{background:var(--accent)}.m-cal-num{position:absolute;top:2px;right:5px;font-size:10px;color:var(--sub)}.m-sheet-mask{position:fixed;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,.34);z-index:40}.m-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:84vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);border-radius:18px 18px 0 0;padding:6px 12px calc(20px + var(--safe-bottom));box-shadow:0 -6px 24px #0000001f;transform:translateY(100%);transition:transform .24s ease}.m-sheet.is-open{transform:translateY(0)}.m-sheet-bar{width:36px;height:4px;border-radius:2px;background:rgba(60,60,67,.24);margin:4px auto 10px}.m-kv{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}.m-kv:last-child{border-bottom:0}.m-kv span{color:var(--sub);flex:0 0 auto}.m-kv b{text-align:right;font-weight:600;word-break:break-word}.m-contact{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
