/* 日历独立主题：沿用业务动作，隔离现有桌面模块。 */
body.harmony-calendar{color-scheme:light;--bg:#f5f6f8;--surface:#fff;--raised:#f2f3f5;--edge:#e7e9ed;--text:#20242c;--muted:#858b96;--gold:#a28145;--green:#358878;--red:#c85e50;background:#f5f6f8!important;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
body.harmony-calendar::before,body.harmony-calendar::after{display:none!important}
.harmony-calendar>aside{background:#fafbfc!important;border:0!important;border-right:1px solid #e7e9ed!important;box-shadow:none!important}
.harmony-calendar .brand{color:#272c34;border-color:#eceef1}.harmony-calendar .brand>b{background:#ece2cf;box-shadow:none;color:#92713e}.harmony-calendar .brand small{color:#858b96}
.harmony-calendar #navigation button{background:transparent;border:0;color:#707782;border-radius:12px;padding:12px}.harmony-calendar #navigation button.active{background:#ebe8e0;color:#846835;box-shadow:none}.harmony-calendar #navigation button:before{color:#aaa393}.harmony-calendar #navigation button:after{display:none}.harmony-calendar .nav-group{color:#9398a1}.harmony-calendar .aside-bottom{background:#f0f2f4;border:0;color:#858b96}
.harmony-calendar .workspace{max-width:none;padding:0 42px 30px;background:transparent!important}.harmony-calendar .workspace>header{border:0;background:transparent!important;box-shadow:none;padding:22px 0 12px;min-height:65px}.harmony-calendar header h1,.harmony-calendar .motion-clock{display:none!important}.harmony-calendar .eyebrow{color:#969ba4}.harmony-calendar header button,.harmony-calendar header select{background:#fff;border:1px solid #e6e8ec;color:#636974;box-shadow:none;border-radius:12px}.harmony-calendar #space-note{display:none}.harmony-calendar #content{padding:0;background:none}
.harmony-calendar button{box-shadow:none;text-shadow:none}.harmony-calendar button:focus-visible,.harmony-calendar select:focus-visible{outline:3px solid #a28a59;outline-offset:3px}.harmony-calendar .hm-page{max-width:1080px;margin:0 auto;padding-bottom:24px}.harmony-calendar .hm-page svg{width:22px;height:22px;flex-shrink:0}.harmony-calendar .hm-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 26px}.hm-heading p{font-size:13px;color:#9599a2;margin:0 0 10px;letter-spacing:1px}.harmony-calendar .hm-heading h2{font-size:30px;font-weight:650;letter-spacing:-1px;color:#20242c;margin:0;display:flex;align-items:center;gap:12px}.hm-space{font-size:10px;font-weight:500;letter-spacing:0;padding:5px 8px;color:#967944;background:#ece6da;border-radius:6px}.harmony-calendar .hm-add{display:flex;align-items:center;gap:8px;background:#2c534c;color:#fff;border:0;border-radius:16px;padding:13px 18px;font-size:13px}
.harmony-calendar .hm-summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 34px;margin-bottom:24px;background:linear-gradient(110deg,#fff,#f5f0e6);border:1px solid #fff;border-radius:26px;box-shadow:0 8px 30px #27374704;overflow:hidden}.hm-kicker{font-size:11px;letter-spacing:1.5px;color:#929794}.hm-summary .hm-kicker{color:#9a855f}.harmony-calendar .hm-summary h3{font-size:23px;letter-spacing:-.5px;margin:13px 0 7px;font-weight:600;color:#333936}.hm-summary p{font-size:12px;color:#8c8d87;margin:0}.hm-metrics{display:flex;gap:44px;margin-top:25px}.hm-metrics>div{display:flex;flex-direction:column;gap:7px}.hm-metrics strong{font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-1px;font-variant-numeric:tabular-nums}.hm-metrics span{font-size:11px;color:#8a8d8d}.hm-warn{color:#c18053}.hm-ring{width:130px;height:130px;flex-shrink:0;border-radius:50%;padding:9px;background:conic-gradient(#bca16b var(--progress),#e6e0d3 0);transform:rotate(-12deg)}.hm-ring>div{width:100%;height:100%;border-radius:50%;background:#f9f6f0;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg)}.hm-ring strong{font-size:34px;font-weight:550;letter-spacing:-1px;color:#5d665c}.hm-ring em{font-style:normal;font-size:15px;margin-left:3px}.hm-ring span{font-size:11px;color:#9b9e94;margin-top:3px}
.hm-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}.harmony-calendar .hm-calendar,.harmony-calendar .hm-agenda{background:#fff;border-radius:24px;padding:25px;min-width:0;box-shadow:0 4px 24px #29344503}.hm-month-head{display:flex;justify-content:space-between;align-items:center}.harmony-calendar .hm-month-head h3{font-size:22px;font-weight:600;letter-spacing:-.7px;margin:0}.hm-month-head h3 span{font-size:14px;margin-left:3px;color:#777e85;font-weight:400}.hm-month-head>div{display:flex;align-items:center;gap:2px}.harmony-calendar .hm-month-head button{border:0;background:none;padding:5px 12px;font-size:22px;color:#686e77;min-width:38px;min-height:44px}.harmony-calendar .hm-month-head button:nth-child(2){font-size:12px;background:#f4f5f6;border-radius:10px;min-height:32px;padding:5px 10px}.hm-filter-line{display:flex;align-items:center;justify-content:space-between;margin:16px 0 19px;padding-top:15px;border-top:1px solid #f0f1f3}.hm-filter-line label{color:#969ba4;font-size:12px}.harmony-calendar .hm-filter-line select{font-size:12px;color:#59665f;background:#f3f6f4;border:0;border-radius:8px;max-width:160px;padding:8px 25px 8px 10px;min-height:36px}.hm-week,.hm-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:4px}.hm-week{font-size:11px;color:#9a9ea7;margin-bottom:10px}.hm-week span:nth-last-child(-n+2){color:#beb8ac}.harmony-calendar .hm-day{height:54px;min-height:44px;width:100%;min-width:0;padding:5px 0 3px;background:transparent;border:0;border-radius:14px;color:#353b44;font-size:15px;font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:background .18s,color .18s,transform .18s}.harmony-calendar .hm-day:hover{background:#f3f5f4}.harmony-calendar .hm-day.today{color:#8f7447}.harmony-calendar .hm-day.selected{background:#345a51;color:#fff;box-shadow:0 5px 12px #345a5120}.hm-day i{width:4px;height:4px;border-radius:50%;background:transparent}.hm-day i.has-items{background:#9aab9e}.hm-day i.late{background:#c79461}.hm-day.selected i.has-items{background:#e5dbc5}.harmony-calendar .hm-day.hm-hidden{display:none}.hm-days.compact .hm-blank{display:none}.hm-days.compact{min-height:54px}.harmony-calendar .hm-collapse{width:100%;border:0;border-top:1px solid #f2f3f4;background:none;color:#a2a6ad;font-size:11px;margin-top:14px;padding:12px 0 0;min-height:35px}.hm-collapse span{margin-left:7px}
.hm-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.harmony-calendar .hm-agenda-head h3{font-size:20px;color:#343943;margin:8px 0 0}.hm-agenda-head h3 span{font-size:12px;font-weight:400;color:#8b919b;margin-left:7px}.hm-count{font-size:11px;background:#f4f5f6;color:#979ba4;padding:6px 9px;border-radius:8px;white-space:nowrap}.hm-empty{text-align:center;padding:36px 0 27px}.hm-empty-icon{width:64px;height:64px;border-radius:20px;background:#f3f5f2;color:#96a497;margin:0 auto 18px;display:grid;place-items:center;position:relative}.harmony-calendar .hm-empty-icon svg{width:30px;height:30px;stroke-width:1.25}.hm-empty-icon i{position:absolute;bottom:-3px;right:-4px;border:3px solid #fff;border-radius:50%;width:26px;height:26px;background:#dfe7dc;color:#769177;font-size:13px;font-style:normal}.hm-empty h4{font-size:15px;font-weight:500;margin:0 0 10px;color:#626970}.hm-empty p{font-size:12px;line-height:1.9;color:#a1a6af;margin:0 0 17px}.harmony-calendar .hm-empty button{background:#f4f6f3;border:0;color:#6c8071;border-radius:12px;font-size:12px;padding:10px 17px}.hm-month-list{border-top:1px solid #f0f1f3;padding-top:17px;margin-top:10px}.hm-month-list summary{font-size:12px;color:#858b95;cursor:pointer;padding:4px 0 10px}.hm-month-list summary>span{float:right;color:#a7acb3}.hm-dated-row>small{display:block;color:#a1a7af;font-size:10px;letter-spacing:1px;margin:16px 0 0}.harmony-calendar .hm-task{display:flex;align-items:center;gap:12px;width:100%;padding:18px 0;text-align:left;border:0;border-bottom:1px solid #f3f4f5;background:none;border-radius:0;white-space:normal}.hm-task-mark{width:36px;height:38px;border-radius:12px;background:#edf2ef;color:#7d9a87;display:grid;place-items:center;flex-shrink:0}.hm-task-mark.late{background:#faf1e8;color:#ba956b}.hm-task-copy{flex:1;min-width:0}.hm-task-copy strong{font-size:13px;font-weight:500;line-height:1.6;display:block;color:#39414a}.hm-task-copy small{font-size:10px;color:#a1a6af;display:block;margin-top:5px}.hm-task-state{font-size:10px;color:#92a294;display:flex;align-items:center;gap:3px;white-space:nowrap}.hm-task-state.late{color:#c09269}.harmony-calendar .hm-task-state svg{width:12px;height:12px}.hm-source{display:flex;align-items:center;gap:7px;color:#a5abb3;font-size:10px;padding:20px 4px}.hm-source>span:last-child{margin-left:auto}.hm-source-dot{width:5px;height:5px;border-radius:50%;background:#a2b1a4}.hm-bottom{display:none}.hm-apps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hm-apps button{display:flex;justify-content:space-between;align-items:center;font-size:13px}.hm-apps svg{width:14px;height:14px}
.harmony-calendar dialog{background:#fff!important;color:#303740!important;border:0!important;border-radius:24px!important;box-shadow:0 20px 90px #18332a25}.harmony-calendar dialog input,.harmony-calendar dialog select,.harmony-calendar dialog textarea{background:#f6f7f8;color:#343b45;border:1px solid #e7eaec}.harmony-calendar dialog button{background:#f1f4f2;color:#436151;border:1px solid #e3e8e3}.harmony-calendar dialog h2,.harmony-calendar dialog h3,.harmony-calendar dialog strong{color:#303a35}.harmony-calendar dialog p,.harmony-calendar dialog .muted{color:#858d96}.harmony-calendar dialog::backdrop{background:#1e292d55;backdrop-filter:blur(5px)}
@media(min-width:1600px){.harmony-calendar .hm-page{padding-top:20px}.hm-columns{grid-template-columns:1.2fr 1fr}.harmony-calendar .hm-day{height:64px}}
@media(max-width:1050px){.harmony-calendar .workspace{padding:0 24px 30px}.hm-columns{grid-template-columns:1fr}.harmony-calendar .hm-page{max-width:650px}}
@media(max-width:700px){.harmony-calendar>aside{display:none!important}.harmony-calendar .workspace{margin:0!important;padding:0 20px 90px!important;width:100%!important}.harmony-calendar .workspace>header{padding:17px 0 0;min-height:44px;justify-content:space-between}.harmony-calendar header .eyebrow,.harmony-calendar #motion-sidebar-toggle,.harmony-calendar #account,.harmony-calendar #refresh{display:none!important}.harmony-calendar .workspace>header>div:first-of-type{display:none}.harmony-calendar .header-actions{margin-left:auto;gap:0}.harmony-calendar .scope-label{font-size:0;gap:0}.harmony-calendar #scope{font-size:10px;padding:5px 9px;min-height:29px;background:transparent;color:#8c939d;border:0}.harmony-calendar .hm-heading{margin:3px 0 21px}.hm-heading p{font-size:11px;margin-bottom:9px}.harmony-calendar .hm-heading h2{font-size:28px;gap:10px}.hm-space{font-size:9px}.harmony-calendar .hm-add{width:42px;height:42px;min-height:42px;padding:10px;justify-content:center;border-radius:15px}.hm-add>span{display:none}.harmony-calendar .hm-summary{padding:23px 21px;border-radius:23px;gap:8px;margin-bottom:17px}.harmony-calendar .hm-summary h3{font-size:18px;margin:10px 0 6px}.hm-summary p{font-size:10px}.hm-kicker{font-size:9px}.hm-metrics{gap:25px;margin-top:22px}.hm-metrics strong{font-size:25px}.hm-metrics span{font-size:10px}.hm-ring{width:91px;height:91px;padding:7px}.hm-ring strong{font-size:26px}.hm-ring em{font-size:11px}.hm-ring span{font-size:9px}.hm-columns{gap:17px}.harmony-calendar .hm-calendar,.harmony-calendar .hm-agenda{padding:20px 18px;border-radius:23px}.harmony-calendar .hm-month-head h3{font-size:21px}.hm-filter-line{margin:12px 0 17px;padding-top:12px}.hm-week,.hm-days{gap:2px}.harmony-calendar .hm-day{height:45px;border-radius:12px;font-size:14px}.hm-agenda-head h3{font-size:19px}.hm-source{font-size:9px;flex-wrap:wrap;line-height:1.6}.hm-source>span:last-child{margin-left:12px}.harmony-calendar .hm-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(70px + env(safe-area-inset-bottom));padding:8px 12px calc(8px + env(safe-area-inset-bottom));z-index:50;background:#fffffff0;backdrop-filter:blur(20px);border-top:1px solid #e8ebee;overflow:visible;justify-content:space-around;flex:none}.harmony-calendar .hm-bottom button{width:20%;border:0;padding:5px;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;margin:0;color:#a1a7b1;text-align:center;border-radius:12px;min-height:50px;font-size:10px}.harmony-calendar .hm-bottom button[aria-current]{color:#355f51;background:#eff4ef}.harmony-calendar .hm-bottom svg{width:22px;height:22px}.harmony-calendar dialog{max-width:calc(100vw - 20px)!important;padding:20px;max-height:88dvh}.hm-empty{padding:27px 0 18px}}
@media(max-width:370px){.harmony-calendar .workspace{padding-left:14px!important;padding-right:14px!important}.hm-ring{width:76px;height:76px}.hm-metrics{gap:19px}.harmony-calendar .hm-summary{padding:20px 16px}.harmony-calendar .hm-summary h3{font-size:16px}}
@media(prefers-reduced-motion:no-preference){.hm-agenda-items{animation:hm-appear .22s ease-out}.hm-add:active,.hm-day:active{transform:scale(.96)}@keyframes hm-appear{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
.harmony-calendar .motion-side-bg,.harmony-calendar .motion-nav-marker,.harmony-calendar .ck-live,.harmony-calendar header::after,.harmony-calendar header::before{display:none!important}
.harmony-calendar .hm-days.compact .hm-blank{display:block}.harmony-calendar .hm-days.compact .hm-blank.hm-hidden{display:none}
.harmony-calendar .hm-filter-line select{width:auto}.harmony-calendar .hm-bottom button{min-width:0!important;flex:1 1 0}.harmony-calendar .hm-page .motion-tint{display:none}
@media(max-width:700px){.harmony-calendar .workspace>header{display:flex!important;flex-direction:row!important}.harmony-calendar .header-actions{width:auto!important;margin-left:auto!important}.harmony-calendar .scope-label{width:auto}.harmony-calendar #scope{width:auto}}
.harmony-calendar .workspace>header{position:static!important;backdrop-filter:none!important}.harmony-calendar .workspace>header .ck-header-line{display:none!important}
