:root{--ink: #101114;--ink-2: #303237;--muted: #767a83;--muted-2: #9ba0a8;--line: #e7e8ec;--line-soft: #eef0f3;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #fafafb;--accent: #2b64f5;--accent-ink: #1c4ed8;--accent-soft: #eef3ff;--danger: #d24b4b;--danger-soft: #fdeeee;--ok: #17845f;--ok-soft: #eaf7f1;--r-xl: 18px;--r-lg: 14px;--r-md: 11px;--r-sm: 8px;--sh-1: 0 1px 2px rgba(16, 17, 20, .04), 0 10px 26px -22px rgba(16, 17, 20, .3);--sh-2: 0 1px 2px rgba(16, 17, 20, .05), 0 30px 70px -36px rgba(16, 17, 20, .4);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--topbar: 58px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14px;line-height:1.5}button{font-family:inherit}input,textarea,select{font-family:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:620;letter-spacing:-.015em}p{margin:0}ul{margin:0;padding:0;list-style:none}::selection{background:#dbe6ff}.muted{color:var(--muted)}.small{font-size:12.5px}.ok{color:var(--ok)}.total{font-weight:600}.danger{color:var(--danger)}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar);display:flex;align-items:center;gap:18px;padding:0 22px;background:#ffffffd1;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}.tb-brand{display:flex;align-items:center;gap:9px;min-width:168px}.logo-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(155deg,#1a1c22,#34373f);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.02em;box-shadow:0 6px 14px -10px #101114cc}.logo-mark.sm{width:26px;height:26px;border-radius:8px;font-size:10.5px}.brand-name{font-size:14.5px;font-weight:620;letter-spacing:-.01em}.brand-mark,.brand{display:flex;align-items:center;gap:9px}.topnav{display:flex;align-items:center;gap:2px;margin:0 auto}.nav-item{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:background .16s,color .16s}.nav-item:hover{color:var(--ink);background:#f1f2f5}.nav-item.active{color:var(--ink);background:#eceef2;font-weight:560}.tb-right{display:flex;align-items:center;gap:10px;min-width:168px;justify-content:flex-end}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:520;cursor:pointer;transition:border-color .16s,background .16s,transform .12s,box-shadow .16s}.btn:hover{border-color:#d8dae0;background:#fcfcfd}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 8px 18px -14px #101114e6}.btn.primary:hover{background:#23252b;border-color:#23252b}.btn.primary.solid{background:var(--accent);border-color:var(--accent)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:#f0f1f4;color:var(--ink)}.btn.sm,.btn.small{height:30px;padding:0 11px;font-size:12.5px}.btn.block,.btn.full{width:100%}.btn.danger,.btn.danger-btn{color:var(--danger);border-color:#f0d3d3;background:#fff}.btn.danger:hover{background:var(--danger-soft)}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .16s,color .16s}.icon-btn:hover{background:#f0f1f4;color:var(--ink)}.icon-btn.tiny{width:26px;height:26px;border-radius:7px}.icon-btn.solid{background:var(--ink);color:#fff}.icon-btn.solid:hover{background:#23252b}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.link-btn{border:0;background:none;padding:0;color:var(--accent-ink);font-size:inherit;cursor:pointer}.link-btn:disabled{color:var(--muted-2);cursor:not-allowed}.ghost-link{border:0;background:none;padding:10px 0;color:var(--muted);font-size:12.5px;cursor:pointer;text-align:left}.ghost-link:hover{color:var(--ink)}.mini-btn{height:26px;padding:0 9px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;cursor:pointer}.mini-btn:hover{color:var(--ink);border-color:#d8dae0}.content{width:100%;max-width:1560px;margin:0 auto;padding:22px 26px 64px;flex:1}.content.flush{padding:0;max-width:none}.toolbar{position:sticky;top:var(--topbar);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 26px;background:#f6f7f9db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}.tb-group{display:flex;align-items:center;gap:12px;min-width:0}.yearnav{display:flex;align-items:center;gap:2px;position:relative}.year-label{font-size:16px;font-weight:620;letter-spacing:-.02em;min-width:52px;text-align:center}.view-hint{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:9px;background:#eceef2}.seg.sm{padding:2px}.seg-item{height:27px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:12.5px;cursor:pointer;transition:background .16s,color .16s,box-shadow .16s;white-space:nowrap}.seg-item:hover{color:var(--ink)}.seg-item.active{background:#fff;color:var(--ink);font-weight:560;box-shadow:0 1px 2px #10111414}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 20px;flex-wrap:wrap}.page-head h1{font-size:22px;letter-spacing:-.03em}.page-head p{margin-top:5px;font-size:13px}.yr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}.yr-month{display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 14px 12px;box-shadow:var(--sh-1);transition:box-shadow .2s,border-color .2s}.yr-month:hover{border-color:#dcdee4;box-shadow:0 2px 4px #1011140a,0 18px 40px -32px #10111466}.yr-month.is-current{border-color:#cfd8f2;box-shadow:0 0 0 3px #2b64f50f}.yr-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.yr-name{border:0;background:none;padding:0;font-size:13.5px;font-weight:620;letter-spacing:-.01em;color:var(--ink);cursor:pointer}.yr-name:hover{color:var(--accent-ink)}.yr-meta{font-size:11px;color:var(--muted-2);font-variant-numeric:tabular-nums}.yr-meta b{color:var(--muted);font-weight:560}.yr-week{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.yr-week span{font-size:10.5px;color:var(--muted-2);text-align:center;letter-spacing:.02em}.yr-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:min-content;align-content:start;gap:2px;flex:1}.yr-day{position:relative;display:flex;flex-direction:column;gap:1px;min-width:0;min-height:44px;padding:3px 3px 4px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer;transition:background .14s}.yr-day:hover{background:#f4f5f8}.yr-day.out{opacity:.3}.yr-day.sel{background:var(--accent-soft);box-shadow:inset 0 0 0 1px #c9d8ff}.yr-day.today .yr-num{background:var(--ink);color:#fff}.yr-num{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;font-size:10.5px;font-weight:540;font-variant-numeric:tabular-nums;color:var(--ink-2);transition:background .14s,color .14s}.yr-day.is-today .yr-num{background:var(--ink);color:#fff}.yr-day[data-l="1"] .yr-num{background:#2b64f51a}.yr-day[data-l="2"] .yr-num{background:#2b64f52e}.yr-day[data-l="3"] .yr-num{background:#2b64f54d;color:#0d3ba8}.yr-day[data-l="4"] .yr-num{background:#2b64f59e;color:#fff}.yr-day.today .yr-num{background:var(--ink)!important;color:#fff!important}.yr-ev{display:block;width:calc(100% - 1px);max-width:100%;min-width:0;padding-left:6px;position:relative;font-size:9px;line-height:1.3;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yr-ev:before{content:"";position:absolute;left:0;top:4.5px;width:3px;height:3px;border-radius:50%;background:var(--accent)}.yr-ev[data-cat=meeting]:before{background:#7c5cf0}.yr-ev[data-cat=project]:before{background:#2b64f5}.yr-ev[data-cat=comm]:before{background:#0ea5a5}.yr-ev[data-cat=study]:before{background:#d98324}.yr-ev[data-cat=life]:before{background:#4f9c5f}.yr-ev[data-cat=other]:before{background:#9aa0a8}.yr-ev.done{color:var(--muted-2);text-decoration:line-through;text-decoration-thickness:1px}.yr-ev.done:before{background:#c9ccd3}.yr-ev.late{color:var(--danger)}.yr-ev.late:before{background:var(--danger)}.yr-ev.pri-high{color:var(--ink-2);font-weight:500}.yr-ev.pri-high:before{background:#e5484d;box-shadow:0 0 0 2px #e5484d24}.yr-more{font-size:8.5px;color:var(--muted-2);padding-left:6px}.yr-empty-hint{font-size:10px;color:#c3c7ce;padding-left:1px}.yr-flag{position:absolute;top:3px;right:3px;width:4px;height:4px;border-radius:50%;background:var(--danger)}.board{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-1);overflow:hidden}.board-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--surface-2)}.board-week span{padding:9px 10px;font-size:11px;color:var(--muted);letter-spacing:.04em}.board-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:134px}.cell{position:relative;min-width:0;height:134px;min-height:134px;overflow:hidden;padding:7px 7px 8px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background .14s}.cell:nth-child(7n){border-right:0}.cell:hover{background:#fbfbfc}.cell.out{background:#fcfcfd}.cell.out .cell-day{color:var(--muted-2);opacity:.6}.cell.today{background:#f7f9ff}.cell.selected{box-shadow:inset 0 0 0 1.5px var(--accent);background:#f6f9ff}.cell.selected .cell-day{background:var(--accent);color:#fff}.cell-head{display:flex;align-items:center;gap:5px;margin-bottom:5px}.cell-day{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 3px;border-radius:6px;font-size:11.5px;font-weight:560;font-variant-numeric:tabular-nums;color:var(--ink-2)}.cell.today .cell-day{background:var(--ink);color:#fff}.cell-count{margin-left:auto;font-size:10px;color:var(--muted-2);font-variant-numeric:tabular-nums}.cell-flag{font-size:9.5px;color:var(--danger);background:var(--danger-soft);padding:1px 5px;border-radius:20px}.cell-body{display:flex;flex-direction:column;gap:2px}.cell-add{position:absolute;right:5px;bottom:5px;width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--muted-2);opacity:0;cursor:pointer;transition:opacity .14s,background .14s}.cell:hover .cell-add{opacity:1}.cell-add:hover{background:#eceef2;color:var(--ink)}.chip{display:flex;align-items:flex-start;gap:4px;padding:1px 3px;border-radius:5px;min-width:0}.chip:hover{background:#f1f2f5}.chip-check{position:relative;flex:0 0 auto;width:13px;height:13px;margin-top:1px;display:grid;place-items:center;border:1px solid #cfd2d8;border-radius:4px;background:#fff;color:transparent;cursor:pointer}.chip-check svg{display:none}.chip-check:after{content:"";position:absolute;left:50%;top:50%;width:5.5px;height:2.8px;border-left:1.6px solid currentColor;border-bottom:1.6px solid currentColor;border-radius:.5px;transform:translate(-50%,-60%) rotate(-45deg)}.chip-check:hover{border-color:var(--accent)}.chip.done .chip-check{background:var(--accent);border-color:var(--accent);color:#fff}.chip-title{flex:1;min-width:0;display:block;border:0;background:none;padding:0;text-align:left;font-size:11px;line-height:1.35;color:var(--ink-2);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-title em{font-style:normal;color:var(--accent-ink);font-variant-numeric:tabular-nums;margin-right:3px;font-size:10px}.chip.done .chip-title{color:var(--muted-2);text-decoration:line-through}.chip,.chip[data-pri=high]{--pri: #e5484d;--pri-bg: #fdf9f9}.chip[data-pri=medium]{--pri: #e8973a;--pri-bg: #fefaf4}.chip[data-pri=low]{--pri: #4f9c5f;--pri-bg: #f7fbf8}.chip:not(.done){background:var(--pri-bg);box-shadow:inset 2px 0 0 var(--pri);padding-left:6px}.chip:not(.done):hover{background:var(--pri-bg);box-shadow:inset 2px 0 0 var(--pri);filter:brightness(.985)}.chip:not(.done) .chip-title{color:var(--ink-2);font-weight:500}.chip:not(.done) .chip-title em{color:var(--muted);font-weight:500}.chip:not(.done) .chip-title:before{content:"";display:inline-block;width:4px;height:4px;margin-right:4px;border-radius:50%;background:var(--pri);vertical-align:2px}.more{align-self:flex-start;border:0;background:none;padding:0 3px;font-size:10px;color:var(--muted);cursor:pointer}.more:hover{color:var(--accent-ink)}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.wcol{display:flex;flex-direction:column;min-height:380px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden}.wcol.today{border-color:#cfd8f2;box-shadow:0 0 0 3px #2b64f50f}.wcol.selected,.wcol.selected.today{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),var(--sh-1)}.wcol header{display:flex;align-items:baseline;gap:6px;padding:10px 11px;border-bottom:1px solid var(--line-soft);cursor:pointer}.wcol-week{font-size:11px;color:var(--muted)}.wcol-day{font-size:15px;font-weight:620;font-variant-numeric:tabular-nums}.wcol-meta{margin-left:auto;font-size:10.5px;color:var(--muted-2)}.wcol-body{flex:1;display:flex;flex-direction:column;gap:3px;padding:8px 7px}.wcol-body.is-empty{justify-content:center}.wcol-empty{font-size:11px;color:#c3c7ce;padding:2px 4px}.wcol-add{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;margin:0;height:26px;border:1px dashed var(--line);border-radius:7px;background:transparent;color:var(--muted-2);font-size:11.5px;line-height:1;text-align:center;cursor:pointer}.wcol-add:hover{border-color:#cfd2d8;color:var(--ink)}.dayboard{max-width:780px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:22px 24px}.dayboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}.dayboard-head h2{font-size:19px}.dayboard-head p{margin-top:5px;font-size:12.5px}.dayboard-list{display:flex;flex-direction:column;gap:2px;padding:10px 0}.row{display:flex;align-items:center;gap:11px;padding:10px 8px;border-radius:9px;cursor:pointer;transition:background .14s}.row:hover{background:var(--surface-2)}.row-check{position:relative;width:18px;height:18px;display:grid;place-items:center;border:1.5px solid #d3d6dc;border-radius:6px;background:#fff;color:transparent;cursor:pointer;transition:all .14s}.row-check svg{display:none}.row-check:after{content:"";position:absolute;left:50%;top:50%;width:7.5px;height:3.8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;border-radius:1px;transform:translate(-50%,-60%) rotate(-45deg)}.row-check:hover{border-color:var(--accent)}.row.done .row-check{background:var(--accent);border-color:var(--accent);color:#fff}.row-time{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;width:42px;flex:0 0 auto}.row-title{flex:1;font-size:13.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row.done .row-title{color:var(--muted-2);text-decoration:line-through}.row.row-pri[data-pri=high]{background:#fdfafa;box-shadow:inset 3px 0 #e5484d}.row.row-pri[data-pri=medium]{background:#fefaf4;box-shadow:inset 3px 0 #e8973a}.row.row-pri[data-pri=low]{background:#f7fbf8;box-shadow:inset 3px 0 #4f9c5f}.row.row-pri.done{background:transparent;box-shadow:none}.row.row-pri:not(.done) .row-title{color:var(--ink);font-weight:500}.row-pri-tag{flex:none;min-width:20px;padding:2px 5px;border-radius:5px;font-size:10.5px;line-height:1.35;text-align:center;background:#f1f2f5;color:var(--muted)}.row-pri-tag[data-pri=high]{background:#fdeeee;color:#b93b3f}.row-pri-tag[data-pri=medium]{background:#fdf3e6;color:#b9701e}.row-pri-tag[data-pri=low]{background:#eef7ef;color:#3f8a4f}.row-cat{font-size:10.5px;color:var(--danger)}.drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end}.drawer-wrap.is-out{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease}.drawer-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#10111452;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .2s ease}.drawer{position:relative;width:min(520px,100vw);height:100%;display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--sh-2);animation:slideIn .24s cubic-bezier(.22,.8,.3,1);border-left:1px solid var(--line)}.body-lock{overflow:hidden}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 14px}.drawer-head h2{font-size:17px;letter-spacing:-.02em}.drawer-head p{margin-top:4px;font-size:12.5px}.drawer-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0 20px 14px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.drawer-stats>div{padding:10px 12px;border-right:1px solid var(--line-soft);background:var(--surface-2)}.drawer-stats>div:last-child{border-right:0}.drawer-stats strong{display:block;font-size:17px;font-weight:620;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.drawer-stats span{font-size:11px;color:var(--muted)}.drawer-stats>div.warn strong{color:var(--danger)}.drawer>.seg{margin:0 20px 12px}.drawer-body{flex:1;overflow-y:auto;padding:0 20px 28px}.quick-add{display:flex;align-items:center;gap:8px;padding:5px 5px 5px 10px;margin-bottom:8px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);transition:border-color .16s,background .16s,box-shadow .16s}.quick-add:focus-within{border-color:#c6d2f6;background:#fff;box-shadow:0 0 0 3px #2b64f512}.quick-field{flex:1;min-width:0;display:flex;align-items:center;gap:7px;cursor:text}.quick-ic{flex:0 0 auto;color:var(--muted-2)}.quick-add input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:13.5px;height:32px;-webkit-appearance:none}.quick-add input::placeholder{color:var(--muted-2)}.quick-btn{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;background:var(--accent);color:#fff;cursor:pointer;transition:filter .16s}.quick-btn:hover:not(:disabled){filter:brightness(1.06)}.quick-btn:disabled{opacity:.5;cursor:not-allowed}.task-list{display:flex;flex-direction:column;gap:2px}.task-row{display:flex;align-items:center;gap:9px;padding:9px 6px;border-radius:9px}.task-row:hover{background:var(--surface-2)}.swipe-wrap{position:relative;overflow:hidden;border-radius:9px;background:#e5484d}.swipe-del{position:absolute;top:0;right:0;bottom:0;width:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:#e5484d;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.swipe-del:active{background:#cf3a3f}.swipe-row{position:relative;background:var(--surface);will-change:transform;touch-action:pan-y;transition:transform .22s cubic-bezier(.22,.61,.36,1)}.swipe-row.dragging{transition:none}.swipe-row .task-row:hover{background:var(--surface-2)}.pri-bar{flex:0 0 auto;width:3px;height:18px;margin-right:-3px;border-radius:3px;background:#c8ccd4}.task-row[data-pri=high] .pri-bar{background:#e5484d}.task-row[data-pri=medium] .pri-bar{background:#e8973a}.task-row[data-pri=low] .pri-bar{background:#4f9c5f}.task-row[data-pri=high]:not(.done){background:#fdfafa}.task-row[data-pri=high]:not(.done):hover{background:#fff4f4}.task-row[data-pri=high]:not(.done) .pri-bar{box-shadow:0 0 0 2px #e5484d24}.task-row[data-pri=high]:not(.done) .task-title{color:var(--ink);font-weight:500}.check{flex:0 0 auto;width:18px;height:18px;display:grid;place-items:center;border:1.5px solid #d3d6dc;border-radius:6px;background:#fff;color:transparent;cursor:pointer;transition:all .14s}.check:hover{border-color:var(--accent)}.task-row.done .check{background:var(--accent);border-color:var(--accent);color:#fff}.task-main{flex:1;min-width:0;border:0;background:none;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px}.task-title{font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row.done .task-title{color:var(--muted-2);text-decoration:line-through}.task-meta{display:flex;align-items:center;gap:7px;font-size:10.5px;color:var(--muted)}.task-meta em{font-style:normal;font-variant-numeric:tabular-nums}.task-meta i.series-tag{background:#fff4e5;color:#b26a00;font-weight:600}.task-meta i{font-style:normal;padding:1px 6px;border-radius:20px;background:#f1f2f5;color:var(--muted)}.task-meta i[data-cat=work]{background:#eef3ff;color:#2b64f5}.task-meta i[data-cat=meeting]{background:#f1edff;color:#6a4ce0}.task-meta i[data-cat=project]{background:#e9f6f6;color:#0d8f8f}.task-meta i[data-cat=comm]{background:#fff3e8;color:#b9701e}.task-meta i[data-cat=study]{background:#eef7ef;color:#3f8a4f}.task-meta i[data-cat=life]{background:#fdf0f4;color:#b5456c}.task-meta i.pri{min-width:20px;text-align:center;background:#f1f2f5;color:var(--muted)}.task-meta i.pri[data-pri=high]{background:#fdeeee;color:#b93b3f}.task-meta i.pri[data-pri=medium]{background:#fdf3e6;color:#b9701e}.task-meta i.pri[data-pri=low]{background:#eef7ef;color:#3f8a4f}.task-meta i.late{background:var(--danger-soft);color:var(--danger)}.log-list{display:flex;flex-direction:column;gap:8px}.log-item{padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.log-item p{font-size:13px;line-height:1.6;white-space:pre-wrap}.log-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:10.5px;color:var(--muted-2)}.review{display:flex;flex-direction:column;gap:12px}.review-list,.review-read{display:flex;flex-direction:column;gap:10px}.review-block{padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft)}.review-block h4{font-size:11.5px;color:var(--muted);font-weight:560;margin-bottom:5px}.review-block p{font-size:13px;line-height:1.65;white-space:pre-wrap}.review-foot{display:flex;align-items:center;gap:10px;justify-content:flex-end}.modal-wrap,.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80}.modal-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#10111457;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .18s ease}.modal{position:relative;width:min(520px,calc(100vw - 32px));max-height:calc(var(--vvh, 100vh) - 64px);margin:8vh auto 0;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-2);animation:pop .2s cubic-bezier(.22,.8,.3,1);overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px}.modal-head h3{font-size:16px}.modal-body{padding:4px 20px 8px;overflow-y:auto}.modal-foot,.modal-actions,.sheet-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px 18px}.modal-foot .danger-text{margin-right:auto;font-size:12px}.sheet{position:relative;width:min(560px,100vw);margin:0 auto;max-height:92vh;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--sh-2);animation:slideUp .24s cubic-bezier(.22,.8,.3,1);overflow:hidden}.sheet-mask{display:flex;align-items:flex-end;justify-content:center}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 10px}.sheet-head h3{font-size:16px}.sheet-body{padding:4px 20px;overflow-y:auto}.sheet-body .form{gap:12px}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;color:var(--muted);font-weight:520}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pwd-wrap{position:relative;display:block}.pwd-wrap input{padding-right:42px}.pwd-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:32px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);border-radius:8px;cursor:pointer}.pwd-eye:hover{background:var(--surface-2);color:var(--ink)}.input,.textarea,.select,.field input,.field textarea,.field select{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:13.5px;outline:none;transition:border-color .16s,box-shadow .16s}.input:focus,.textarea:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:#c1cff6;box-shadow:0 0 0 3px #2b64f514}.textarea,.field textarea{resize:vertical;min-height:84px;line-height:1.6}.plain-input,.plain{border:0;background:transparent;outline:none}.input-affix{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;transition:border-color .16s,box-shadow .16s}.input-affix:focus-within{border-color:#c1cff6;box-shadow:0 0 0 3px #2b64f514}.input-affix em{font-style:normal;font-size:13px;color:var(--muted);border-right:1px solid var(--line);padding-right:9px}.input-affix input{flex:1;border:0;outline:none;height:38px;font-size:13.5px;background:transparent}.form-tip{font-size:12px;color:var(--muted);text-align:center}.switch{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}.switch input{accent-color:var(--accent)}.switch.small{font-size:12px}.alert{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--r-sm);font-size:12.5px;line-height:1.55}.alert.error{background:var(--danger-soft);color:#a63a3a;border:1px solid #f5d7d7}.alert.ok{background:var(--ok-soft);color:#146c4e;border:1px solid #d5eee3}.alert.info{background:var(--accent-soft);color:var(--accent-ink);border:1px solid #dbe5ff}.analytics{display:flex;flex-direction:column;gap:18px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi{padding:15px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.kpi-label{display:block;font-size:11.5px;color:var(--muted)}.kpi strong{display:block;margin-top:6px;font-size:26px;font-weight:640;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.kpi-hint{display:block;margin-top:4px;font-size:11.5px;color:var(--muted-2)}.kpi.accent strong{color:var(--accent-ink)}.kpi.warn strong{color:var(--danger)}.kpi.ok strong{color:var(--ok)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:16px 18px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}.card-head h3{font-size:13.5px}.card-head span{font-size:11.5px;color:var(--muted-2)}.block{display:flex;flex-direction:column;gap:16px}.two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}.bars{display:flex;align-items:flex-end;gap:6px;padding-top:18px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.bar-stack{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center}.bar-rate{position:absolute;top:-15px;font-size:9px;color:var(--muted-2);font-variant-numeric:tabular-nums}.bar-total{position:relative;width:62%;max-width:26px;min-height:3px;border-radius:5px 5px 3px 3px;background:#eceef2;display:flex;align-items:flex-end;overflow:hidden}.bar-done{width:100%;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#4b7bf7,#2b64f5)}.bar-label{font-size:10px;color:var(--muted);white-space:nowrap}.heat{display:flex;flex-direction:column;gap:10px}.heat-grid{display:grid;grid-template-rows:repeat(7,11px);grid-auto-flow:column;grid-auto-columns:11px;gap:3px;overflow-x:auto;padding-bottom:4px}.heat-grid i{width:11px;height:11px;border-radius:2.5px;background:#edeff2}.heat-grid i.out{opacity:.35}.heat-grid i[data-level="1"]{background:#d5e2ff}.heat-grid i[data-level="2"]{background:#a9c2fb}.heat-grid i[data-level="3"]{background:#6f96f7}.heat-grid i[data-level="4"]{background:#2b64f5}.heat-legend{display:flex;align-items:center;gap:4px;justify-content:flex-end;font-size:10.5px;color:var(--muted-2)}.heat-legend i{width:10px;height:10px;border-radius:2.5px;background:#edeff2}.heat-legend i[data-level="1"]{background:#d5e2ff}.heat-legend i[data-level="2"]{background:#a9c2fb}.heat-legend i[data-level="3"]{background:#6f96f7}.heat-legend i[data-level="4"]{background:#2b64f5}.legend-inline{display:flex;gap:12px;font-size:10.5px;color:var(--muted)}.cats{display:flex;flex-direction:column;gap:10px}.cat-row{display:grid;grid-template-columns:62px 1fr 68px;align-items:center;gap:10px}.cat-name{font-size:12px;color:var(--ink-2)}.cat-track{height:6px;border-radius:4px;background:#f0f1f4;overflow:hidden}.cat-bar{height:100%;border-radius:4px;background:var(--accent)}.cat-num{font-size:11px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.cat-rate{font-size:11px;color:var(--muted-2);text-align:right}.backlog{display:flex;flex-direction:column;gap:2px}.backlog-row{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid var(--line-soft);font-size:12.5px}.backlog-row:last-child{border-bottom:0}.backlog-row .due{font-size:10.5px;color:var(--danger)}.insight,.report{padding:16px 18px;border-radius:var(--r-lg);background:linear-gradient(160deg,#fbfcff,#f6f8fd);border:1px solid #e6ecfa}.insight h3,.report h3{font-size:13px;color:var(--accent-ink);margin-bottom:8px}.insight p,.report p{font-size:13px;line-height:1.75;color:var(--ink-2)}.insight ul,.report ul{display:flex;flex-direction:column;gap:6px}.insight li,.report li{position:relative;padding-left:13px;font-size:13px;line-height:1.7;color:var(--ink-2)}.insight li:before,.report li:before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:#a9c2fb}.compare{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.compare>div{padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft)}.compare span{display:block;font-size:11px;color:var(--muted)}.compare strong{font-size:16px;font-variant-numeric:tabular-nums}.facts{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);font-size:11.5px;color:var(--muted)}.scope-tag{font-size:11px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:3px 10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft)}.stat span{font-size:11px;color:var(--muted)}.stat strong{display:block;margin-top:3px;font-size:20px;font-weight:620;font-variant-numeric:tabular-nums}.ai-page{display:flex;flex-direction:column;height:calc(100vh - var(--topbar));height:calc(var(--vvh, 100dvh) - var(--topbar));max-width:860px;margin:0 auto;padding:22px 24px 0}.app.ai-mode{height:100vh;height:var(--vvh, 100dvh);min-height:0;overflow:hidden}body:has(.app.ai-mode){overflow:hidden}.app.ai-mode>.content.flush{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app.ai-mode .ai-page{flex:1 1 auto;height:auto;min-height:0;max-height:none;justify-content:flex-start;padding-bottom:0}.app.ai-mode .ai-chat{min-height:0}.app.ai-mode .ai-top{flex:0 0 auto;min-height:0}.app.ai-mode .ai-list{flex:1 1 auto;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media (orientation: landscape) and (max-height: 780px){.app.ai-mode .ai-page{padding:10px 14px 0}.app.ai-mode .ai-top{padding:8px 14px 6px;gap:8px}.app.ai-mode .ai-welcome{max-width:620px}.app.ai-mode .ai-welcome h3{font-size:15px;margin-bottom:4px}.app.ai-mode .ai-welcome p{font-size:12px;line-height:1.5}.app.ai-mode .ai-orb{width:34px;height:34px;margin-bottom:8px}.quick-bar.floating .quick-list{gap:7px 7px;padding:0 4px}.quick-bar.floating .quick{font-size:12px;padding:7px 12px}.quick-bar.floating .quick.first{font-size:13px;padding:8px 15px}}@media (orientation: landscape) and (max-height: 620px){.app.ai-mode .ai-welcome p{display:none}.app.ai-mode .ai-welcome h3{margin-bottom:0}.quick-bar.floating .quick{font-size:11.5px;padding:6px 11px}.quick-bar.floating .quick.first{font-size:12.5px;padding:7px 13px}}.ai-head-actions{display:flex;align-items:center;gap:8px}.model-tag{font-size:11px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:20px;padding:3px 10px}.ai-chat{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--sh-1);overflow:hidden}.ai-top{flex:0 0 auto;display:flex;flex-direction:column;gap:12px;padding:16px 20px 12px;border-bottom:1px solid var(--line);background:var(--surface)}.ai-list{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.ai-welcome{margin:0 auto;text-align:center;max-width:460px;padding:2px 0 0}.ai-orb{width:44px;height:44px;margin:0 auto 14px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(155deg,#1a1c22,#3a3e47);color:#fff}.ai-welcome h3{font-size:16px;margin-bottom:8px}.ai-welcome p{font-size:13px;color:var(--muted);line-height:1.7}.suggests{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.suggest{padding:7px 12px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink-2);font-size:12.5px;cursor:pointer;transition:border-color .16s,background .16s}.suggest:hover{border-color:#c9d8ff;background:var(--accent-soft)}.msg{display:flex;gap:10px;max-width:100%}.msg.user{justify-content:flex-end}.msg-avatar{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#f0f1f4;color:var(--muted);font-size:10px;font-weight:700}.msg-body{display:flex;flex-direction:column;gap:8px;max-width:78%}.msg.user .msg-body{align-items:flex-end}.bubble{padding:10px 13px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line-soft);font-size:13.5px;line-height:1.7}.bubble p+p{margin-top:6px}.msg.user .bubble{background:var(--ink);border-color:var(--ink);color:#fff}.bubble.typing{display:flex;gap:4px;padding:13px}.bubble.typing i{width:5px;height:5px;border-radius:50%;background:#b6bac2;animation:blink 1.2s infinite}.bubble.typing i:nth-child(2){animation-delay:.2s}.bubble.typing i:nth-child(3){animation-delay:.4s}.action-card{border:1px solid #dfe7fb;border-radius:var(--r-md);background:#fbfcff;padding:12px}.action-card header{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--accent-ink);margin-bottom:8px}.action-card ul{display:flex;flex-direction:column;gap:6px}.action-card li{display:flex;gap:7px;font-size:12.5px;color:var(--ink-2);line-height:1.6}.action-card li b{flex:0 0 auto;font-weight:600;color:var(--accent-ink)}.action-card li.danger b{color:var(--danger)}.action-card li{align-items:baseline;flex-wrap:wrap}.action-card li>span{flex:1 1 auto;min-width:0;word-break:break-word}.action-card ul.scroll{max-height:min(52vh,420px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.action-card ul.plan{max-height:none;overflow:visible}.action-card ul.scroll::-webkit-scrollbar{width:4px}.action-card ul.scroll::-webkit-scrollbar-thumb{background:#d5ddf3;border-radius:4px}.action-card .act-stages{flex:1 0 100%;margin-top:4px;padding-left:34px;display:flex;flex-direction:column;gap:2px}.action-card .act-stages li{font-size:11.5px;color:var(--ink-3, #7c879c);gap:8px}.action-card .act-stages .st-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-card .act-stages .st-range{flex:0 0 auto;font-variant-numeric:tabular-nums}.act-edit-btn{flex:0 0 auto;margin-left:2px;padding:1px 7px;font-size:11px;line-height:1.5;color:var(--accent-ink);background:#fff;border:1px solid #d8e2fb;border-radius:999px;cursor:pointer}.act-edit-btn:hover{background:#eef3ff}.act-edit-btn:disabled{opacity:.5;cursor:default}.act-edit{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.act-edit-input{flex:1 1 110px;min-width:96px;width:100%;padding:4px 8px;font-size:12.5px;color:var(--ink);background:#fff;border:1px solid #b9cdf7;border-radius:8px;outline:none}.act-edit-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #3f74f01f}.act-mini{flex:0 0 auto;padding:2px 8px;font-size:11px;line-height:1.6;color:var(--ink-2);background:#fff;border:1px solid #dbe3f3;border-radius:999px;cursor:pointer}.act-mini.ok{color:#fff;background:var(--accent);border-color:var(--accent)}.act-mini:disabled{opacity:.45;cursor:default}.result-list{display:flex;flex-wrap:wrap;gap:6px}.result-list span{font-size:11px;padding:3px 9px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line-soft);color:var(--muted)}.result-list span.ok{background:var(--ok-soft);border-color:#d5eee3;color:var(--ok)}.result-list span.fail{background:var(--danger-soft);border-color:#f5d7d7;color:var(--danger)}.ai-error{flex-direction:column}.ai-guide{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.ai-guide:before{content:"";flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:#9fb4e8}.quick-bar{display:flex;align-items:center;gap:8px;padding:0;background:var(--surface)}.quick-list{flex:1;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.quick{padding:6px 11px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink-2);font-size:12px;cursor:pointer;transition:border-color .16s,background .16s,color .16s;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick:hover:not(:disabled){border-color:#c9d8ff;background:var(--accent-soft);color:var(--accent-ink)}.quick:disabled{opacity:.5;cursor:not-allowed}.quick.first{border-color:#d8e2fb;background:#f4f7ff;color:var(--accent-ink);font-weight:560}.quick-shuffle{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--line);border-radius:20px;background:var(--surface-2);color:var(--muted);font-size:12px;cursor:pointer;transition:border-color .16s,color .16s,background .16s}.quick-shuffle:hover:not(:disabled){border-color:#c9d8ff;color:var(--accent-ink);background:#fff}.quick-shuffle:disabled{opacity:.5;cursor:not-allowed}.quick-bar.floating{flex-direction:column;align-items:stretch;gap:4px;margin:0 auto;width:100%}.quick-bar.floating .quick-list{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;align-content:center;flex:0 0 auto;width:100%;min-height:0;padding:2px 6px;gap:9px 8px;overflow:visible}.quick-bar.floating .quick{position:static;transform:none;width:auto;max-width:100%;padding:8px 14px;border-radius:18px;font-size:12.5px;line-height:1.35;white-space:nowrap;overflow:visible;text-overflow:clip;box-shadow:0 1px 2px #1418220d,0 6px 16px #1418220f}.quick-bar.floating .quick.first{max-width:100%;padding:9px 18px;font-size:14px;border-color:#c9d8ff;background:#eef3ff;font-weight:600;box-shadow:0 2px 6px #2d56c824,0 10px 22px #2d56c81a}.quick-bar.floating .quick:hover:not(:disabled){z-index:3}.quick-bar.floating .quick-shuffle{align-self:center;margin-top:6px;border-radius:18px}@media (prefers-reduced-motion: reduce){.quick-bar.floating .quick{animation:none}}.ai-top+.ai-list{border-top:0}@media (max-width: 600px){.ai-top{padding:12px 14px 10px;gap:10px}.quick-bar{padding:0;gap:6px}.quick-bar:not(.stacked):not(.floating) .quick-list{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.quick-bar:not(.stacked):not(.floating) .quick-list::-webkit-scrollbar{display:none}.quick-bar:not(.stacked):not(.floating) .quick{flex:0 0 auto;font-size:11.5px;padding:5px 10px}.quick-bar.floating .quick-list{gap:8px 7px;padding:2px 2px 0}.quick-bar.floating .quick{font-size:12px;padding:7px 12px}.quick-bar.floating .quick.first{font-size:13px;padding:8px 15px}.quick-shuffle{font-size:11.5px;padding:5px 9px}}.ai-input{display:flex;align-items:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:var(--surface)}.ai-input textarea{flex:1;min-height:40px;max-height:132px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);font-size:13.5px;line-height:1.6;resize:none;outline:none;transition:border-color .16s,background .16s,box-shadow .16s}.ai-input textarea:focus{border-color:#c6d2f6;background:#fff;box-shadow:0 0 0 3px #2b64f512}.send-btn{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--r-md);background:var(--ink);color:#fff;cursor:pointer;transition:background .16s,opacity .16s}.send-btn:hover{background:#23252b}.send-btn:disabled{opacity:.35;cursor:not-allowed}.ai-input .voice-btn{width:40px;height:40px}.ai-input .file-btn{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--muted);cursor:pointer;transition:all .16s}.ai-input .file-btn:hover{color:var(--ink);border-color:#d2d6dd;background:#fff}.ai-input.dragging{background:#eef3ff;outline:2px dashed #9db4f0;outline-offset:-4px}.ai-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 0}.ai-file-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 6px 4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:11.5px;color:var(--ink);max-width:100%}.ai-file-chip .ai-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.ai-file-x{border:0;background:transparent;color:var(--muted);font-size:14px;line-height:1;cursor:pointer;padding:0 2px}.ai-file-x:hover{color:var(--danger)}.msg-files{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.msg-file-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#ffffff29;font-size:11px}.ai-input{padding-bottom:max(12px,env(safe-area-inset-bottom))}.msg-src{align-self:flex-start;font-size:10.5px;color:var(--muted-2)}.msg-src.local{color:#0d8f8f}.voice-note.live{color:var(--danger)}.voice-note span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:#fff}.auth-art{position:relative;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:56px 54px;background:radial-gradient(120% 90% at 12% 0%,#23262d,#101114 55%,#0b0c0f);color:#fff;overflow:hidden}.auth-glow{position:absolute;width:420px;height:420px;right:-140px;bottom:-160px;background:radial-gradient(circle,rgba(43,100,245,.32),transparent 65%);filter:blur(20px)}.auth-brand{display:flex;align-items:center;gap:10px;position:relative}.auth-brand .logo-mark{background:#ffffff1f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.logo-text{font-size:15px;font-weight:620;letter-spacing:-.01em}.auth-art h1{position:relative;font-size:30px;line-height:1.42;letter-spacing:-.03em;font-weight:600;color:#f6f7f9;max-width:460px}.auth-sub{position:relative;font-size:13px;color:#ffffff9e;letter-spacing:.01em}.auth-heat{position:relative;display:grid;grid-template-columns:repeat(21,1fr);gap:4px;max-width:340px;margin-top:8px}.auth-heat i{aspect-ratio:1;border-radius:2.5px;background:#ffffff14}.auth-heat i[data-l="1"]{background:#ffffff29}.auth-heat i[data-l="2"]{background:#789bff73}.auth-heat i[data-l="3"]{background:#5a87ffb3}.auth-heat i[data-l="4"]{background:#4673fff2}.auth-tiny{position:relative;font-size:11.5px;color:#fff6;max-width:340px;line-height:1.7}.auth-panel{display:grid;place-items:center;padding:40px 32px;background:#fff}.auth-card{width:100%;max-width:344px;display:flex;flex-direction:column;gap:16px}.auth-head h2{font-size:21px;letter-spacing:-.03em}.auth-head p{margin-top:6px;font-size:12.5px;color:var(--muted);line-height:1.6}.auth-card .seg{width:100%}.auth-card .seg-item{flex:1}.auth-footer{font-size:11.5px;color:var(--muted-2);text-align:center;line-height:1.7;margin-top:4px}.route-hint{font-size:11.5px;color:var(--muted-2);line-height:1.65;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:9px 11px}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-size:13px}.boot-spinner{width:22px;height:22px;border-radius:50%;border:2px solid #e3e5ea;border-top-color:var(--ink);animation:spin .7s linear infinite}.skeleton,.skeleton-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sk-card{height:220px;border-radius:var(--r-lg);background:linear-gradient(100deg,#f1f2f5 30%,#f8f9fb,#f1f2f5 70%);background-size:220% 100%;animation:shimmer 1.4s infinite}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 20px;text-align:center;color:var(--muted);font-size:13px}.empty.small{padding:20px 12px;font-size:12.5px}.empty-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted-2)}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:120;padding:9px 16px;border-radius:20px;background:#101114eb;color:#fff;font-size:12.5px;box-shadow:0 12px 28px -16px #0009;animation:rise .2s ease}.fab{display:none;position:fixed;right:18px;bottom:22px;z-index:40;width:50px;height:50px;border-radius:50%;border:0;background:var(--ink);color:#fff;box-shadow:0 14px 30px -12px #10111499;place-items:center}.user-area{position:relative}.avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink-2);font-size:11px;font-weight:600;cursor:pointer;transition:border-color .16s}.avatar:hover{border-color:#cfd2d8}.menu-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.menu{position:absolute;right:0;top:38px;z-index:50;min-width:176px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-2);animation:pop .14s ease}.menu-phone{padding:7px 10px 9px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line-soft);margin-bottom:4px}.menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:7px;background:none;color:var(--ink-2);font-size:12.5px;cursor:pointer;text-align:left}.menu button:hover{background:var(--surface-2)}.dash{display:flex;flex-direction:column;gap:16px}.dash-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.hello{font-size:22px;letter-spacing:-.03em}.dash-foot{font-size:12px;color:var(--muted-2)}.report .route-hint{margin-top:8px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:140% 0}to{background-position:-40% 0}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}@keyframes slideIn{0%{transform:translate(18px);opacity:.6}to{transform:none;opacity:1}}@keyframes slideUp{0%{transform:translateY(16px);opacity:.7}to{transform:none;opacity:1}}@keyframes rise{0%{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes blink{0%,60%,to{opacity:.3}30%{opacity:1}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width: 1280px){.yr{gap:13px}.yr-day{min-height:42px}}@media (max-width: 1080px){.content{padding:18px 18px 56px}.toolbar{padding:10px 18px}.yr{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.board{overflow-x:auto}.board-grid,.board-week{min-width:720px}.week{grid-template-columns:repeat(7,minmax(120px,1fr));overflow-x:auto}}@media (max-width: 860px){.auth{grid-template-columns:1fr}.auth-art{padding:34px 24px 30px;gap:12px;justify-content:flex-start}.auth-art h1{font-size:22px}.auth-heat{max-width:100%;grid-template-columns:repeat(15,1fr)}.auth-panel{padding:26px 20px 44px;place-items:start center}.ai-page{height:calc(100vh - var(--topbar) - 2px);height:calc(var(--vvh, 100dvh) - var(--topbar) - 2px);padding:14px 14px 0}.msg-body{max-width:86%}}@media (max-width: 720px){:root{--topbar: 54px}body{font-size:14px}.topbar{padding:0 14px;gap:10px}.tb-brand{min-width:0}.brand-name{font-size:13.5px}.topnav{order:3;position:fixed;left:0;right:0;bottom:0;margin:0;gap:0;justify-content:space-around;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:50}.nav-item{flex-direction:column;gap:3px;height:auto;padding:6px 12px;font-size:10.5px;border-radius:10px}.nav-item.active{background:var(--accent-soft);color:var(--accent-ink)}.tb-right{min-width:0;margin-left:auto}.tb-right .btn.primary{display:none}.toolbar{top:var(--topbar);padding:10px 14px;flex-wrap:wrap;gap:8px}.year-label{font-size:15px}.view-hint{display:none}.content{padding:14px 14px 96px}.fab{display:grid;bottom:76px}.yr{grid-template-columns:1fr;gap:10px}.yr-month{padding:12px 12px 10px;border-radius:var(--r-md)}.yr-day{min-height:50px}.yr-ev{font-size:9.5px}.skeleton,.skeleton-wrap{grid-template-columns:1fr}.board{border-radius:var(--r-md)}.board-grid,.board-week{min-width:620px}.board-grid{grid-auto-rows:116px}.cell{height:116px;min-height:116px}.drawer{width:100vw;border-left:0}.drawer-head,.drawer-body{padding-left:16px;padding-right:16px}.drawer-stats{margin-left:16px;margin-right:16px}.drawer>.seg{margin-left:16px;margin-right:16px}.modal{margin:4vh auto 0;width:calc(100vw - 20px)}.sheet{width:100vw;border-radius:var(--r-xl) var(--r-xl) 0 0}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:12px 13px}.kpi strong{font-size:22px}.page-head h1{font-size:19px}.stats{grid-template-columns:repeat(2,1fr)}.compare{grid-template-columns:1fr}.cat-row{grid-template-columns:56px 1fr 56px}.ai-chat{border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:0}.ai-list{padding:14px}.ai-page{padding:12px 10px 0}.suggests{gap:6px}.suggest{font-size:12px;padding:6px 10px}.auth-art{padding:30px 20px 24px}.auth-art h1{font-size:20px}.auth-heat{grid-template-columns:repeat(12,1fr)}.auth-sub,.auth-tiny{font-size:11.5px}}@media (max-width: 380px){.yr-day{min-height:46px}.kpis{grid-template-columns:1fr}}@media (min-width: 1680px){.yr-day{min-height:52px}}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.small{font-size:12px}.muted.small{color:var(--muted)}.link-btn{border:0;background:none;padding:0;color:var(--accent);font-size:12.5px;cursor:pointer}.link-btn:hover{text-decoration:underline}.danger-text{color:var(--danger)!important}.icon-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:none;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.today-btn{font-weight:560}.flash-now{animation:flashPulse 1.6s ease-out;border-radius:10px}@keyframes flashPulse{0%{box-shadow:0 0 #2b64f56b;background-color:#2b64f524}45%{box-shadow:0 0 0 6px #2b64f529;background-color:#2b64f529}to{box-shadow:0 0 #2b64f500;background-color:transparent}}.cal-root{min-height:0}.model-tag.live{color:var(--accent-ink);border-color:#d7e2fb;background:var(--accent-soft)}.ai-notice{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;padding:10px 12px;border-radius:var(--r-sm);background:#fff9ea;border:1px solid #f2e3bd;color:#7a5b12;font-size:12.5px;line-height:1.6}.suggests{display:flex;flex-direction:column;gap:8px;margin-top:18px}.suggest{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 12px;font-size:12.5px;color:var(--ink-2);text-align:left;cursor:pointer;transition:all .14s}.suggest:hover{border-color:#c9d6f7;background:#f7f9ff;color:var(--accent-ink)}.action-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.result-list{display:flex;flex-direction:column;gap:4px;font-size:12px}.result-list span.ok{color:var(--ok)}.result-list span.fail{color:var(--danger)}.voice-note{display:flex;align-items:center;gap:6px;padding:6px 16px 0;font-size:11.5px;color:var(--muted)}.voice-btn{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .16s}.voice-btn:hover:not(:disabled){color:var(--ink);border-color:#d2d6dd}.voice-btn:disabled{opacity:.45;cursor:not-allowed}.voice-btn.recording{color:#fff;background:var(--danger);border-color:var(--danger);animation:recPulse 1.4s infinite}@keyframes recPulse{0%,to{box-shadow:0 0 #c83e3e59}50%{box-shadow:0 0 0 6px #c83e3e0f}}.ai-error strong{font-size:13px}.ai-error p{font-size:12.5px;line-height:1.6}.uc{width:min(920px,94vw);max-height:88vh;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-xl);box-shadow:0 24px 60px #14182138;overflow:hidden}.uc-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line-soft)}.uc-head h2{font-size:15px}.uc-body{display:grid;grid-template-columns:240px 1fr;min-height:0;flex:1}.uc-side{border-right:1px solid var(--line-soft);padding:16px 14px;display:flex;flex-direction:column;gap:14px;background:var(--surface-2)}.uc-idcard{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.uc-avatar{position:relative;width:76px;height:76px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:600;overflow:hidden}.uc-avatar img{width:100%;height:100%;object-fit:cover}.uc-avatar-edit{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}.uc-idcard b{font-size:13.5px}.uc-tabs{display:flex;flex-direction:column;gap:2px}.uc-tabs button{border:0;background:none;text-align:left;padding:8px 10px;border-radius:8px;font-size:12.5px;color:var(--ink-2);cursor:pointer}.uc-tabs button:hover{background:#fff}.uc-tabs button.active{background:#fff;color:var(--accent-ink);box-shadow:var(--sh-1);font-weight:560}.uc-main{padding:20px 22px;overflow-y:auto}.uc-form{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.uc-release{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:13px 14px}.uc-release>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.uc-release>header strong{font-size:13px;font-weight:600}.uc-release ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0;padding:0}.uc-release li{display:flex;flex-direction:column;gap:2px}.uc-release li b{font-size:12.5px;font-weight:560}.uc-release li span{font-size:12px;line-height:1.6;color:var(--ink-2)}.uc-actions{display:flex;gap:8px;flex-wrap:wrap}.uc-h4{font-size:13px;font-weight:600;margin:6px 0 2px}.uc-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 18px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-2)}.uc-info>div{display:flex;flex-direction:column;gap:3px}.uc-info span{font-size:11.5px;color:var(--muted)}.uc-info b{font-size:12.5px;font-weight:560;word-break:break-all}.uc-info b.uc-ok{color:#0d7a52}.uc-info b.uc-warn{color:#a8600f}.uc-usage{margin-bottom:12px}.uc-uid{display:inline-flex;align-items:center;gap:6px;max-width:100%}.uc-uid-text{word-break:break-all}.uc-eye{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;border:1px solid var(--line-soft);border-radius:7px;background:var(--surface);color:var(--muted);cursor:pointer;padding:0}.uc-eye:hover{color:var(--ink);border-color:#cfd2d8}.uc-persona{margin:4px 0 2px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-2);display:flex;flex-direction:column;gap:12px}.uc-persona-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.uc-persona-head h4{margin:0;font-size:13px;font-weight:600}.uc-persona-toggle{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 9px;border:1px solid var(--line-soft);border-radius:999px;background:var(--surface);color:var(--muted);font:inherit;font-size:11.5px;line-height:1.4;cursor:pointer;transition:border-color .15s,color .15s}.uc-persona-toggle:hover{border-color:var(--line);color:var(--ink)}.uc-persona-caret{font-size:10px;line-height:1;transition:transform .16s ease}.uc-persona-caret.open{transform:rotate(180deg)}.uc-persona-body{display:flex;flex-direction:column;gap:12px}.uc-persona-body p{margin:0;line-height:1.55}.uc-persona-head h4 .uc-persona-state{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:4px;font-size:10.5px;font-weight:600;vertical-align:1px}.uc-persona-head h4 .uc-persona-state.uc-ok{background:#e8f7ef;color:#0d7a52}.uc-persona-head h4 .uc-persona-state.uc-warn{background:#fdf3e3;color:#a8600f}.uc-persona-head p{margin:0;line-height:1.55}.uc-persona-row{display:flex;flex-direction:column;gap:7px}.uc-persona-label{font-size:12.5px;font-weight:560;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.uc-persona-label i{font-style:normal;font-weight:400}.uc-chips{display:flex;flex-wrap:wrap;gap:7px}.uc-chip{height:30px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:12.5px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.uc-chip:hover{border-color:#cfd2d8}.uc-chip.active{border-color:var(--accent);background:var(--accent-soft, rgba(42, 100, 246, .08));color:var(--accent);font-weight:560}.uc-persona-input{max-width:200px}.uc-persona-tip{margin:0;line-height:1.5}.uc-usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.uc-usage-grid>div{padding:12px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface);display:flex;flex-direction:column;gap:4px}.uc-usage-grid span{font-size:11.5px;color:var(--muted)}.uc-usage-grid b{font-size:18px;font-weight:600;letter-spacing:-.02em}.uc-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-top:1px solid var(--line-soft);background:var(--surface-2)}.uc-version{font-size:11px;color:#b9bcc4;cursor:default;-webkit-user-select:none;user-select:none}.uc .intro-hint{margin-top:4px}@media (max-width: 760px){.uc{width:100vw;max-height:92vh;border-radius:var(--r-xl) var(--r-xl) 0 0}.uc-body{grid-template-columns:1fr}.uc-side{border-right:0;border-bottom:1px solid var(--line-soft);flex-direction:row;align-items:center;gap:12px;overflow-x:auto}.uc-idcard{flex-direction:row;text-align:left}.uc-avatar{width:48px;height:48px;font-size:16px}.uc-tabs{flex-direction:row}.uc-main{padding:16px}}.adm-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px;background:var(--surface);border-radius:var(--r-xl);font-size:12.5px;color:var(--muted)}.adm-gate{width:min(430px,92vw);background:var(--surface);border-radius:var(--r-xl);box-shadow:0 24px 60px #1418213d;overflow:hidden}.adm-gate header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 16px 10px}.adm-gate-brand{display:flex;gap:10px;align-items:flex-start}.adm-gate-brand h2{font-size:15px;margin-bottom:3px}.adm-gate-form{padding:4px 16px 16px;display:flex;flex-direction:column;gap:11px}.adm-gate-tip{line-height:1.6}.adm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#f6f7f9;display:flex;flex-direction:column}.adm-head{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:#14161b;color:#fff}.adm-brand{display:flex;align-items:center;gap:10px}.adm-brand strong{display:block;font-size:13.5px}.adm-brand .muted{color:#9aa0ac}.adm-head-ops{display:flex;align-items:center;gap:8px}.adm-head-ops .btn.ghost{color:#cfd3da}.adm-head-ops .btn.ghost:hover{background:#ffffff14;color:#fff}.adm-head-ops .icon-btn{color:#cfd3da}.adm-head-ops .icon-btn:hover{background:#ffffff1a;color:#fff}.adm-tabs{display:flex;gap:4px;padding:0 18px;background:#fff;border-bottom:1px solid var(--line)}.adm-tabs button{border:0;background:none;padding:11px 12px;font-size:13px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.adm-tabs button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:560}.adm-body{flex:1;overflow-y:auto;padding:18px}.adm-sec{display:flex;flex-direction:column;gap:14px;max-width:1180px;margin:0 auto}.adm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.adm-kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:14px 15px;display:flex;flex-direction:column;gap:4px}.adm-kpi>span{font-size:11.5px;color:var(--muted)}.adm-kpi>b{font-size:22px;font-weight:600;letter-spacing:-.02em}.adm-kpi>b.small{font-size:14px}.adm-kpi>em{font-style:normal;font-size:11.5px;color:var(--muted)}.adm-divider{font-style:normal;color:#c9ccd2}.adm-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.adm-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:15px}.adm-card h3{font-size:13px;font-weight:600;margin-bottom:10px}.adm-card .muted{line-height:1.65}.adm-fb{display:flex;flex-direction:column;gap:8px}.adm-fb-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.adm-fb-meta{display:inline-flex;align-items:center;gap:8px}.adm-fb-text{font-size:13px;line-height:1.72;color:var(--text);white-space:pre-wrap;word-break:break-word}.adm-fb-files{display:flex;gap:8px;flex-wrap:wrap}.adm-fb-file{height:28px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:11.5px;color:var(--text-2);cursor:pointer}.adm-fb-file:hover{border-color:var(--brand);color:var(--brand)}.adm-fb-ops{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--line-soft)}.adm-fb-ops>span:last-child{display:inline-flex;gap:8px}.adm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 16px}.adm-grid>div{display:flex;flex-direction:column;gap:3px}.adm-grid span{font-size:11.5px;color:var(--muted)}.adm-grid b{font-size:12.5px;font-weight:560;word-break:break-all}.adm-bars{display:flex;align-items:flex-end;gap:4px;height:96px;padding-top:6px}.adm-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.adm-bar i{width:100%;max-width:18px;background:linear-gradient(180deg,#4f7cf7,#2b64f5);border-radius:3px 3px 0 0;min-height:3px}.adm-bar span{font-size:9.5px;color:#b3b7bf;white-space:nowrap}.adm-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.adm-search{flex:1;min-width:180px;height:34px;padding:0 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:12.5px}.adm-toolbar select{height:34px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:12.5px;padding:0 8px}.adm-table{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.adm-tr{display:grid;grid-template-columns:1.4fr .9fr 1fr .9fr .72fr .72fr 1.3fr;gap:10px;align-items:center;padding:10px 14px;font-size:12.5px;border-bottom:1px solid var(--line-soft)}.adm-tr:last-child{border-bottom:0}.adm-th{background:var(--surface-2);font-size:11.5px;color:var(--muted);font-weight:560}.adm-user{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.adm-user em{font-style:normal;color:#b3b7bf;font-size:11px}.adm-sub{display:block;margin-top:3px;font-style:normal;font-size:11px;color:var(--muted-2);letter-spacing:0}.tag-test{font-style:normal;font-size:10px;padding:1px 5px;border-radius:4px;background:#fff4e5;color:#95610f}.tag-role{font-size:10.5px;padding:1px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent-ink)}.adm-ops{display:flex;gap:10px;flex-wrap:wrap}.adm-row-ops{display:flex;gap:6px;flex-wrap:wrap}.btn.ghost.danger{color:var(--danger);border-color:#f0d3d3}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.dot.ok{background:var(--ok)}.dot.off{background:var(--danger)}.adm-empty{padding:10px 14px}.adm-detail{width:min(620px,94vw);background:#fff;border-radius:var(--r-xl);padding:18px;box-shadow:0 24px 60px #1418213d}.adm-detail header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.adm-detail h3{font-size:14px}.adm-phone{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.adm-chip{font-style:normal;font-size:10.5px;line-height:1.5;padding:0 5px;border-radius:6px;background:#3a80ff1a;color:#2f6fe4;white-space:nowrap}.adm-ai-box{margin-top:12px;padding:12px;border:1px solid var(--line, #e8eaef);border-radius:12px;background:var(--surface-2, #fafbfc);display:grid;gap:10px}.adm-ai-head{display:flex;align-items:center;gap:6px;font-size:12.5px}.adm-ai-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.adm-ai-row label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--muted)}.adm-ai-row select,.adm-ai-row input{height:32px;border:1px solid var(--line, #e2e5ea);border-radius:8px;padding:0 8px;font-size:12.5px;background:#fff;color:inherit}.adm-ai-ops{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.adm-bio{margin:0;padding:9px 11px;border-radius:9px;background:#fff;border:1px solid var(--line, #eceef2);font-size:12.5px;line-height:1.6;white-space:pre-wrap}.adm-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:10px 0 12px}.adm-log{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.adm-log-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 8px;border-radius:6px;background:var(--surface-2);font-size:12px}.adm-log-row em{font-style:normal}.danger-zone{border-color:#f0d3d3;background:#fffbfb}.adm-inline{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.adm-inline input{flex:1;min-width:180px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:12.5px}@media (max-width: 820px){.adm-th{display:none}.adm-tr{grid-template-columns:1fr 1fr;row-gap:6px}.adm-ops{grid-column:1 / -1}.adm-body{padding:12px}}@media (max-width: 560px){.adm-tr{grid-template-columns:1fr}}.adm-persona-box{margin-bottom:12px}.adm-persona-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 12px}.adm-persona-nums div{background:var(--surface-2);border-radius:var(--r-sm);padding:8px 10px;display:flex;flex-direction:column;gap:2px}.adm-persona-nums span{font-size:11px;color:var(--muted)}.adm-persona-nums b{font-size:15px}.adm-persona-dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.adm-pdim{border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:8px 10px}.adm-pdim-t{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.adm-pdim-rows{display:flex;flex-direction:column;gap:4px}.adm-pdim-row{display:grid;grid-template-columns:1fr 68px 28px;gap:6px;align-items:center;font-size:11.5px}.adm-pdim-k{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-pdim-row i{display:block;height:6px;border-radius:3px;background:#4a6cf7;opacity:.5}.adm-pdim-row em{font-style:normal;text-align:right;color:var(--muted)}.adm-persona-cell{display:flex;align-items:center}.adm-chip.persona.ok{background:#e8f7ef;color:#0d7a52}.adm-chip.persona.off{background:#f2f3f5;color:#8a8f99}@media (max-width: 820px){.adm-persona-nums{grid-template-columns:1fr 1fr}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;overflow-y:auto;background:#fbfbfc}.intro-nav{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 22px;background:#fbfbfcdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.intro-nav-right{display:flex;align-items:center;gap:8px;font-size:13px}.intro-hero{max-width:760px;margin:0 auto;padding:74px 22px 46px;text-align:center}.intro-eyebrow{font-size:11.5px;letter-spacing:.16em;color:var(--accent);margin-bottom:18px}.intro-hero h1{font-size:clamp(28px,5.4vw,46px);font-weight:650;letter-spacing:-.03em;line-height:1.28;margin-bottom:22px}.intro-lead{font-size:14.5px;line-height:1.95;color:var(--ink-2);margin-bottom:12px}.intro-lead.strong{color:var(--ink);font-weight:560}.intro-cta{display:flex;justify-content:center;gap:10px;margin-top:26px;flex-wrap:wrap}.intro-grid{max-width:940px;margin:0 auto;padding:10px 22px 30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.intro-pillar{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px}.intro-num{font-size:11px;color:#c2c6cd;letter-spacing:.08em}.intro-pillar h3{font-size:15px;margin:8px 0 6px}.intro-pillar p{font-size:12.5px;line-height:1.7;color:var(--muted)}.intro-quote{max-width:760px;margin:24px auto;padding:30px 26px;border-radius:var(--r-xl);background:#14161b;color:#eceef2}.intro-quote p{font-size:clamp(15px,2.6vw,19px);line-height:1.85;letter-spacing:-.01em}.intro-features{max-width:940px;margin:0 auto;padding:26px 22px}.intro-features h2{font-size:17px;margin-bottom:16px}.intro-flist{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 22px}.intro-fitem{display:flex;gap:10px;align-items:flex-start}.intro-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:7px;flex:0 0 auto}.intro-fitem b{font-size:13px;font-weight:580}.intro-fitem p{font-size:12.5px;line-height:1.7;color:var(--muted);margin-top:3px}.intro-end{max-width:720px;margin:20px auto 0;padding:40px 22px;text-align:center}.intro-end h2{font-size:clamp(17px,2.8vw,22px);line-height:1.6;margin-bottom:14px;letter-spacing:-.02em}.intro-end p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:22px}.intro-foot{max-width:940px;margin:0 auto;padding:22px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}.kpi-pri{display:flex;gap:10px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line-soft);font-size:11px;color:var(--muted)}.kpi-pri span{display:inline-flex;align-items:center;gap:4px}.kpi-pri span:before{content:"";width:5px;height:5px;border-radius:50%;background:#c9ccd2}.kpi-pri span[data-pri=high]:before{background:#e0574f}.kpi-pri span[data-pri=medium]:before{background:#e0a13a}.kpi-pri span[data-pri=low]:before{background:#9aa2b1}.intro{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:40px 24px}.intro-stage{width:100%;max-width:860px;text-align:center}.intro-stage-brand{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--muted)}.intro-stage-brand .logo-mark{width:26px;height:26px;border-radius:8px;font-size:10.5px}.intro-title{margin:32px auto 0;max-width:800px;font-size:clamp(26px,4.4vw,46px);font-weight:620;line-height:1.42;letter-spacing:-.025em;color:#0f1218}.intro-sub{margin-top:22px;font-size:12.5px;letter-spacing:.24em;color:#7f8794}.intro-big{height:auto;margin-top:46px;padding:17px 48px;font-size:16.5px;font-weight:560;gap:8px;border-radius:14px;background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 14px 32px -16px #2b64f5d9}.intro-big:hover{background:#1f55e0;border-color:#1f55e0}.intro-big .icon{opacity:.9}@media (max-width: 640px){.intro{padding:32px 22px}.intro-title{font-size:26px;line-height:1.52;margin-top:26px}.intro-sub{margin-top:18px;font-size:11px;letter-spacing:.16em}.intro-big{margin-top:36px;padding:16px 30px;font-size:15.5px;width:100%;max-width:300px}}@media (max-height: 640px){.intro-title{font-size:24px;margin-top:18px}.intro-big{margin-top:24px}.intro-sub{margin-top:14px}}.quick-box{position:sticky;top:0;z-index:3;padding-top:4px;padding-bottom:6px;margin-bottom:6px;background:linear-gradient(var(--surface) 82%,rgba(255,255,255,0))}.quick-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 2px 0;font-size:11.5px}.quick-add input{min-width:0}.quick-add input:focus{outline:none}@media (max-width: 720px){.drawer{height:100dvh}.drawer-head{padding:14px 16px 10px}.drawer-stats{margin:0 16px 10px}.drawer>.seg{margin:0 16px 10px}.drawer-body{padding:0 16px calc(24px + env(safe-area-inset-bottom))}.quick-box{padding-bottom:8px}}.kb-open .drawer-wrap,.kb-open .modal-wrap{height:var(--vvh, 100%)}.kb-open .modal{margin-top:2vh;max-height:calc(var(--vvh, 100vh) - 16px)}@supports (height: 100dvh){.drawer-wrap,.modal-wrap{height:100dvh}}@media (display-mode: standalone){.topbar{padding-top:env(safe-area-inset-top)}.bottom-nav,.fab{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 760px){input,textarea,select,.input,.quick-add input,.quick-add textarea,.ai-input textarea,.field input,.field textarea{font-size:16px!important}.ai-input{padding:10px 12px}.ai-input textarea{min-height:44px;padding:11px 12px;line-height:1.5}.ai-input .voice-btn,.ai-input .send-btn{width:44px;height:44px}.quick-add{padding:4px 4px 4px 10px}.quick-add input{height:40px}.quick-btn{width:38px;height:38px;border-radius:10px}.drawer{width:100vw;max-width:100vw;border-left:0}.drawer-body{padding:0 14px calc(28px + env(safe-area-inset-bottom))}.drawer-head{padding:16px 14px 12px}.drawer-stats{margin:0 14px 12px}.drawer>.seg{margin:0 14px 12px}.task-row{padding:11px 6px}.check{width:22px;height:22px;border-radius:7px}.task-title{font-size:14.5px}.task-meta{font-size:11.5px;flex-wrap:wrap;row-gap:4px}.pri-bar{height:20px}.modal{width:100vw;max-width:100vw;margin-top:auto;border-radius:16px 16px 0 0}.modal-body{padding:4px 14px 8px}.modal-head{padding:14px 14px 10px}.modal-foot,.modal-actions{padding:12px 14px calc(14px + env(safe-area-inset-bottom))}.toolbar .seg.sm .seg-item{padding:6px 11px;font-size:12.5px;min-height:32px}.msg-body{max-width:84%}}.sheet-mask.uc-mask{align-items:center;justify-content:center;padding:clamp(12px,3vh,32px) 14px}.sheet-mask.uc-mask .uc{width:min(920px,calc(100vw - 28px));max-height:min(88vh,780px);border-radius:var(--r-xl)}@supports (height: 100dvh){.sheet-mask.uc-mask .uc{max-height:min(88dvh,780px)}}@media (max-width: 760px){.sheet-mask.uc-mask{align-items:center;padding:14px 12px calc(14px + env(safe-area-inset-bottom))}.sheet-mask.uc-mask .uc{width:100%;max-height:80vh;border-radius:var(--r-xl)}.sheet-mask.uc-mask .uc .uc-body{grid-template-columns:1fr;overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-mask.uc-mask .uc .uc-main{padding:14px 14px calc(20px + env(safe-area-inset-bottom))}.sheet-mask.uc-mask .uc .uc-side{border-right:none;border-bottom:1px solid var(--line-soft)}}@supports (height: 100dvh){@media (max-width: 760px){.sheet-mask.uc-mask .uc{max-height:80dvh}}}.year-label.pickable{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:inherit;cursor:pointer;padding:3px 6px;border-radius:8px;font:inherit}.year-label.pickable:hover,.year-label.pickable.open{background:var(--surface-2, #f1f2f5)}.datepicker{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:252px;padding:10px;background:#fff;border:1px solid var(--line, #e6e8ee);border-radius:14px;box-shadow:0 18px 40px #14182129;animation:dp-in .12s ease-out}@keyframes dp-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dp-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}.dp-head b{font-size:13px;font-weight:620}.dp-week{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.dp-week span{text-align:center;font-size:10.5px;color:var(--muted, #8a93a3);padding:3px 0}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;touch-action:pan-y}.dp-day{height:30px;border:0;background:transparent;border-radius:8px;font-size:12px;color:var(--ink, #1e2129);cursor:pointer;font-variant-numeric:tabular-nums}.dp-day:hover{background:var(--surface-2, #f1f2f5)}.dp-day.out{color:var(--muted-2, #b8bec9)}.dp-day.today{box-shadow:inset 0 0 0 1px var(--accent, #2f6bff)}.dp-day.selected{background:var(--accent, #2f6bff);color:#fff}.dp-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft, #f0f1f4)}.adm-chip.member{background:#0e9f8a1f;color:#0e8a78}.adm-chip.member.month{background:#2f6fe421;color:#2f5fd0}.adm-chip.member.year{background:#0e9f8a24;color:#0b7f6c}.adm-chip.member.long{background:#7a50d624;color:#6640c2}.adm-chip.member.lifetime{background:linear-gradient(180deg,#dea82c3d,#dea82c24);color:#8a5c04;box-shadow:inset 0 0 0 1px #c8941e59;font-weight:600}.adm-chip.member.trial{background:#e6911426;color:#a56404}.adm-chip.member.off{background:#8a93a324;color:#8a93a3}.adm-chip.member.warn{background:#e6911429;color:#a56404;font-weight:600}.adm-member-box{background:linear-gradient(180deg,#fbfcfe,#fff)}.adm-persona-nums b.c-member-on{color:#0b7f6c}.adm-member-plans{display:flex;flex-wrap:wrap;gap:6px}.adm-mplan{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:8px;font-size:11.5px;font-family:inherit;background:#f4f6f9;color:#5a6373;border:1px solid #eceff4;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.adm-mplan:hover{transform:translateY(-1px);box-shadow:0 4px 10px #14182114}.adm-mplan.on{box-shadow:inset 0 0 0 1.5px currentColor;font-weight:600}.adm-mplan i{width:7px;height:7px;border-radius:50%;background:#b8bec9}.adm-mplan b{font-size:12px;font-weight:700;color:#1e2129;font-variant-numeric:tabular-nums}.adm-mplan.zero{opacity:.45}.adm-mplan.c-all{background:#262c3a14;border-color:#262c3a2e;color:#2b3242}.adm-mplan.c-all i{background:#2b3242}.adm-mplan.c-month{background:#2f6fe417;border-color:#2f6fe433;color:#2f5fd0}.adm-mplan.c-month i{background:#2f6fe4}.adm-mplan.c-year{background:#0e9f8a1a;border-color:#0e9f8a38;color:#0b7f6c}.adm-mplan.c-year i{background:#0e9f8a}.adm-mplan.c-long{background:#7a50d61a;border-color:#7a50d638;color:#6640c2}.adm-mplan.c-long i{background:#7a50d6}.adm-mplan.c-lifetime{background:#dea82c29;border-color:#c8941e4d;color:#8a5c04}.adm-mplan.c-lifetime i{background:#d8a02c}.adm-mplan.c-trial{background:#e691141a;border-color:#e691143d;color:#a56404}.adm-mplan.c-trial i{background:#e69114}.adm-mplan.c-off{background:#8a93a31f;border-color:#8a93a33d;color:#6c7484}.adm-mplan.c-off i{background:#98a0ae}.adm-plan-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:8px 12px;border-radius:10px;border:1px solid rgba(47,111,228,.22);background:#2f6fe40f;font-size:12.5px}.adm-plan-filter b{color:#2f5fd0}.adm-expire-box{margin-bottom:12px;border-color:#e6911459;background:linear-gradient(180deg,#fff9ef,#fff)}.adm-expire-list{display:flex;flex-wrap:wrap;gap:8px}.adm-expire-item{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:7px 11px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left}.adm-expire-item b{font-size:12.5px}.adm-expire-item span{font-size:11px;color:var(--muted)}.adm-expire-item.warn{border-color:#e6911473;background:#fff7ea}.adm-expire-item.warn span{color:#a56404}.adm-expire-item.danger{border-color:#d24b4b73;background:#fdeeee}.adm-expire-item.danger span{color:#b53a3a}.adm-expire-item:hover{transform:translateY(-1px)}.adm-fb-thumb{display:flex;flex-direction:column;gap:4px;padding:0;width:132px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);cursor:zoom-in;text-align:left}.adm-fb-thumb img,.adm-fb-thumb video{width:132px;height:88px;object-fit:cover;display:block;background:#0f1115}.adm-fb-thumb span{font-size:11px;color:var(--muted);padding:0 6px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-fb-thumb.video{cursor:pointer;position:relative}.adm-fb-thumb.video span{color:var(--accent-ink, #2f6bff);font-weight:600}.adm-fb-thumb:hover{border-color:var(--accent, #2f6bff)}.adm-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0a0c10b8;display:flex;align-items:center;justify-content:center;padding:24px 14px}.adm-lightbox-inner{max-width:min(1080px,96vw);max-height:92vh;width:max-content;display:flex;flex-direction:column;gap:10px;background:var(--surface);border-radius:14px;padding:12px;overflow:hidden}.adm-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.adm-lightbox-head b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.adm-lightbox-head span{display:flex;gap:8px}.adm-lightbox-media{max-width:min(1040px,92vw);max-height:78vh;object-fit:contain;border-radius:10px;background:#0f1115}.field em{font-style:normal;font-size:11px;line-height:1.5;color:var(--muted, #8a93a3)}.adm-detail{max-height:88vh;overflow-y:auto}.sheet-mask.adm-mask{align-items:center;justify-content:center;padding:clamp(14px,4vh,40px) 14px}.sheet-mask.adm-mask .adm-detail{width:min(680px,calc(100vw - 28px));max-height:min(86vh,820px);overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-width: 640px){.sheet-mask.adm-mask{align-items:center;padding:12px 10px calc(12px + env(safe-area-inset-bottom))}.sheet-mask.adm-mask .adm-detail{width:100%;max-height:84dvh;border-radius:var(--r-xl)}}.input-static{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--r-md, 12px);background:#00000009;color:var(--ink-2, #5b5b66);font-size:14px;font-weight:500}.wcol{cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}@media (hover: hover) and (pointer: fine){.wcol:hover{background:#00000005}.wcol-add:hover{color:var(--brand, #3f6bff)}}.kpis{grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}.boost{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.boost-streak{flex:1 1 220px;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-1)}.boost-streak[data-on="1"]{border-color:#f6d9c4;background:linear-gradient(135deg,#fff8f2,#fffdfb 70%)}.boost-fire{font-size:20px;line-height:1;filter:grayscale(1);opacity:.45}.boost-streak[data-on="1"] .boost-fire{filter:none;opacity:1}.boost-streak-main{display:flex;flex-direction:column;gap:3px;min-width:0}.boost-streak-main strong{font-size:14.5px;font-weight:640;letter-spacing:-.01em}.boost-sub{font-size:11.5px;color:var(--muted)}.boost-three{flex:1 1 320px;padding:11px 14px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-1)}.boost-three-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:600;margin-bottom:6px}.boost-three-head em{font-style:normal;font-weight:400;font-size:11.5px}.boost-three-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.boost-three-list li{display:flex;align-items:center;gap:6px}.boost-three-list li+li{border-top:1px dashed var(--line-soft)}.boost-check{flex:none;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;border:1.4px solid var(--line);background:var(--surface);color:transparent;cursor:pointer;padding:0}.boost-three-list li.done .boost-check{background:var(--ok);border-color:var(--ok);color:#fff}.boost-item{flex:1;min-width:0;display:flex;align-items:center;gap:7px;padding:5px 0;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}.boost-item i{flex:none;width:15px;height:15px;display:grid;place-items:center;border-radius:4px;background:var(--surface-2);border:1px solid var(--line-soft);font-size:10px;font-style:normal;color:var(--muted)}.boost-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.boost-three-list li.done .boost-item-title{color:var(--muted-2);text-decoration:line-through}.boost-three-list li[data-pri=high]:not(.done) .boost-item-title{color:var(--ink);font-weight:500}.boost-three-list li[data-pri=high]:not(.done) .boost-item-title:before{content:"";display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;background:#e5484d;vertical-align:1.5px}.boost-item-time{flex:none;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.boost-rest{font-size:11.5px;color:var(--muted-2);padding:4px 0 0 23px}.boost-add{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;border:1px dashed var(--line);background:var(--surface-2);color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.ratetrend{display:flex;align-items:flex-end;gap:4px;padding-top:6px}.rt-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;height:100%}.rt-val{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;height:13px}.rt-track{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:5px;background:var(--surface-2);border:1px solid var(--line-soft);overflow:hidden}.rt-track i{display:block;width:62%;border-radius:4px 4px 0 0;background:var(--accent)}.rt-track i[data-lv="1"]{background:#c8d7fb}.rt-track i[data-lv="2"]{background:#7a9cf7}.rt-track i[data-lv="3"]{background:var(--accent-ink)}.rt-label{font-size:10.5px;color:var(--muted-2);height:13px}.catcmp{display:flex;flex-direction:column}.catcmp-head,.catcmp-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:8px;align-items:center;padding:7px 0;font-size:12.5px}.catcmp-head{color:var(--muted);font-size:11.5px;border-bottom:1px solid var(--line-soft)}.catcmp-row+.catcmp-row{border-top:1px dashed var(--line-soft)}.catcmp-name{display:inline-flex;align-items:center;gap:6px}.catcmp-name i{width:7px;height:7px;border-radius:50%;display:inline-block}.catcmp-row em{font-style:normal}.catcmp-row .up{color:var(--ok)}.catcmp-row .down{color:var(--danger)}.cmp-note{margin:-4px 0 12px;line-height:1.55}@media (max-width: 720px){.boost{flex-direction:column}.boost-item-title{font-size:12.5px}.catcmp-head,.catcmp-row{grid-template-columns:1fr .9fr .9fr .9fr;font-size:11.5px;gap:5px}.ratetrend{gap:2px}.rt-label{font-size:9.5px}}.bottle-entry{display:flex;align-items:center;gap:12px;width:100%;margin:10px 0 14px;padding:14px 16px;text-align:left;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(135deg,#eef3ff,#fff 62%);box-shadow:var(--sh-1);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.bottle-entry:hover{transform:translateY(-1px);box-shadow:var(--sh-2)}.bottle-entry-icon{font-size:24px;line-height:1}.bottle-entry-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.bottle-entry-text strong{font-size:14px;color:var(--ink)}.bottle-entry-text em{font-style:normal;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottle-entry-go{font-size:12px;color:var(--accent);flex:none}.bottle-entry.is-soon{cursor:default;background:var(--surface-2);border-style:dashed;box-shadow:none;opacity:.72}.bottle-entry.is-soon:hover{transform:none;box-shadow:none}.bottle-entry.is-soon .bottle-entry-icon{filter:grayscale(.55)}.bottle-entry.is-soon .bottle-entry-go{padding:3px 9px;border-radius:999px;background:#eceef2;color:var(--muted);font-size:11.5px;letter-spacing:.02em}.bottle{display:flex;flex-direction:column;gap:12px;padding:0 0 24px}.bottle-hero{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bottle-act{display:flex;flex-direction:column;gap:4px;padding:16px 14px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;box-shadow:var(--sh-1);transition:transform .16s ease,box-shadow .16s ease}.bottle-act:hover{transform:translateY(-1px);box-shadow:var(--sh-2)}.bottle-act strong{font-size:15px}.bottle-act span{font-size:12px;color:var(--muted)}.bottle-act.throw{background:linear-gradient(150deg,#eaf1ff,#fff);border-color:#dbe6ff}.bottle-act.pick{background:linear-gradient(150deg,#eaf7f1,#fff);border-color:#d8eee4}.bottle-act:disabled{opacity:.6;cursor:default;transform:none}.bottle-period{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seg.sm.wrap{flex-wrap:wrap}.bottle-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line)}.bottle-tab{padding:8px 4px;margin-right:12px;border:0;background:transparent;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer}.bottle-tab.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.bottle-list{display:flex;flex-direction:column;gap:8px}.bottle-item{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1)}.bottle-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;border:0;background:transparent;text-align:left;cursor:pointer;padding:0}.bottle-item-top{display:flex;gap:6px;flex-wrap:wrap}.bottle-item-main strong{font-size:14px}.bottle-chip{font-style:normal;font-size:11px;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);flex:none}.bottle-chip.ghost{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.bottle-chip.warn{background:var(--danger-soft);color:var(--danger)}.bottle-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bottle-preview>div,.bottle-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;background:var(--surface-2);border-radius:var(--r-md)}.bottle-preview strong,.bottle-stat strong{font-size:17px;font-variant-numeric:tabular-nums}.bottle-preview span,.bottle-stat span{font-size:11px;color:var(--muted)}.bottle-cats{display:flex;flex-wrap:wrap;gap:6px}.bottle-intro{margin:0;padding:12px 14px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:var(--r-md);font-size:14px;line-height:1.6}.bottle-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bottle-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px}.bottle-cal-wd{text-align:center;font-size:11px;color:var(--muted-2);padding:2px 0}.bottle-cal-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:38px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface);padding:2px;cursor:pointer}.bottle-cal-cell em{font-style:normal;font-size:12px;color:var(--ink-2)}.bottle-cal-cell i{font-style:normal;font-size:9px;color:var(--muted-2)}.bottle-cal-cell.has{border-color:#dbe6ff;background:#f5f8ff}.bottle-cal-cell.full{border-color:#cfe9dd;background:var(--ok-soft)}.bottle-cal-cell.full i{color:var(--ok)}.bottle-cal-cell.active{outline:2px solid var(--accent);outline-offset:-1px}.bottle-cal-cell.empty{border:0;background:transparent;cursor:default}.bottle-cal-cell:disabled{cursor:default;opacity:.55}.bottle-titles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bottle-titles li{display:flex;align-items:center;gap:8px;font-size:13px;padding:7px 10px;background:var(--surface-2);border-radius:var(--r-sm)}.bottle-titles li .bottle-chip{margin-left:auto}.bottle-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--muted-2)}.bottle-dot.ok{background:var(--ok)}.bottle-dot.todo{background:#d9ad4a}.bottle-detail-toggle{font-size:12px;color:var(--muted)}.bottle-detail-toggle summary{cursor:pointer;padding:4px 0}.stack{display:flex;flex-direction:column;gap:12px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.row-actions>.btn:first-child:not(:last-child){margin-right:auto}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip-btn{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;color:var(--ink-2);cursor:pointer}.chip-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.check-line{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--ink-2);line-height:1.5;cursor:pointer}.check-line input{margin-top:2px;flex:none}.alert.warn{background:#fff8e8;color:#8a5a00;border:1px solid #f2e0b6}.bottle .modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{width:min(420px,100%);display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--sh-2)}.btn.ghost.sm,.btn.sm{font-size:12px}@media (max-width: 560px){.bottle-hero{grid-template-columns:1fr}.bottle-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.bottle-entry-text em{white-space:normal}}.bd-hero{position:relative;overflow:hidden;border-radius:20px;padding:18px 18px 16px;color:#edf4ff;background:radial-gradient(130% 120% at 8% -20%,#2f6ea8,#2f6ea800 55%),radial-gradient(120% 110% at 100% 0%,#23507d,#23507d00 60%),linear-gradient(160deg,#1b3b5f,#122943 55%,#0d1e34);box-shadow:0 14px 34px #0d1e3442}.bd-hero-glow{position:absolute;border-radius:50%;filter:blur(22px);pointer-events:none;opacity:.5}.bd-hero-glow.a{width:180px;height:180px;left:-60px;top:-80px;background:#65bbff8c;animation:bdFloat 9s ease-in-out infinite}.bd-hero-glow.b{width:150px;height:150px;right:-50px;bottom:-70px;background:#40d6be61;animation:bdFloat 11s ease-in-out infinite reverse}@keyframes bdFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(10px,12px,0) scale(1.08)}}.bd-hero-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px}.bd-hero-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.bd-tag{font-size:11px;letter-spacing:.04em;padding:3px 9px;border-radius:20px;color:#d8ecff;background:#ffffff1f;border:1px solid rgba(255,255,255,.16)}.bd-span{font-size:10.5px;color:#e2f0ff9e;font-variant-numeric:tabular-nums}.bd-quote{margin:2px 0 0;font-size:16px;line-height:1.55;font-weight:500;color:#f4f9ff;text-shadow:0 1px 12px rgba(4,16,30,.4)}.bd-by{margin:0;font-size:11px;color:#dcecff99}.bd-score{display:flex;align-items:center;gap:12px;margin-top:6px;padding:12px;border-radius:14px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bd-ring{position:relative;width:80px;height:80px;flex:none}.bd-ring svg{display:block}.bd-ring-track{fill:none;stroke:#ffffff24;stroke-width:7}.bd-ring-val{fill:none;stroke:#7fd8ff;stroke-width:7;filter:drop-shadow(0 0 6px rgba(127,216,255,.55));transition:stroke-dasharray .6s ease}.bd-ring-txt{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:baseline;justify-content:center;gap:1px}.bd-ring-txt strong{font-size:20px;font-weight:600;color:#eaf6ff;font-variant-numeric:tabular-nums}.bd-ring-txt span{font-size:10px;color:#dcf0ffb3}.bd-score-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.bd-score-text strong{font-size:18px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}.bd-score-text span{font-size:11px;color:#dceeffa8}.bd-score-side{display:flex;gap:14px}.bd-score-side>div{display:flex;flex-direction:column;align-items:center;gap:2px}.bd-score-side b{font-size:15px;color:#eaf6ff;font-variant-numeric:tabular-nums}.bd-score-side span{font-size:10px;color:#d6eaff99}.bd-cats{display:flex;flex-direction:column;gap:7px;margin-top:2px}.bd-cats-bar{display:flex;height:6px;border-radius:6px;overflow:hidden;background:#ffffff1a;gap:2px}.bd-cats-bar i{display:block;height:100%;border-radius:6px;opacity:.92}.bd-cats-legend{display:flex;flex-wrap:wrap;gap:4px 12px}.bd-cats-legend span{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:#dbecffb8}.bd-cats-legend i{width:6px;height:6px;border-radius:2px}.bd-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.bd-sec-head h3{margin:0}.bs{display:flex;flex-direction:column;gap:12px}.bs-top{display:flex;flex-direction:column;gap:6px}.bs-top-text{display:flex;flex-direction:column;gap:2px}.bs-top-text strong{font-size:13px;color:var(--ink)}.bs-top-text span{font-size:11px;color:var(--muted)}.bs-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:10.5px;color:var(--muted)}.bs-legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:2px;border:1px solid transparent}.bs-cell.lv0,.bs-legend i.lv0{background:#f4f6fa;border-color:#edf0f5}.bs-cell.lv1,.bs-legend i.lv1{background:#eaf2fc;border-color:#d7e7f8}.bs-cell.lv2,.bs-legend i.lv2{background:#a6d4f2;border-color:#8ec7ec}.bs-cell.lv3,.bs-legend i.lv3{background:#2f8fd0;border-color:#2a82bf}.bs-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px}.bs-month{display:flex;flex-direction:column;gap:6px}.bs-month-head{display:flex;align-items:baseline;justify-content:space-between}.bs-month-head strong{font-size:12px;color:var(--ink-2);font-weight:600}.bs-month-head span{font-size:10px;color:var(--muted-2);font-variant-numeric:tabular-nums}.bs-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.bs-wd{text-align:center;font-size:9px;color:var(--muted-2);padding-bottom:1px}.bs-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:26px;border:1px solid transparent;border-radius:6px;padding:0;cursor:pointer;transition:transform .12s,box-shadow .12s}.bs-cell.dense{height:19px;border-radius:4px}.bs-cell.blank{background:transparent;cursor:default}.bs-cell-day{font-size:9.5px;color:var(--ink-2);line-height:1;font-variant-numeric:tabular-nums}.bs-cell.dense .bs-cell-day{font-size:8px}.bs-cell.lv2 .bs-cell-day{color:#1b5c86}.bs-cell.lv3 .bs-cell-day{color:#fff;font-weight:600}.bs-cell-pips{display:flex;gap:1.5px;height:3px;align-items:center}.bs-cell-pips i{width:2.5px;height:2.5px;border-radius:50%;background:#c6d4e4}.bs-cell-pips i.on{background:#2f8fd0}.bs-cell.lv3 .bs-cell-pips i.on{background:#ffffffe6}.bs-cell:hover{transform:translateY(-1px);box-shadow:0 3px 8px #143c6424}.bs-cell.active{outline:2px solid var(--accent);outline-offset:-1px;box-shadow:0 0 0 3px #2b64f51f}.bs-cell .bs-cell-fill{position:absolute;left:1px;right:1px;bottom:1px;border-radius:0 0 3px 3px;background:linear-gradient(180deg,#2f8fd047,#2f8fd080);pointer-events:none}.bs-cell.lv3 .bs-cell-fill{background:linear-gradient(180deg,#ffffff47,#ffffff80)}.bs-cell.dense .bs-cell-day{position:relative;z-index:1}.bs-cell.dense.lv3 .bs-cell-day{color:#fff}.bs-months.year{padding:12px;border-radius:14px;background:linear-gradient(180deg,#f7fbff,#eef6fd 60%,#e9f3fc);border:1px solid #e6eefa;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px 10px}.bs-months.year .bs-month{gap:4px}.bs-months.year .bs-grid{gap:2px}.bs-months.year .bs-cell{height:17px}.bs-months.year .bs-wd{font-size:8.5px}.bs-months.year .bs-month-head strong{font-size:11.5px;letter-spacing:.2px}.bs-months.year .bs-month-head span em{margin-left:5px;font-style:normal;font-size:9.5px;color:#2f8fd0;font-weight:600}.bs-months.year .bs-cell{box-shadow:inset 0 0 0 1px #ffffff80}.bs-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.bs-week-col{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 2px 7px;border-radius:12px;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:all .14s}.bs-week-col.lv1{background:#f4f9ff;border-color:#e1edfa}.bs-week-col.lv2{background:#e8f3fd;border-color:#cfe5f8}.bs-week-col.lv3{background:#dcefff;border-color:#b9ddf6}.bs-week-col.active{outline:2px solid var(--accent);outline-offset:-1px}.bs-week-wd{font-size:10px;color:var(--muted)}.bs-week-bar{width:8px;height:54px;border-radius:6px;background:#eef2f8;display:flex;align-items:flex-end;overflow:hidden}.bs-week-bar b{display:block;width:100%;border-radius:6px;background:linear-gradient(180deg,#6fc0ee,#2f8fd0);transition:height .4s ease}.bs-week-day{font-size:12px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.bs-week-num{font-size:9.5px;color:var(--muted-2);font-variant-numeric:tabular-nums}.bs-trend{display:flex;flex-direction:column;gap:6px;margin-top:2px}.bs-trend span{display:grid;grid-template-columns:42px 1fr 38px;align-items:center;gap:8px}.bs-trend em{font-style:normal;font-size:10.5px;color:var(--muted)}.bs-trend span>b{height:5px;border-radius:4px;background:linear-gradient(90deg,#9fd6f5,#2f8fd0)}.bs-trend i{font-style:normal;font-size:10px;color:var(--muted-2);text-align:right;font-variant-numeric:tabular-nums}.bd-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px 16px}.bd-month{display:grid;grid-template-columns:38px 1fr 52px;align-items:center;gap:9px}.bd-month-label{font-size:11px;color:var(--ink-2);font-weight:500}.bd-month-label em{display:block;font-style:normal;font-size:9.5px;color:var(--muted-2);font-weight:400}.bd-month-bar{position:relative;height:9px;border-radius:6px;background:#eef2f8;overflow:hidden}.bd-month-bar b{position:absolute;inset:0 auto 0 0;background:#dbe8f6;border-radius:6px}.bd-month-bar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#7fc7ef,#2f8fd0);border-radius:6px}.bd-month-num{font-size:10.5px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.bd-month-num em{font-style:normal;font-size:9.5px;color:var(--muted-2)}.bd-titles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.bd-titles li{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:12.5px;color:var(--ink-2)}.bd-titles li.done{background:#fbfdfc}.bd-titles li.done .bd-title{color:var(--muted-2);text-decoration:line-through}.bd-titles li .bd-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-time{font-size:10.5px;color:var(--muted-2);font-variant-numeric:tabular-nums}.bd-cat{font-size:9.5px;padding:1px 6px;border-radius:20px;background:#f1f2f5;color:var(--muted);flex:none}.bd-cat[data-cat=work]{background:#eef3ff;color:#2b64f5}.bd-cat[data-cat=meeting]{background:#f1edff;color:#6a4ce0}.bd-cat[data-cat=project]{background:#e9f6f6;color:#0d8f8f}.bd-cat[data-cat=comm]{background:#fff3e8;color:#b9701e}.bd-cat[data-cat=study]{background:#eef7ef;color:#3f8a4f}.bd-cat[data-cat=life]{background:#fdf0f4;color:#b5456c}.bd-pri{font-size:9.5px;padding:1px 6px;border-radius:20px;background:#fdeeee;color:#b93b3f;flex:none}.bd-pri-quiet{font-size:9.5px;color:var(--muted-2);flex:none}@media (max-width: 420px){.bd-hero{padding:15px 14px 14px;border-radius:18px}.bd-quote{font-size:15px}.bd-score{gap:10px;padding:10px}.bd-ring,.bd-ring svg{width:68px;height:68px}.bs-months{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.bs-week-bar{height:46px}.bd-months{grid-template-columns:1fr}}.wcol-none{display:block;margin:auto;font-size:11.5px;line-height:1;color:#c3c7ce;-webkit-user-select:none;user-select:none;pointer-events:none}.task-title-btn{display:block;width:100%;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.pill-meta{font-style:normal;font-size:10.5px;line-height:1;padding:2px 7px;border:0;border-radius:20px;background:#f1f2f5;color:var(--muted);cursor:pointer}.pill-meta:active{transform:scale(.96)}.pill-meta.cat[data-cat=work]{background:#eef3ff;color:#2b64f5}.pill-meta.cat[data-cat=meeting]{background:#f1edff;color:#6a4ce0}.pill-meta.cat[data-cat=project]{background:#e9f6f6;color:#0d8f8f}.pill-meta.cat[data-cat=comm]{background:#fff3e8;color:#b9701e}.pill-meta.cat[data-cat=study]{background:#eef7ef;color:#3f8a4f}.pill-meta.cat[data-cat=life]{background:#fdf0f4;color:#b5456c}.pill-meta.pri{min-width:22px;text-align:center}.pill-meta.pri[data-pri=high]{background:#fdeeee;color:#b93b3f}.pill-meta.pri[data-pri=medium]{background:#fdf3e6;color:#b9701e}.pill-meta.pri[data-pri=low]{background:#eef7ef;color:#3f8a4f}.row-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding:6px 7px;background:#f7f8fa;border:1px solid var(--line-soft);border-radius:10px}.pk-item{padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:11.5px;line-height:1.4;cursor:pointer}.pk-item.active{font-weight:620}.pk-item[data-pri=high].active{border-color:#e5484d;color:#b93b3f;background:#fdeeee}.pk-item[data-pri=medium].active{border-color:#e8973a;color:#b9701e;background:#fdf3e6}.pk-item[data-pri=low].active{border-color:#4f9c5f;color:#3f8a4f;background:#eef7ef}.pk-item[data-cat].active{border-color:var(--brand, #3f6bff);color:var(--brand, #3f6bff);background:#f2f6ff}.task-meta i[data-cat=sport]{background:#e9f7ee;color:#1f7a45}.task-meta i[data-cat=health]{background:#fdecec;color:#c0392b}.task-meta i[data-cat=family]{background:#fdf5e3;color:#a4740b}.task-meta i[data-cat=finance]{background:#eef6ee;color:#4a7350}.task-meta i[data-cat=travel]{background:#e6f6f8;color:#00707a}.task-meta i[data-cat=social]{background:#fdeaf2;color:#a8124a}.task-meta i[data-cat=growth]{background:#f3eeeb;color:#5d4037}.bd-cat[data-cat=sport]{background:#e9f7ee;color:#1f7a45}.bd-cat[data-cat=health]{background:#fdecec;color:#c0392b}.bd-cat[data-cat=family]{background:#fdf5e3;color:#a4740b}.bd-cat[data-cat=finance]{background:#eef6ee;color:#4a7350}.bd-cat[data-cat=travel]{background:#e6f6f8;color:#00707a}.bd-cat[data-cat=social]{background:#fdeaf2;color:#a8124a}.bd-cat[data-cat=growth]{background:#f3eeeb;color:#5d4037}.pill-meta.cat[data-cat=sport]{background:#e9f7ee;color:#1f7a45}.pill-meta.cat[data-cat=health]{background:#fdecec;color:#c0392b}.pill-meta.cat[data-cat=family]{background:#fdf5e3;color:#a4740b}.pill-meta.cat[data-cat=finance]{background:#eef6ee;color:#4a7350}.pill-meta.cat[data-cat=travel]{background:#e6f6f8;color:#00707a}.pill-meta.cat[data-cat=social]{background:#fdeaf2;color:#a8124a}.pill-meta.cat[data-cat=growth]{background:#f3eeeb;color:#5d4037}.yr-ev[data-cat=sport]:before{background:#1f9d55}.yr-ev[data-cat=health]:before{background:#d9534f}.yr-ev[data-cat=family]:before{background:#b8860b}.yr-ev[data-cat=finance]:before{background:#5b8c5a}.yr-ev[data-cat=travel]:before{background:#00838f}.yr-ev[data-cat=social]:before{background:#c2185b}.yr-ev[data-cat=growth]:before{background:#6d4c41}.wcol-body{gap:4px}.wcol-add{margin-top:auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:6px;background:transparent;color:var(--muted-2);cursor:pointer;opacity:0;transition:opacity .15s ease,border-color .15s ease,color .15s ease}.wcol:hover .wcol-add,.wcol-add:focus-visible{opacity:1}.wcol-add:hover{border-color:var(--accent);color:var(--accent)}@media (hover: none){.wcol-add{opacity:.6}}.time-quick{display:flex;gap:6px;flex-wrap:wrap}.time-quick button{flex:1 1 0;min-width:62px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:12.5px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.time-quick button:hover{border-color:#cfd2d8;color:var(--ink)}.time-quick button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft, #eef2ff);font-weight:600}.fb{display:flex;flex-direction:column;gap:12px}.fb-hero{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:var(--r-lg, 14px);background:linear-gradient(135deg,#f2f6ff,#f7f4ff);border:1px solid #e6ecff;color:var(--ink)}.fb-hero h4{margin:0 0 4px;font-size:14px;line-height:1.4}.fb-hero p{margin:0}.fb-hero svg{color:var(--accent);flex:none;margin-top:1px}.fb .field,.fb-editor{position:relative}.fb-editor .fb-textarea{padding-bottom:46px}.fb-editor-tools{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:6px}.fb-editor-tools .fb-attach-btn{height:28px;padding:0 9px;font-size:12px;border-radius:8px}.fb-count-in{position:absolute;right:10px;bottom:12px}.fb-textarea{width:100%;resize:vertical;min-height:132px;line-height:1.6}.fb-count{position:absolute;right:10px;bottom:8px;font-size:11px;font-style:normal;color:var(--muted-2);background:var(--surface);padding:0 2px;font-variant-numeric:tabular-nums}.fb-count.is-warn{color:#c47f1a}.fb-attach{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fb-attach-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:12.5px;cursor:pointer}.fb-attach-btn:hover{border-color:#cfd2d8}.fb-attach-btn:disabled{opacity:.55;cursor:default}.fb-attach-btn.is-recording{border-color:#f0c8c8;color:#c0392b;background:#fff5f5;animation:fb-pulse 1.4s ease-in-out infinite}@keyframes fb-pulse{0%,to{box-shadow:0 0 #c0392b29}50%{box-shadow:0 0 0 4px #c0392b0f}}.fb-pick{font-size:12px;color:var(--muted)}.fb-thumbs{display:flex;gap:8px;flex-wrap:wrap}.fb-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#f5f6f8}.fb-thumb img{width:100%;height:100%;object-fit:cover;display:block}.fb-thumb-del{position:absolute;top:3px;right:3px;width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#0000008c;color:#fff;cursor:pointer;padding:0}.fb-videos{display:flex;flex-direction:column;gap:8px}.fb-video{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.fb-video-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.fb-video-meta strong{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-attach-hint{font-size:11.5px;color:var(--muted-2, #98a2b3)}.fb-thumb-open{display:block;width:100%;height:100%;padding:0;border:none;background:none;cursor:zoom-in}.fb-thumb-open img{width:100%;height:100%;object-fit:cover;display:block}.fb-thumb:hover{border-color:var(--accent, #2f6bff)}.fb-video-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:0;border:none;background:none;text-align:left;cursor:pointer;color:inherit}.fb-video-view{font-size:11.5px;font-weight:600;color:var(--accent-ink, #2f6bff);padding:2px 8px;border-radius:999px;background:#2f6bff14;white-space:nowrap}.fb-video-main:hover .fb-video-view{background:#2f6bff29}.fb-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0a0c10b8;display:flex;align-items:center;justify-content:center;padding:24px 14px}.fb-lightbox-inner{max-width:min(1080px,96vw);max-height:92vh;width:max-content;display:flex;flex-direction:column;gap:10px;background:var(--surface);border-radius:14px;padding:12px;overflow:hidden}.fb-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.fb-lightbox-head b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.fb-lightbox-media{max-width:min(1040px,92vw);max-height:78vh;object-fit:contain;border-radius:10px;background:#0f1115;display:block}.fb-foot{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line-soft);padding-top:10px}.fb-foot-actions{display:flex;gap:8px;margin-left:auto}@media (max-width: 560px){.fb-foot-actions{width:100%}.fb-foot-actions .btn{flex:1}}body.is-dragging-task{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.wcol.drag-from{opacity:.94}.wcol.drop-target{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),var(--sh-2);background:linear-gradient(180deg,#2b64f50f,#2b64f504)}.wcol.drop-target .wcol-body{outline:1px dashed rgba(43,100,245,.38);outline-offset:2px;border-radius:9px}.wcol-drop-hint{position:absolute;left:8px;right:8px;bottom:8px;z-index:2;padding:3px 0;text-align:center;font-size:11px;line-height:1.3;color:var(--accent-ink);background:#2b64f51a;border-radius:7px;pointer-events:none}.chip.is-drag-src{opacity:.34}.chip-ghost{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-122%);will-change:left,top}.chip-ghost-card{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:9px;background:var(--surface);border:1px solid rgba(16,17,20,.07);box-shadow:inset 3px 0 #e8973a,0 16px 34px -14px #1011146b,0 2px 8px #1011141f;font-size:11px;transform:scale(1.03)}.chip-ghost-card[data-pri=high]{box-shadow:inset 3px 0 #e5484d,0 16px 34px -14px #1011146b,0 2px 8px #1011141f}.chip-ghost-card[data-pri=low]{box-shadow:inset 3px 0 #4f9c5f,0 16px 34px -14px #1011146b,0 2px 8px #1011141f}.chip-ghost-card.copy{border-color:#2b64f580}.chip-ghost-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);font-weight:500}.chip-ghost-mode{flex:none;padding:1px 5px;border-radius:20px;font-size:9px;color:var(--accent-ink);background:var(--accent-soft)}.chip-ghost-tip{width:max-content;max-width:240px;margin:7px auto 0;padding:3px 11px;border-radius:20px;font-size:11px;color:#fff;background:#141722d6;text-align:center}.chip-menu-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000}.chip-menu{position:fixed;width:158px;padding:6px;border-radius:12px;background:var(--surface);border:1px solid rgba(16,17,20,.07);box-shadow:0 18px 40px -16px #1011146b,0 2px 8px #1011141a}.chip-menu-title{margin:0 0 5px;padding:3px 9px;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-menu-btn{display:block;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left;font-size:13px;color:var(--ink);cursor:pointer}.chip-menu-btn:hover{background:#1011140d}.chip-menu-btn.ghost{font-size:13px;color:var(--ink)}.clip-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;border-radius:10px;background:var(--accent-soft);border:1px solid rgba(43,100,245,.24);font-size:12px;color:var(--accent-ink)}.clip-bar-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clip-bar-close{flex:none;padding:3px 11px;border:0;border-radius:20px;background:#2b64f529;color:var(--accent-ink);font-size:11.5px;cursor:pointer}.clip-bar-close:hover{background:#2b64f542}.wcol-paste{margin-left:auto;padding:2px 9px;border:0;border-radius:20px;background:#2b64f524;color:var(--accent-ink);font-size:11px;line-height:1.4;cursor:pointer}.wcol-paste:hover{background:var(--accent);color:#fff}.week .chip,.week .chip button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y}.drag-tip{position:fixed;left:50%;bottom:22px;z-index:9998;transform:translate(-50%);max-width:calc(100vw - 28px);padding:8px 14px;border-radius:22px;background:#101114e0;color:#fff;font-size:12px;line-height:1.4;text-align:center;pointer-events:none;box-shadow:0 12px 28px -12px #10111499}.drag-tip em{font-style:normal;color:#9fc0ff}.pri-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:2px 4px 6px}.pri-quick-btn{padding:9px 0;border:1px solid rgba(16,17,20,.1);border-radius:9px;background:var(--surface);font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}.pri-quick-btn[data-pri=high]{color:#c22f33;border-color:#e5484d52}.pri-quick-btn[data-pri=medium]{color:#a86a12;border-color:#e8973a57}.pri-quick-btn[data-pri=low]{color:#2f7a44;border-color:#4f9c5f57}.pri-quick-btn.active[data-pri=high]{background:#e5484d24;border-color:#e5484d;color:#c22f33;font-weight:700;box-shadow:inset 0 0 0 1px #e5484d59}.pri-quick-btn.active[data-pri=medium]{background:#e8973a29;border-color:#e8973a;color:#a86a12;font-weight:700;box-shadow:inset 0 0 0 1px #e8973a59}.pri-quick-btn.active[data-pri=low]{background:#4f9c5f24;border-color:#4f9c5f;color:#2f7a44;font-weight:700;box-shadow:inset 0 0 0 1px #4f9c5f52}.pri-quick-btn:hover{filter:brightness(.97)}.week.wide{overflow-x:auto;padding-bottom:2px}.week.wide .wcol{min-width:104px}.week.wide::-webkit-scrollbar{height:6px}.week.wide::-webkit-scrollbar-thumb{background:#10111424;border-radius:3px}.dp-day.in-range{background:#2f6bff1f;color:var(--accent, #2f6bff)}.dp-day.pending{background:#fff;color:var(--accent, #2f6bff);box-shadow:inset 0 0 0 1.6px var(--accent, #2f6bff);font-weight:640}.dp-day.in-range.draft{background:#2f6bff12;color:var(--accent, #2f6bff)}.dp-hint{flex:1 1 100%;font-size:11px;color:var(--muted, #7a8089);line-height:1.35}.dp-foot{flex-wrap:wrap;gap:8px}.dp-foot-right{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.dp-ok{height:26px;padding:0 12px;font-size:12px;border-radius:8px}.dp-ok[disabled]{opacity:.45;cursor:not-allowed}.onb-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vh,32px) 14px;background:#1214196b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.onb{width:min(520px,94vw);max-height:86vh;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-xl, 16px);box-shadow:0 24px 60px #1418213d;overflow:hidden}.onb-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 0}.onb-progress{font-size:12px;color:var(--muted, #7a8089)}.onb-skip{border:none;background:transparent;color:var(--muted, #7a8089);font-size:12.5px;cursor:pointer;padding:4px 8px;border-radius:var(--r-sm, 8px)}.onb-skip:hover{background:#f0f1f4;color:var(--ink, #16171a)}.onb-body{padding:10px 18px 6px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.onb-body h2{margin:2px 0 0;font-size:17px;font-weight:620}.onb-lead{margin:0;line-height:1.55}.onb-chips{display:flex;flex-wrap:wrap;gap:8px}.onb-chip{height:34px;padding:0 14px;border:1px solid var(--line, #e6e8ec);border-radius:999px;background:var(--surface, #fff);color:var(--ink, #16171a);font-size:13px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.onb-chip:hover{border-color:#d8dae0}.onb-chip.active{border-color:var(--accent, #2f6bff);background:var(--accent-soft, rgba(47, 107, 255, .08));color:var(--accent, #2f6bff);font-weight:560}.onb-fields{display:flex;flex-direction:column;gap:14px}.onb-field{display:flex;flex-direction:column;gap:8px}.onb-label{font-size:13px;font-weight:560;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.onb-input{max-width:200px}.onb-note{margin:2px 0 0;line-height:1.5}.onb-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px 16px;border-top:1px solid var(--line-soft, #f0f1f4)}.onb-foot .btn{min-width:88px}@media (max-width: 600px){.onb{width:96vw;max-height:90vh}.onb-body{padding:8px 14px 4px}.onb-head,.onb-foot{padding-left:14px;padding-right:14px}.onb-chip{height:32px;padding:0 12px;font-size:12.5px}}@media (min-width: 768px) and (max-width: 1080px){.week{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:visible}.week .wcol{min-height:300px}.week .wcol header{padding:9px 10px}.week .wcol-body{padding:7px 6px}.week .chip-title{font-size:10.8px}}@media (max-width: 640px) and (orientation: portrait){.week{display:flex;flex-direction:column;gap:8px;grid-template-columns:none;overflow-x:visible;padding-bottom:0}.week .wcol{display:grid;grid-template-columns:76px minmax(0,1fr);min-height:0;border-radius:var(--r-md)}.week .wcol>header{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;padding:10px 8px 10px 12px;border-bottom:0;border-right:1px solid var(--line-soft)}.week .wcol>header .wcol-meta{margin-left:0}.week .wcol-week{font-size:11.5px;color:var(--muted)}.week .wcol-day{font-size:20px;line-height:1.15}.week .wcol-body{flex-direction:row;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:4px;padding:8px 10px}.week .wcol-body.is-empty{align-content:center}.week .wcol .chip{flex:1 1 100%}.week .wcol-none{font-size:12px;color:#c3c7ce}.week .wcol-add{margin:2px 0 2px auto}.week .wcol-paste{margin-left:auto}.week.wide{overflow-x:visible}.week.wide .wcol{min-width:0}}@media (orientation: landscape) and (max-height: 500px){.week{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:visible;gap:6px}.week .wcol{min-height:0}.week .wcol header{padding:6px 8px}.week .wcol-body{padding:5px}.week .wcol-add{margin-top:auto}.content{padding-bottom:20px}.toolbar{padding:6px 12px}.topbar{padding:0 12px}}@media (max-width: 640px),(orientation: landscape) and (max-height: 500px){.chip{align-items:center;min-height:34px;padding:5px;gap:6px;border-radius:7px}.chip-check{width:18px;height:18px;margin-top:0;border-radius:5px;position:relative}.chip-check:before{content:"";position:absolute;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%)}.chip-check:after{width:7px;height:3.6px;border-left-width:2px;border-bottom-width:2px}.chip-title{font-size:13px;line-height:1.4}.chip-title em{font-size:11px}.wcol-add{width:40px;height:40px;opacity:1;border-radius:10px}.wcol-add svg{width:16px;height:16px}.wcol-paste{padding:8px 12px;font-size:12px}.more{padding:8px 6px;font-size:12px}.icon-btn{width:38px;height:38px}.today-btn{height:34px;padding:0 12px;font-size:12.5px}.seg-item{height:36px;padding:0 12px;font-size:13px}.nav-item{padding:7px 12px}.fab{width:52px;height:52px}.chip-menu{position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;padding:12px 12px 8px;border-radius:16px;box-shadow:0 -4px 40px -8px #10111447,0 2px 10px #1011141f}.chip-menu-title{font-size:12.5px;padding:2px 4px 8px;white-space:normal}.pri-quick{gap:8px;margin:0 0 6px}.pri-quick-btn{padding:15px 0;font-size:16px;border-radius:12px}.chip-menu-btn{padding:14px 12px;font-size:14.5px;border-radius:12px}.chip-menu-btn.ghost{font-size:14.5px}}.app.ai-mode .ai-top{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app.ai-mode .ai-input{flex:0 0 auto}@media (max-width: 640px),(orientation: landscape) and (max-height: 500px){.app.ai-mode .ai-top{max-height:44vh;padding:10px 14px 8px;gap:8px}.app.ai-mode .ai-welcome{padding:0}.app.ai-mode .ai-orb{width:34px;height:34px;margin-bottom:8px;border-radius:11px}.app.ai-mode .ai-welcome h3{font-size:15px;margin-bottom:4px}.app.ai-mode .ai-welcome p{font-size:12px;line-height:1.45}.quick-bar.floating .quick-list{gap:6px;padding:0}.quick-bar.floating .quick{font-size:12px;padding:7px 11px}.quick-bar.floating .quick.first{font-size:12.5px;padding:8px 13px}.app.ai-mode .ai-list{padding:12px}.app.ai-mode .ai-input{padding:8px 10px;padding-bottom:max(8px,env(safe-area-inset-bottom));gap:6px}.app.ai-mode .ai-input textarea{min-height:44px;font-size:16px}.app.ai-mode .send-btn,.app.ai-mode .ai-input .voice-btn{width:44px;height:44px}}@media (max-width: 640px){.board{overflow-x:visible}.board-grid,.board-week{min-width:0}.board-grid{grid-auto-rows:minmax(88px,auto);gap:3px}.cell{height:auto;min-height:88px;padding:5px 4px}.cell-head{gap:3px}.cell-day{font-size:12.5px}.cell-count,.cell-flag{font-size:9px}.cell .chip{min-height:0;padding:1px;gap:3px}.cell .chip-check{width:12px;height:12px}.cell .chip-check:before{width:22px;height:22px}.cell .chip-title{font-size:9.5px;line-height:1.25}.cell-add{width:22px;height:22px;opacity:1}}@media (max-width: 640px){.sheet{max-height:calc(var(--vvh, 100dvh) - 24px)}.modal{max-height:calc(var(--vvh, 100dvh) - 24px);overflow-y:auto}.field-row{grid-template-columns:1fr}.toolbar{padding:8px 12px;gap:6px}.year-label{font-size:14.5px}.content{padding:10px 12px 92px}.page-head h1{font-size:18px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:10px 11px}.kpi strong{font-size:20px}.bottle-hero{grid-template-columns:1fr}.bs-months{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.adm-tr,.uc-body{grid-template-columns:1fr}}@media (max-width: 640px),(orientation: landscape) and (max-height: 500px){.icon-btn.tiny{width:34px;height:34px}.icon-btn.tiny svg{width:15px;height:15px}.toolbar .today-btn,.toolbar .btn.ghost{min-height:36px;padding:0 13px}.toolbar .seg.sm .seg-item{height:34px;padding:0 13px;font-size:13px}.tb-right .avatar,.user-area .avatar{width:34px;height:34px}.yearnav .year-label{min-height:34px}.chip-check{width:20px;height:20px;border-radius:6px}.chip-check:before{width:34px;height:34px}.chip-check:after{width:8px;height:4px}.chip-title{flex:1 1 auto;font-size:13px;line-height:1.45;padding:2px 0}.chip-title em{font-size:11px}}@media (max-width: 640px) and (orientation: portrait){.app.ai-mode .ai-top{max-height:38vh}}@media (orientation: landscape) and (max-height: 500px){.app.ai-mode .ai-top{max-height:34vh;padding:6px 12px 5px;gap:5px}.app.ai-mode .ai-orb{display:none}.app.ai-mode .ai-welcome{padding:0}.app.ai-mode .ai-welcome h3{font-size:13px;margin:0}.app.ai-mode .ai-welcome p{display:none}.quick-bar.floating .quick-list{flex-wrap:nowrap;overflow-x:auto;gap:6px;-webkit-overflow-scrolling:touch}.quick-bar.floating .quick{flex:0 0 auto;white-space:nowrap}.app.ai-mode .ai-list{padding:10px 12px}.app.ai-mode .ai-input{padding:6px 10px;padding-bottom:max(6px,env(safe-area-inset-bottom))}.app.ai-mode .ai-input textarea{min-height:40px}.app.ai-mode .send-btn,.app.ai-mode .ai-input .voice-btn{width:40px;height:40px}}@media (max-width: 640px){.drawer{padding-bottom:env(safe-area-inset-bottom)}.drawer-foot,.drawer-actions,.modal{padding-bottom:max(10px,env(safe-area-inset-bottom))}.toolbar{row-gap:6px}.tb-group{gap:6px}.view-hint{display:none}}@media (max-width: 640px),(orientation: landscape) and (max-height: 500px),(pointer: coarse){.drawer .pill-meta,.day-panel .pill-meta,.drawer .task-pill .pill-meta{min-height:30px;padding:0 9px;font-size:11.5px;line-height:30px;border-radius:8px}.drawer .link-btn,.day-panel .link-btn{min-height:34px;display:inline-flex;align-items:center;font-size:13px}.drawer .check,.day-panel .check{position:relative;width:30px;height:30px}.drawer .check:before,.day-panel .check:before{content:"";position:absolute;left:50%;top:50%;width:36px;height:36px;transform:translate(-50%,-50%)}.drawer .task-title-btn,.day-panel .task-title-btn{min-height:32px;display:flex;align-items:center;font-size:14px}.drawer .icon-btn,.drawer .icon-btn.tiny{width:34px;height:34px}.drawer .seg-item{min-height:36px}.drawer .task-row,.drawer .task-item{padding-top:6px;padding-bottom:6px}}@media (orientation: landscape) and (max-height: 500px){.topbar{height:46px;padding:0 12px}.topbar .tb-brand .logo-mark{width:22px;height:22px}.topbar .brand-name{font-size:13px}.topnav .nav-item{height:30px;padding:0 11px;font-size:13px}.topbar .btn.primary.sm{height:28px;font-size:12.5px;padding:0 10px}.topbar .avatar{width:30px;height:30px}.toolbar{padding:4px 10px;min-height:0}.toolbar .seg.sm .seg-item{height:32px}.toolbar .today-btn,.toolbar .btn.ghost.sm{min-height:32px}.content{padding-top:4px}.app.ai-mode .ai-welcome h3{font-size:12.5px}.quick-bar.floating .quick{height:30px;font-size:12px;padding:0 10px}}@media (min-width: 641px) and (max-width: 760px),(orientation: landscape) and (max-height: 500px){.topbar{gap:0;padding:0 10px}.topbar .tb-brand{min-width:0;flex:0 0 auto;gap:7px}.topbar .brand-name{display:none}.topbar .topnav{flex:1 1 auto;min-width:0;margin:0 4px;justify-content:center;gap:0}.topbar .nav-item{flex:0 0 auto;flex-direction:row;gap:6px;padding:0 9px;height:34px;font-size:13px;border-radius:9px}.topbar .tb-right{min-width:0;flex:0 0 auto;gap:6px;position:relative;z-index:5}.topbar .user-area{flex:0 0 auto}.topbar .avatar,.user-area .avatar{width:34px;height:34px;min-width:34px;flex:0 0 auto}}@media (orientation: landscape) and (max-height: 500px){.topbar{padding:0 12px}.topbar .tb-brand{order:0}.topbar .topnav{order:1;position:static;padding:0;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.topbar .tb-right{order:2;margin-left:0}.topbar .nav-item{flex-direction:row;gap:6px;height:30px;padding:0 11px;font-size:12.5px}.topbar .avatar,.user-area .avatar{width:30px;height:30px;min-width:30px}}@media (max-width: 640px),(orientation: landscape) and (max-height: 500px){.app.ai-mode .page-head{display:none}.app.ai-mode .content{padding-top:6px;padding-bottom:0;overflow-x:hidden}.app.ai-mode .ai-page{width:100%;max-width:100%;overflow-x:hidden}.app.ai-mode .ai-welcome p{display:none}.app.ai-mode .ai-welcome{padding:0;max-width:none}.app.ai-mode .ai-welcome h3{font-size:15px;margin-bottom:2px}.app.ai-mode .quick-list{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.app.ai-mode .quick{flex:0 0 auto;white-space:nowrap}}@media (max-width: 640px) and (orientation: portrait){.app.ai-mode{height:calc(100dvh - 60px - env(safe-area-inset-bottom));max-height:calc(100dvh - 60px - env(safe-area-inset-bottom))}.app.ai-mode .ai-top{max-height:18vh;padding:8px 12px 6px;gap:6px}.app.ai-mode .ai-list{padding:10px 12px}.app.ai-mode .ai-input{padding:8px 10px;padding-bottom:max(8px,env(safe-area-inset-bottom))}}@media (orientation: landscape) and (max-height: 500px){.app.ai-mode{height:100dvh}.app.ai-mode .page-head{display:none}.app.ai-mode .ai-top{max-height:26vh;padding:4px 12px;gap:4px}.app.ai-mode .ai-welcome{display:none}.app.ai-mode .ai-list{padding:8px 12px}.app.ai-mode .ai-input{padding:6px 10px;padding-bottom:max(6px,env(safe-area-inset-bottom))}}@media (max-width: 760px),(orientation: landscape) and (max-height: 500px){.sheet-mask.uc-mask{align-items:stretch;justify-content:stretch;padding:0}.sheet-mask.uc-mask .uc{width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0;padding-top:env(safe-area-inset-top)}.sheet-mask.uc-mask .uc .uc-head{flex:0 0 auto;padding:10px 14px}.sheet-mask.uc-mask .uc .uc-body{display:flex;flex-direction:column;overflow:hidden}.sheet-mask.uc-mask .uc .uc-side{flex:0 0 auto;flex-direction:row;align-items:center;gap:10px;padding:8px 12px;border-right:0;border-bottom:1px solid var(--line-soft);overflow-x:auto;overflow-y:hidden}.sheet-mask.uc-mask .uc .uc-idcard{flex:0 0 auto;flex-direction:row;text-align:left;gap:8px}.sheet-mask.uc-mask .uc .uc-avatar{width:40px;height:40px;font-size:14px}.sheet-mask.uc-mask .uc .uc-idcard b{white-space:nowrap;font-size:13px}.sheet-mask.uc-mask .uc .uc-tabs{flex:1 1 auto;min-width:0;flex-direction:row;gap:4px;overflow-x:auto}.sheet-mask.uc-mask .uc .uc-tabs button{flex:0 0 auto;min-height:34px;padding:7px 11px;font-size:12.5px;white-space:nowrap}.sheet-mask.uc-mask .uc .uc-main{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px calc(16px + env(safe-area-inset-bottom))}.sheet-mask.uc-mask .uc .uc-info{grid-template-columns:1fr;gap:10px}.sheet-mask.uc-mask .uc .uc-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-mask.uc-mask .uc .uc-chip{min-height:34px;padding:7px 11px;display:inline-flex;align-items:center}.sheet-mask.uc-mask .uc .uc-persona-input{max-width:100%}.sheet-mask.uc-mask .uc .uc-actions{gap:8px}.sheet-mask.uc-mask .uc .uc-actions .btn{flex:1 1 auto;min-height:36px;justify-content:center}.sheet-mask.uc-mask .uc .uc-foot{flex:0 0 auto;padding:8px 14px calc(8px + env(safe-area-inset-bottom))}}@media (max-width: 640px) and (orientation: portrait){.topbar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fffffff7;gap:8px;padding:0 10px}.topbar .tb-brand{min-width:0;flex:0 0 auto}.topbar .brand-name{display:none}.topbar .tb-right{min-width:0;margin-left:auto;flex:0 0 auto}.topbar .avatar,.user-area .avatar{width:34px;height:34px;flex:0 0 auto}.topnav{margin:0;gap:0;justify-content:space-around;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.topnav .nav-item{flex:0 1 auto}}@media (min-width: 641px) and (max-width: 760px){.topbar .tb-brand{order:0}.topbar .topnav{order:1;position:static;flex:1 1 auto;min-width:0;justify-content:center;padding:0;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.topbar .nav-item{flex:0 0 auto;flex-direction:row;gap:6px;padding:0 9px;height:34px;font-size:13px;border-radius:9px}.topbar .tb-right{order:2;margin-left:0}.topbar .brand-name{display:none}.topbar .avatar,.user-area .avatar{width:34px;height:34px}}.ai-clear-m{display:none}@media (max-width: 640px),(orientation: landscape) and (max-height: 500px){.app.ai-mode .ai-top{max-height:36vh;padding:8px 12px 6px;gap:8px;overflow-y:auto;-webkit-overflow-scrolling:touch}.app.ai-mode .quick-bar,.app.ai-mode .quick-bar.floating{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;margin:0;width:100%}.app.ai-mode .quick-list,.app.ai-mode .quick-bar.floating .quick-list{order:1;flex:1 1 100%;width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;gap:8px;padding:0;min-height:0;overflow:visible;-webkit-overflow-scrolling:auto}.app.ai-mode .quick,.app.ai-mode .quick-bar.floating .quick{flex:0 0 auto;position:static;width:auto;max-width:100%;height:auto;min-height:34px;display:inline-flex;align-items:center;padding:7px 13px;margin:0!important;font-size:12.5px;line-height:1.3;border-radius:999px;white-space:normal;overflow:visible;text-overflow:clip;box-shadow:none}.app.ai-mode .quick.first,.app.ai-mode .quick-bar.floating .quick.first{font-size:13.5px;font-weight:600;padding:8px 15px;background:#eef3ff;border-color:#c9d8ff}.app.ai-mode .quick-shuffle,.app.ai-mode .quick-bar.floating .quick-shuffle{order:2;flex:0 0 auto;height:32px;margin:0;padding:0 12px;font-size:12.5px;border-radius:999px;display:inline-flex;align-items:center}.app.ai-mode .ai-clear-m{order:3;display:inline-flex;align-items:center;height:32px;padding:0 13px;margin-left:auto;font-size:12.5px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#d64545;cursor:pointer}.app.ai-mode .ai-clear-m:disabled{opacity:.5}}.ai-clear-top{display:none}@media (max-width: 640px),(orientation: landscape) and (max-height: 500px){.app.ai-mode .ai-top{position:relative;min-height:46px;max-height:none;overflow:visible;padding:10px 12px 6px;gap:6px}.app.ai-mode .ai-clear-top{display:inline-flex;position:absolute;top:8px;right:10px;z-index:3;align-items:center;gap:5px;height:30px;padding:0 11px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--muted);font-size:12px;line-height:1;box-shadow:0 1px 3px #0f172a0f}.app.ai-mode .ai-clear-top:disabled{opacity:.45}.app.ai-mode .ai-clear-top:active:not(:disabled){background:#f4f5f7}}.chip-swipe{position:relative;flex:0 0 auto;width:100%;border-radius:5px;overflow:hidden}.chip-swipe.open{border-radius:5px}.chip-swipe-del{position:absolute;top:0;right:0;bottom:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:64px;border:0;border-radius:0;background:#e5484d;color:#fff;font-size:10.5px;line-height:1.1;cursor:pointer}.chip-swipe.open .chip-swipe-del,.chip-swipe:has(.chip-slide.dragging) .chip-swipe-del{display:inline-flex}.chip-swipe-del:active{background:#d13a3f}.chip-slide{position:relative;z-index:1;background:var(--surface);transition:transform .18s cubic-bezier(.22,.61,.36,1);will-change:transform}.chip-slide.dragging{transition:none}.app.ai-mode .ai-page,.ai-page{max-width:none}@media (min-width: 641px){.app.ai-mode .ai-page{padding:0}}@media (max-width: 640px){.app.ai-mode .ai-page{padding:0 12px}}.app.ai-mode .page-head{flex:0 0 auto;padding:18px 24px 10px}.app.ai-mode .ai-chat,.ai-chat{background:var(--surface);border:0;border-radius:0;box-shadow:none}.ai-bar{flex:0 0 64px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 max(20px,calc((100% - 820px)/2));border-bottom:1px solid var(--line-soft);background:var(--surface);box-sizing:border-box}.ai-bar-title{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink);letter-spacing:.01em;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;transition:opacity .18s ease}.ai-bar-title svg{color:var(--brand, #2b64f5);flex:0 0 auto}.ai-bar-title.off{opacity:0}.ai-bar-clear{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:12.5px;line-height:1;cursor:pointer;transition:color .16s,border-color .16s,background .16s}.ai-bar-clear:hover:not(:disabled){color:#d64545;border-color:#f0cccc;background:snow}.ai-bar-clear:disabled{opacity:.45;cursor:not-allowed}.ai-list,.app.ai-mode .ai-list{display:flex;flex-direction:column;padding:0;gap:0;background:var(--surface)}.ai-thread{flex:1 0 auto;width:100%;max-width:820px;margin:0 auto;padding:26px 24px 30px;display:flex;flex-direction:column;gap:18px;box-sizing:border-box}.ai-list.empty .ai-thread{justify-content:center;align-items:center;padding-bottom:56px}.ai-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;max-width:560px;margin:0 auto}.ai-hero h3{font-size:22px;font-weight:650;letter-spacing:-.01em;margin:0}.ai-hero p{font-size:13.5px;color:var(--muted);line-height:1.75;margin:0}.ai-hero .ai-orb{width:46px;height:46px;margin:0 auto 6px;border-radius:15px}.ai-thread .msg-body{max-width:82%}.ai-thread .bubble{border-radius:14px}.ai-chat>.ai-input,.app.ai-mode .ai-input{flex:0 0 auto;width:100%;max-width:820px;margin:0 auto;padding:10px 24px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);background:var(--surface);gap:8px;align-items:flex-end;box-sizing:border-box}.ai-chat>.ai-input textarea,.app.ai-mode .ai-input textarea{min-height:48px;max-height:168px;padding:13px 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface-2);font-size:14px;line-height:1.6}.ai-chat>.ai-input textarea:focus{background:#fff;border-color:#c6d2f6;box-shadow:0 0 0 3px #2b64f512}.ai-chat>.ai-input .send-btn,.app.ai-mode .ai-input .send-btn{width:46px;height:46px;border-radius:15px}.ai-chat>.ai-input .voice-btn,.app.ai-mode .ai-input .voice-btn{width:46px;height:46px;border-radius:15px;background:#fff}@media (max-width: 640px),(orientation: landscape) and (max-height: 500px){.ai-bar{flex-basis:56px;height:56px;padding:0 4px}.ai-bar-title{font-size:14px;gap:7px}.ai-bar-clear{height:28px;padding:0 10px;font-size:12px}.ai-thread{padding:16px 14px 18px;gap:14px}.ai-list.empty .ai-thread{padding-bottom:36px}.ai-hero p{font-size:13px}.ai-hero .ai-orb{width:44px;height:44px;margin-bottom:2px}.ai-thread .msg-body{max-width:86%}.ai-chat>.ai-input,.app.ai-mode .ai-input{padding:8px 12px max(10px,env(safe-area-inset-bottom))}.ai-chat>.ai-input textarea,.app.ai-mode .ai-input textarea{min-height:44px;padding:11px 13px;border-radius:14px;font-size:16px}.ai-chat>.ai-input .send-btn,.ai-chat>.ai-input .voice-btn,.app.ai-mode .ai-input .send-btn,.app.ai-mode .ai-input .voice-btn{width:44px;height:44px;border-radius:13px}}.app.ai-mode{height:max(340px,var(--vvh, 100dvh))}.app.ai-mode>.content.flush{overflow:hidden;overflow:clip}html.ai-lock,html.ai-lock body{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}html.ai-lock body{background:var(--surface, #fff)}.ai-list,.app.ai-mode .ai-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto}.ai-thread{will-change:transform}@media (max-width: 1180px){.app.ai-mode .page-head{display:none}.app.ai-mode .ai-page{padding-top:0}}.app.ai-mode .ai-page{width:100%;max-width:880px;margin-left:auto;margin-right:auto;align-self:center}.app.ai-mode .ai-chat{width:100%}@media (max-width: 1180px){.app.ai-mode .ai-page{max-width:none;align-self:stretch}}.draft-table{margin-top:10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1);overflow:hidden}.draft-table.dt-published{border-color:#cfe9dd}.draft-table.dt-cancelled{opacity:.72}.dt-head{padding:12px 14px 10px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.dt-head-main{display:flex;align-items:center;gap:8px}.dt-title{font-weight:640;font-size:14px;letter-spacing:-.01em}.dt-badge{font-size:11.5px;line-height:1;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.dt-badge.ok{background:var(--ok-soft);color:var(--ok)}.dt-badge.muted{background:var(--line-soft);color:var(--muted)}.dt-badge.doing{background:#fff6e6;color:#a86a10}.dt-sub{margin-top:4px;font-size:12px;color:var(--muted)}.dt-state{padding:9px 14px;font-size:12.5px;border-bottom:1px solid var(--line-soft)}.dt-state.ok{background:var(--ok-soft);color:var(--ok)}.dt-state.muted{background:var(--surface-2);color:var(--muted)}.dt-state.err{background:var(--danger-soft);color:var(--danger)}.dt-scroll{max-height:46vh;overflow:auto;-webkit-overflow-scrolling:touch}.dt-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:720px}.dt-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:left;font-weight:600;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.dt-table tbody td{padding:8px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.dt-table tbody tr:last-child td{border-bottom:none}.dt-table tbody tr.dt-row-sel{background:var(--accent-soft)}.dt-col-title{min-width:180px}.dt-col-note{min-width:140px;color:var(--ink-2)}.dt-col-act{white-space:nowrap}.dt-check{width:34px;text-align:center}.dt-idx{display:inline-block;min-width:16px;margin-right:6px;color:var(--muted-2);font-variant-numeric:tabular-nums}.dt-num{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-2)}.dt-tag{display:inline-block;padding:2px 7px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);font-size:11.5px}.dt-pri{font-size:11.5px;font-weight:600}.dt-pri.high{color:var(--danger)}.dt-pri.medium{color:#a86a10}.dt-pri.low{color:var(--muted)}.dt-empty{padding:18px 12px;text-align:center;color:var(--muted)}.dt-in{width:100%;min-width:84px;padding:5px 7px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:12.5px}.dt-in:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dt-in-date{min-width:128px}.dt-in-time{min-width:92px}.dt-act{white-space:nowrap}.dt-mini{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:var(--r-sm);padding:4px 9px;font-size:12px;cursor:pointer;margin-right:6px}.dt-mini:hover{border-color:var(--muted-2)}.dt-mini.ok{border-color:#bfe3d3;background:var(--ok-soft);color:var(--ok);font-weight:600}.dt-mini.danger{border-color:#f1cccc;color:var(--danger)}.dt-mini:disabled{opacity:.5;cursor:not-allowed}.dt-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line-soft);background:var(--surface-2)}.dt-bulk-tip{font-size:12px;color:var(--muted)}.dt-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid var(--line-soft);background:var(--surface)}.dt-foot-left,.dt-foot-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dt-saved{font-size:12px;color:var(--ok)}.dt-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:var(--r-md);padding:7px 13px;font-size:13px;font-weight:600;cursor:pointer}.dt-btn:hover{border-color:var(--muted-2)}.dt-btn.ok{border-color:#bfe3d3;background:var(--ok-soft);color:var(--ok)}.dt-btn.primary{border-color:var(--accent);background:var(--accent);color:#fff}.dt-btn.primary:disabled{background:#b9c9f2;border-color:#b9c9f2;cursor:not-allowed}.dt-btn.ghost{background:var(--surface-2)}.dt-btn.danger{border-color:var(--danger);background:var(--danger);color:#fff}@media (max-width: 720px){.dt-scroll{max-height:none}.dt-table{min-width:640px;font-size:12px}.dt-foot{position:sticky;bottom:0}}.ai-plan-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:7px 14px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#2f6bff,#4a86ff);border:none;border-radius:20px;cursor:pointer;box-shadow:0 4px 12px #2f6bff38}.ai-plan-btn:hover:not(:disabled){filter:brightness(1.06)}.ai-plan-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}@media (max-width: 640px){.ai-plan-btn{width:100%;justify-content:center;padding:9px 14px}}
