.friendly-error{border-radius:var(--radius, 8px)}.friendly-error-content .subtitle{color:var(--text-secondary, #666);margin-bottom:12px;line-height:1.6}.friendly-error-content .steps h3{margin:0 0 12px;font-size:16px;color:var(--dark, #2c2c2c)}.friendly-error-content .demo-hint p{margin:0;line-height:1.6}.friendly-error-content .ant-space{margin-top:8px}.cartoon-mascot{width:100%;height:100%;border-radius:9999px;display:flex;align-items:center;justify-content:center;overflow:hidden}.cartoon-emoji{font-size:30px;line-height:1;display:inline-block;will-change:transform;user-select:none}.cartoon-anim-wave{animation:cWave 1.8s ease-in-out infinite;transform-origin:50% 90%}@keyframes cWave{0%,to{transform:rotate(-11deg)}50%{transform:rotate(11deg)}}.cartoon-anim-bounce{animation:cBounce 1.1s ease-in-out infinite}@keyframes cBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.cartoon-anim-sway{animation:cSway 2.2s ease-in-out infinite;transform-origin:50% 80%}@keyframes cSway{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}.cartoon-anim-pulse{animation:cPulse 1.5s ease-in-out infinite}@keyframes cPulse{0%,to{transform:scale(1)}50%{transform:scale(1.16)}}.cartoon-anim-float{animation:cFloat 2.6s ease-in-out infinite}@keyframes cFloat{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@media (prefers-reduced-motion: reduce){.cartoon-anim-wave,.cartoon-anim-bounce,.cartoon-anim-sway,.cartoon-anim-pulse,.cartoon-anim-float{animation:none}}:root{--primary: #c9a96e;--primary-dark: #b8956a;--primary-light: rgba(201, 169, 110, .1);--bg: #fdfaf6;--surface: #ffffff;--dark: #2c2c2c;--text: #4a4a4a;--text-secondary: #7a7a7a;--border: #ede8e2;--radius: 8px;--shadow: 0 2px 12px rgba(0, 0, 0, .06);--sidebar-width: 200px}html{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:optimizeLegibility!important;font-feature-settings:"liga" 1,"kern" 1}body{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:optimizeLegibility!important;-webkit-text-size-adjust:100%;max-width:none!important;margin:0!important;padding:0!important}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.stat-num,.ant-statistic-content-value,.ant-input-number-input,.ant-input{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";-webkit-font-variant-numeric:tabular-nums}.admin-layout{display:flex;height:100vh;height:100dvh;overflow:hidden}.admin-sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto;overflow-x:hidden;transition:transform .28s cubic-bezier(.4,0,.2,1),margin-left .28s cubic-bezier(.4,0,.2,1)}@media (min-width: 769px){.admin-layout.sidebar-collapsed .admin-sidebar{transform:translate(calc(-1 * var(--sidebar-width)))}.admin-layout.sidebar-collapsed .admin-main{margin-left:0}}.sidebar-logo-icon{padding:24px 24px 8px;display:flex;align-items:center;justify-content:center}.sidebar-logo-icon :where(.anticon){width:44px;height:44px;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 46%,var(--surface-strong)));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff}.sidebar-logo-icon img{width:calc(var(--sidebar-width) - 48px);height:auto;max-height:80px;border-radius:8px;object-fit:contain}.sidebar-logo-icon img.brand-logo-landscape{width:calc(var(--sidebar-width) - 48px);max-height:none;height:auto;border-radius:0;object-fit:contain}.sidebar-logo-icon img.brand-logo-portrait{width:auto;max-height:80px;height:auto;border-radius:0;object-fit:contain}.sidebar-logo-icon img.brand-logo-square-circle{border-radius:50%;object-fit:cover;aspect-ratio:1 / 1}.sidebar-logo-icon img.brand-logo-square-square-sharp{border-radius:0}.sidebar-logo-icon img.brand-logo-square-square-round{border-radius:8px}.sidebar-nav{flex:1;padding:16px 12px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius);color:#3a3a3a;font-weight:500;cursor:pointer;transition:background .2s,color .2s;text-decoration:none;font-size:14px;margin-bottom:4px}.nav-item.active{background:var(--primary);color:#fff;font-weight:600}.nav-item .icon{font-size:18px}.nav-item .label{flex:1}.nav-subitems{padding-left:14px;border-left:2px solid var(--primary-light, #f0e6d2);margin:2px 0 4px 18px}.nav-subitem{font-size:13px;font-weight:400;margin-bottom:2px;padding-left:38px;color:var(--text-secondary, #6b7280)}.nav-subitem:hover{background:var(--primary-light, #f7f0e3);color:var(--primary, #c9a96e)}.nav-subitem.active{background:var(--primary-light, #f7f0e3);color:var(--primary, #c9a96e);font-weight:600}.nav-section{font-size:11px;color:var(--text-secondary);padding:16px 16px 8px;text-transform:uppercase;letter-spacing:1px}.nav-section-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:11px 14px;margin:10px 0 6px;cursor:pointer;user-select:none;border-radius:10px;color:var(--primary-dark);background:linear-gradient(180deg,color-mix(in srgb,var(--primary-light) 96%,#fff),color-mix(in srgb,var(--primary-light) 70%,var(--surface)));border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-top-color:color-mix(in srgb,#fff 62%,transparent);border-bottom-color:color-mix(in srgb,var(--primary) 38%,transparent);box-shadow:0 2px 5px color-mix(in srgb,var(--primary) 14%,transparent),inset 0 1px #fff9;transition:transform .2s ease,box-shadow .2s ease,background .25s ease}.nav-section-header:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 24%,transparent),inset 0 1px #ffffffb3}.nav-section-header:active{transform:translateY(0);box-shadow:0 1px 3px color-mix(in srgb,var(--primary) 16%,transparent),inset 0 1px #ffffff80}.nav-section-header .nav-section-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:.5px}.nav-section-header .nav-section-icon{font-size:15px;flex-shrink:0}.nav-section-header .nav-section-arrow{font-size:10px;opacity:.7;transition:transform .2s ease,opacity .2s}.nav-section-header.collapsed .nav-section-arrow{transform:rotate(0)}.nav-section-header:not(.collapsed) .nav-section-arrow{transform:rotate(180deg)}.team-tabs .ant-tabs-nav{margin-bottom:16px}.team-tabs .ant-tabs-tab{padding:10px 20px!important}.tab-label-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.tab-icon{font-size:16px;color:var(--text-secondary);transition:color .2s}.team-tabs .ant-tabs-tab-active .tab-icon{color:var(--primary)}.tab-label-with-icon span:last-child{min-width:48px;text-align:center}.bind-section{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.bind-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--dark);margin-bottom:12px}.bind-section-title span{flex:1}.bind-section .ant-input,.bind-section .ant-input-affix-wrapper{border-radius:6px}.bind-section .ant-btn-primary:disabled,.bind-section .ant-btn-primary.ant-btn-disabled,.bind-section .ant-btn-primary[disabled]{color:#fff!important;opacity:.96}.bind-section .ant-btn-primary:disabled span,.bind-section .ant-btn-primary.ant-btn-disabled span,.bind-section .ant-btn-primary[disabled] span{color:#fff!important}.admin-main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.admin-header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 32px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.admin-header-title{font-size:18px;font-weight:600;color:var(--dark)}.admin-header-hint{flex:1;margin-left:16px;margin-right:16px;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.admin-content{flex:1;padding:32px}.admin-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:16px;font-weight:600;color:var(--dark)}.card-body{padding:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.stat-icon.gold{background:#c9a96e1a;color:var(--primary)}.stat-icon.blue{background:#5b8def1a;color:#5b8def}.stat-icon.pink{background:#e8b4b81a;color:#e8b4b8}.stat-icon.green{background:#4caf501a;color:#4caf50}.stat-info{display:flex;flex-direction:column;gap:4px}.stat-num{font-size:28px;font-weight:700;color:var(--dark);font-family:DM Sans,Helvetica Neue,Arial,sans-serif;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";-webkit-font-variant-numeric:tabular-nums}.stat-label{font-size:13px;color:var(--text-secondary)}.admin-table .ant-table-thead>tr>th{background:var(--bg)!important;color:var(--dark)!important;font-weight:600!important;border-bottom:1px solid var(--border)!important}.admin-table .ant-table-tbody>tr:hover>td{background:var(--primary-light)!important}.admin-table .ant-table-cell{-webkit-font-smoothing:antialiased;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;align-items:center}.img-preview{width:60px;height:60px;border-radius:8px;object-fit:cover;background:var(--bg);cursor:pointer}.status-tag{border-radius:20px;font-size:12px}.status-pending,.status-confirmed,.status-completed,.status-cancelled,.theme-soft-tag{color:var(--primary-dark)!important;background:color-mix(in srgb,var(--primary-light) 68%,var(--surface))!important;border-color:color-mix(in srgb,var(--primary) 32%,var(--border))!important}.theme-soft-tag.ant-tag{font-weight:600;border-radius:999px}.theme-price-text,.theme-emphasis-text,.theme-title-icon,.theme-input-icon{color:var(--primary)!important}.theme-price-text,.theme-emphasis-text{font-weight:600}.theme-link-text{color:var(--primary-dark)!important;font-weight:500}.profile-role-tag{color:var(--primary-dark)!important;background:color-mix(in srgb,var(--primary-light) 72%,var(--surface))!important;border-color:color-mix(in srgb,var(--primary) 36%,var(--border))!important;font-weight:600}.profile-bind-grid .ant-input-affix-wrapper,.profile-bind-grid .ant-input,.profile-page .ant-input-affix-wrapper,.profile-page .ant-input-password{border-color:color-mix(in srgb,var(--primary) 28%,var(--border))!important}.profile-bind-grid .ant-input-affix-wrapper:hover,.profile-page .ant-input-affix-wrapper:hover,.profile-page .ant-input-affix-wrapper-focused{border-color:var(--primary)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)!important}.theme-info-panel{color:var(--text)!important;background:color-mix(in srgb,var(--primary-light) 64%,var(--surface))!important;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border))!important}.ant-btn-primary{background:var(--primary)!important;border-color:var(--primary)!important}.ant-btn-primary:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important}.ant-menu-item-selected{background-color:var(--primary-light)!important;color:var(--primary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary)!important}.ant-tabs-ink-bar{background:var(--primary)!important}html[data-saas-client="1"]{overflow:hidden!important}html[data-saas-client="1"]{height:100%;overflow:hidden}html[data-saas-client="1"] body{height:100%;overflow:hidden!important;margin:0;padding:0}html[data-saas-client="1"] .login-page{overflow:hidden!important;padding:0;height:100vh;min-height:100vh}html[data-saas-client="1"] .login-card{overflow:hidden!important;transform:scale(var(--saas-client-scale, 1));transform-origin:center center}html[data-saas-client="1"] .login-footer-record{transform:scale(var(--saas-client-scale, 1));transform-origin:bottom center}html[data-saas-client="1"] ::-webkit-scrollbar{display:none!important}html:has(.login-page),html:has(.login-page) body{height:100%;margin:0;padding:0}.login-page{position:relative;height:100vh;min-height:100vh;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:28px 16px 64px}.login-bg-slideshow{position:absolute;inset:0;z-index:0;overflow:hidden}.login-bg-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transform:scale(1.04);transition:opacity 1.4s ease,transform 8s ease}.login-bg-slide.active{opacity:1;transform:scale(1)}.login-bg-overlay{position:absolute;inset:0;z-index:1;background:#0000009e;backdrop-filter:blur(2px)}.login-card{position:relative;z-index:2;width:fit-content;min-width:320px;max-width:400px;overflow-y:auto;background:#fffffff0;border:1px solid rgba(255,255,255,.5);border-radius:20px;padding:28px 20px 24px;box-shadow:0 32px 80px #00000038,0 0 0 1px #ffffff1f inset,0 4px 20px #0000000f;backdrop-filter:blur(16px) saturate(180%)}.login-card--split{display:flex;flex-direction:row;width:fit-content;max-width:860px;padding:0;overflow:hidden;min-width:0}.login-brand-panel{width:300px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:40px 30px;color:#fff;background:linear-gradient(155deg,var(--primary),color-mix(in srgb,var(--primary) 52%,#20143a));border-radius:20px 0 0 20px;position:relative;overflow:hidden}.login-brand-panel:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:#ffffff14}.login-brand-logo{width:60px;height:60px;border-radius:16px;background:#ffffff2e;display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;backdrop-filter:blur(4px)}.login-brand-logo img{width:100%;height:100%;object-fit:cover;border-radius:16px}.login-brand-name{font-size:23px;font-weight:800;letter-spacing:1px;text-shadow:0 2px 10px rgba(0,0,0,.18)}.login-brand-subtitle{font-size:13px;opacity:.82;margin-top:2px}.login-brand-features{display:flex;flex-direction:column;gap:12px;margin-top:14px}.login-brand-feature{display:flex;align-items:center;gap:10px;font-size:13.5px;opacity:.92}.login-brand-feature .anticon{font-size:17px;opacity:.95}.login-form-panel{flex:1 1 auto;width:420px;max-width:420px;padding:30px 30px 26px;display:flex;flex-direction:column;box-sizing:border-box;max-height:calc(100vh - 120px);overflow-y:auto}.login-form-head{margin-bottom:18px}.login-form-title{font-size:22px;font-weight:700;color:var(--dark)}.login-form-desc{font-size:13px;color:var(--text-secondary);margin-top:5px}.login-method-switch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.login-method-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:12px;border:1.5px solid rgba(0,0,0,.08);background:#fff9;color:var(--text-secondary);font-size:13.5px;font-weight:600;cursor:pointer;transition:all .18s ease}.login-method-btn:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary)}.login-method-btn.is-active{background:color-mix(in srgb,var(--primary-light) 75%,var(--surface));border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary);box-shadow:0 2px 8px color-mix(in srgb,var(--primary) 18%,transparent)}.login-method-icon{font-size:16px;display:inline-flex}.login-method-body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;min-height:248px}.login-wechat-qr-tip{text-align:center;color:var(--text-secondary);font-size:13px;margin-bottom:12px}.login-wechat-qr-status{text-align:center;color:var(--primary);font-size:13px;margin-top:10px}.recover-method-switch{display:flex;gap:6px;margin-bottom:16px;background:color-mix(in srgb,var(--surface-soft) 60%,transparent);padding:4px;border-radius:12px}.recover-method-btn{flex:1;padding:9px 4px;border:none;background:transparent;border-radius:9px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .18s ease}.recover-method-btn:hover{color:var(--primary)}.recover-method-btn.is-active{background:#fff;color:var(--primary);box-shadow:0 2px 8px #00000014}.recover-err{background:color-mix(in srgb,#ff4d4f 10%,transparent);color:#d4380d;padding:8px 12px;border-radius:8px;font-size:13px;margin-bottom:10px;line-height:1.5}.recover-tip{font-size:12.5px;color:var(--text-secondary);line-height:1.6}.recover-account-card{background:color-mix(in srgb,var(--surface-soft) 60%,transparent);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.recover-account-name{font-weight:700;color:var(--dark);margin-bottom:8px}.recover-account-row{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;margin-top:4px}.recover-sent-tip{font-size:13px;color:var(--text-secondary);line-height:1.6}.recover-sent-tip b{color:var(--dark)}@media (max-width: 760px){.login-card--split{max-width:440px;width:100%}.login-brand-panel{display:none}.login-form-panel{width:100%;max-width:100%;max-height:none}}.login-end-switch{display:flex;gap:10px;margin-bottom:18px}.login-end-option{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;font-size:14px;font-weight:600;color:var(--text-secondary);background:#fff9;border:1.5px solid rgba(0,0,0,.08);border-radius:12px;cursor:pointer;transition:all .18s ease}.login-end-option:hover{border-color:#0000002e}.login-end-option.active{background:#fff;box-shadow:0 6px 16px #0000001a}.login-end-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.login-end-accent{position:absolute;top:0;left:0;right:0;height:5px;border-radius:20px 20px 0 0}.login-end-badge{display:inline-block;margin-top:12px;padding:3px 12px;font-size:12px;font-weight:600;color:#fff;border-radius:999px;letter-spacing:.5px}.login-logo{text-align:center;margin-bottom:24px}.login-logo-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 60%,#fff));border-radius:16px;display:inline-flex;align-items:center;justify-content:center;font-size:28px;color:#fff;margin-bottom:14px;overflow:hidden;box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 30%,transparent)}.login-logo-icon img{width:100%;height:100%;object-fit:cover;border-radius:16px}.login-title{font-size:21px;font-weight:700;color:var(--dark);letter-spacing:1.5px}.login-subtitle{font-size:13px;color:var(--text-secondary);margin-top:6px}.login-tabs>.ant-tabs-nav{margin:0!important;min-width:100px!important;width:max-content!important;padding:6px 3px!important;position:relative}.login-tabs .ant-tabs-nav-wrap{overflow:visible!important}.login-tabs .ant-tabs-nav-operations{display:none!important}.login-tabs .ant-tabs-nav-list{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:6px!important;width:100%!important;transform:none!important}.login-tabs .ant-tabs-tab{justify-content:center!important;margin:0!important;padding:7px 6px!important;border-radius:10px!important;background:color-mix(in srgb,var(--surface-soft) 70%,transparent)!important;border:1px solid transparent!important;flex-direction:row!important;white-space:nowrap!important;overflow:hidden!important}.login-tabs .ant-tabs-tab-btn{white-space:nowrap!important;word-break:keep-all!important;break-inside:avoid!important;overflow:hidden!important;text-overflow:clip!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;line-height:1!important}.login-tabs .ant-tabs-tab-active{background:color-mix(in srgb,var(--primary-light) 72%,var(--surface))!important;border-color:color-mix(in srgb,var(--primary) 38%,var(--border))!important;box-shadow:0 2px 8px color-mix(in srgb,var(--primary) 18%,transparent)!important}.login-tabs .ant-tabs-ink-bar{display:none!important}.login-tabs .tab-label-with-icon,.login-tabs .tab-label-with-icon>span,.login-tabs .tab-label-with-icon>span:last-child{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;font-size:12.5px!important;white-space:nowrap!important;word-break:keep-all!important;break-inside:avoid!important;overflow:hidden!important;text-overflow:clip!important;line-height:1.2!important}.login-tabs .tab-icon{font-size:15px!important;flex-shrink:0!important}.login-tabs .ant-tabs-content-holder,.login-tabs .ant-tabs-tabpane{padding-right:14px!important;flex:0 1 auto!important;width:auto!important;max-width:262px!important;background:transparent!important}.login-tabs .ant-input-affix-wrapper,.login-tabs .ant-input,.login-tabs .ant-input-password{min-height:40px!important;border-radius:10px!important}.login-tabs .ant-input,.login-tabs .ant-input-password{min-height:42px}.login-tabs .ant-form-item{margin-bottom:10px!important}.login-tabs .ant-form-item-label{padding-bottom:2px!important}.login-tabs .ant-form-item-label>label{height:auto!important;font-size:12.5px!important}.login-tabs .ant-input-prefix{color:var(--primary)!important}.login-tabs [style*="display: flex"]{min-width:0}.login-tabs .ant-btn{white-space:nowrap!important;border-radius:10px!important}.login-tabs .ant-input{min-width:0}.login-footer-record{position:absolute;z-index:2;left:16px;right:16px;bottom:18px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;color:#ffffffad;font-size:12px;line-height:1.6;text-shadow:0 1px 3px rgba(0,0,0,.42)}.profile-page{max-width:900px;margin:0 auto;padding:32px 24px 48px}@media (max-width: 640px){.login-card{width:100%!important;padding:28px 18px!important;border-radius:18px!important}.login-page{align-items:center!important;padding:14px 14px 72px!important}.login-logo{margin-bottom:24px!important}.login-logo-icon{width:60px!important;height:60px!important;font-size:26px!important}.login-title{font-size:20px!important}.login-tabs .ant-tabs-nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.login-tabs .tab-label-with-icon{gap:6px}.login-tabs.ant-tabs{flex-direction:column-reverse!important}.login-tabs>.ant-tabs-nav{min-width:auto;border-left:none;border-top:1px solid var(--border);padding:8px}.login-tabs .ant-tabs-nav-list{flex-direction:row!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.login-tabs .tab-label-with-icon{flex-direction:row;gap:4px}.login-tabs .tab-icon{font-size:14px}.login-tabs .ant-tabs-content-holder{padding-right:0}}.admin-header-bar{position:sticky;top:0;z-index:200;height:56px;padding:0 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 1px 4px #00000008}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:10px;background:var(--primary-light);color:var(--primary);font-size:18px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.menu-toggle:hover{background:var(--primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 30%,transparent)}.menu-toggle.is-open{background:var(--primary);color:#fff}.header-logo{display:flex;align-items:center;margin-left:12px}.header-logo-text{font-size:16px;font-weight:600;color:var(--dark);letter-spacing:.5px;white-space:nowrap}.header-user-area{margin-left:auto;display:flex;align-items:center;gap:12px;padding:6px 12px 6px 14px;background:var(--primary-light);border-radius:10px;cursor:pointer;transition:background .2s,box-shadow .2s;border:1px solid transparent}.header-user-area:hover{background:var(--primary);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 30%,transparent);border-color:#ffffff26}.header-user-area:hover .header-username{color:#fff}.header-user-area:hover .header-userrole{color:#fffc}.header-user-area:hover .header-avatar{background:#fff;color:var(--primary);box-shadow:0 2px 8px #00000026}.header-end-badge{flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:600;color:#fff;border-radius:999px;letter-spacing:.5px;white-space:nowrap}.header-user-text{display:flex;flex-direction:column;align-items:flex-end}.header-username{font-size:14px;font-weight:600;color:var(--dark);line-height:1.3;transition:color .2s}.header-userrole{font-size:12px;color:var(--text-secondary);line-height:1.3;transition:color .2s}.header-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:15px;flex-shrink:0;overflow:hidden;transition:all .25s ease;box-shadow:0 2px 6px color-mix(in srgb,var(--primary) 30%,transparent)}.header-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.header-avatar-letter{font-weight:600;font-size:15px;color:#fff;line-height:1}.sidebar-footer{padding:12px 14px;border-top:1px solid var(--border);background:var(--surface)}.sidebar-logout-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text-secondary);font-size:14px;transition:all .2s}.sidebar-logout-btn:hover{background:color-mix(in srgb,var(--primary-light) 62%,var(--surface));border-color:color-mix(in srgb,var(--primary) 30%,var(--border));color:var(--primary-dark)}.sidebar-logout-text{font-weight:500;letter-spacing:1px}.sidebar-logout-icon{font-size:16px;flex-shrink:0}@media (max-width: 768px){.admin-sidebar{transform:translate(-100%);transition:transform .3s;position:fixed;left:0;top:0;bottom:0;z-index:100;box-shadow:2px 0 12px #00000026}.admin-sidebar.open{transform:translate(0)}.sidebar-logo-icon{padding:12px 16px 6px}.sidebar-logo-icon img{max-height:52px;width:auto}.sidebar-logo-icon :where(.anticon){width:36px;height:36px}.sidebar-nav{padding-top:6px}.admin-main{margin-left:0!important}.admin-content{padding:12px!important}.admin-header{padding:12px 16px!important}.admin-header-title{font-size:18px!important}.sidebar-overlay{position:fixed;inset:0;background:#00000073;z-index:99;display:block}.menu-toggle{display:inline-flex!important}.admin-layout.sidebar-collapsed .menu-toggle{animation:menu-toggle-blink 1.3s ease-in-out infinite}@keyframes menu-toggle-blink{0%{background:var(--primary);color:#fff;box-shadow:0 0 color-mix(in srgb,var(--primary) 55%,transparent)}50%{background:var(--primary-light);color:var(--primary);box-shadow:0 0 0 9px color-mix(in srgb,var(--primary) 0%,transparent)}to{background:var(--primary);color:#fff;box-shadow:0 0 color-mix(in srgb,var(--primary) 0%,transparent)}}.admin-card{margin-bottom:12px!important}.admin-card .card-header{padding:12px 16px!important;flex-wrap:wrap;gap:8px}.admin-card .card-header .card-title{font-size:15px!important}.admin-card .card-body{padding:12px 16px!important}.ant-col{flex:0 0 100%!important;max-width:100%!important}.profile-page{padding:16px 12px 32px!important}.profile-page .ant-card{margin-bottom:12px!important}.profile-page .ant-card-body{padding:16px!important}.profile-page .ant-card-head{padding:12px 16px!important;min-height:unset!important}.profile-page .ant-card-head-title{padding:0!important;font-size:14px!important}.profile-avatar-wrap{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:16px!important}.profile-bind-grid{grid-template-columns:1fr!important;gap:12px!important}.profile-page .ant-form{max-width:100%!important}.ant-row{margin-left:0!important;margin-right:0!important}.ant-row>[class*=ant-col-]{padding-left:0!important;padding-right:0!important}.ant-table-wrapper,.ant-table{font-size:13px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:8px 6px!important;font-size:13px}.ant-table-column-title{font-size:12px}.ant-modal{max-width:100vw!important;width:100vw!important;margin:0!important;padding-bottom:0!important;top:0!important}.ant-modal-header{padding:12px 16px!important}.ant-modal-body{padding:16px!important}.ant-modal-footer{padding:12px 16px!important}.ant-modal{max-width:100vw!important;width:100vw!important;top:0!important;left:0!important;margin:0!important;padding-bottom:0!important;position:fixed!important}.ant-modal-content{border-radius:0!important;min-height:100vh!important}.ant-modal-centered{align-items:flex-start!important;justify-content:center!important}.ant-modal-wrap{align-items:flex-start!important;overflow:auto!important;-webkit-overflow-scrolling:touch}.ant-form-item{margin-bottom:12px!important}.ant-form-item-label>label{font-size:13px}.ant-input,.ant-select-selector,.ant-picker{font-size:14px!important;height:36px!important}.ant-input-lg{height:40px!important}.ant-input-number{height:36px!important}.ant-input-number-input{height:34px!important}.ant-input-affix-wrapper{height:36px!important;padding:0 11px!important}.ant-input-textarea textarea{font-size:14px!important}.ant-btn{font-size:13px!important;padding:4px 12px!important;height:34px!important}.ant-btn-lg{height:40px!important;font-size:14px!important;padding:6px 16px!important}.ant-btn-block{width:100%}.stats-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}.stats-card{padding:16px!important}.stat-value{font-size:22px!important}.stat-label{font-size:12px!important}.login-card{width:90vw!important;padding:24px 20px!important}.login-title{font-size:22px!important}.compact-image-field{width:100%!important}.sidebar-footer{padding:10px 12px!important}.sidebar-logout-btn{padding:8px 12px!important;font-size:13px!important}.header-user-area{gap:8px!important;padding:4px 10px 4px 12px!important}.header-user-text{flex-direction:row!important;align-items:center!important;gap:6px!important}.header-username{font-size:13px!important}.header-userrole{font-size:11px!important}.header-user-menu-info{display:flex;flex-direction:column;line-height:1.4}.header-user-menu-info .header-username{font-size:13px!important}.header-avatar{width:30px!important;height:30px!important;font-size:13px!important}.user-role{font-size:11px!important}.user-logout{width:28px!important;height:28px!important;font-size:13px!important}.ant-tabs-nav{padding:0 12px;font-size:13px}.ant-tabs-tab{padding:8px 10px!important;font-size:13px}.ant-drawer{max-width:100vw!important;width:100vw!important}.ant-drawer-content{padding-bottom:env(safe-area-inset-bottom)}.ant-image-preview{z-index:100000!important}.ant-image-preview-close{z-index:100001!important}body,.admin-main{overflow-x:hidden}.dashboard-stat-card .ant-card-body{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:12px!important;padding:14px 12px!important}.dashboard-stat-icon{margin-bottom:0!important;width:36px!important;height:36px!important;font-size:18px!important;border-radius:8px!important;flex-shrink:0}.dashboard-stat-num{font-size:22px!important;font-weight:700;min-width:24px;text-align:center}.dashboard-stat-label{margin-top:0!important;font-size:12px!important;white-space:nowrap}}@media (min-width: 769px) and (max-width: 1024px){:root{--sidebar-width: 180px}.admin-sidebar{width:var(--sidebar-width)!important}.admin-main{margin-left:var(--sidebar-width)!important}.admin-content{padding:20px}.admin-card{margin-bottom:16px}}.settings-tab-layout{display:flex;gap:20px;align-items:flex-start}.settings-tab-main{flex:1 1 0%;min-width:0}.settings-tab-side{flex:0 0 280px;min-width:0;overflow-wrap:break-word}.settings-tab-side>.admin-card+.admin-card{margin-top:16px}.ops-module-card{height:100%;border-radius:12px;transition:box-shadow .2s,transform .2s}.ops-module-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;font-size:22px;flex:0 0 auto}.ops-module-title{font-size:15px;font-weight:600;color:#000000e0;margin-bottom:4px}.ops-module-desc{font-size:12.5px;color:#7a7a7a;line-height:1.6;min-height:40px}.ops-module-enter{display:inline-block;margin-top:8px;font-size:13px;font-weight:500;color:#2563eb}@media (max-width: 1200px){.settings-tab-layout{flex-direction:column}.settings-tab-side{flex:1 1 auto;width:100%}}.sidebar-overlay{display:none}.modal-resize-handle{position:absolute;right:0;bottom:0;width:22px;height:22px;cursor:nwse-resize;z-index:1050;background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.12) 50%);border-bottom-right-radius:8px}.modal-resize-handle:hover{background:linear-gradient(135deg,transparent 50%,rgba(24,144,255,.3) 50%)}.modal-resize-handle:after{content:"";position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-right:2.5px solid #888;border-bottom:2.5px solid #888}.modal-resize-handle:hover:after{border-color:#1890ff}.ant-modal-header{cursor:move!important}.media-drag-handle{cursor:grab!important;user-select:none}.media-drag-handle:hover{background:#000000b3!important}.media-drag-handle:active{cursor:grabbing!important}[draggable=true]{user-select:none}.ant-image-preview-wrap,.ant-image-preview{z-index:100000!important;display:flex!important;align-items:center!important;justify-content:center!important}.ant-image-preview-close{z-index:100001!important}.ant-image-preview-content{max-height:90vh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.ant-image-preview-img-wrapper{flex:1!important;min-height:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important}.ant-image-preview-img{max-height:calc(90vh - 56px)!important;max-width:100%!important;object-fit:contain!important}.compact-image-field{position:relative;width:100%;border-radius:8px;overflow:hidden;background:#fafafa;border:1px dashed #d9d9d9;transition:border-color .2s,background .2s,box-shadow .2s;box-sizing:border-box;aspect-ratio:1 / 1;max-width:220px}.profile-avatar-wrap>.compact-image-field{max-width:180px;width:180px;flex-shrink:0}.compact-image-field.empty{cursor:pointer}.compact-image-field.empty:hover{border-color:#1890ff;background:#e6f7ff}.compact-image-field.drag-over{border-color:#1890ff;background:#e6f7ff;box-shadow:0 0 0 2px #1890ff26}.compact-image-field.has-value{border-style:solid;border-color:#f0f0f0}.compact-image-field__img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.compact-image-field__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:12px 8px;text-align:center}.compact-image-field__empty-icon{font-size:26px;color:#1890ff;margin-bottom:4px}.compact-image-field__empty-text{font-size:13px;color:#666;margin-bottom:6px}.compact-image-field__empty-actions .ant-btn{padding:0 6px;font-size:12px}.compact-image-field__divider{color:#d9d9d9;font-size:12px;user-select:none}.compact-image-field__actions{position:absolute;inset:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px;background:#00000080;opacity:0;transition:opacity .18s ease;pointer-events:none;padding:8px 12px;box-sizing:border-box}.compact-image-field.has-value:hover .compact-image-field__actions{opacity:1;pointer-events:auto}.compact-image-field__actions .ant-btn{background:#ffffffeb!important;border-color:transparent!important;color:#333;min-width:64px;padding:0 8px}.compact-image-field__actions .ant-btn-primary{background:#1890ffe0!important;color:#fff}.compact-image-field__actions .ant-btn-danger{background:#ffffffeb!important;color:#ff4d4f;border-color:#ffccc7!important}.compact-image-field__loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffd9;font-size:13px;color:#1890ff}.ant-typography,.ant-typography p,.ant-btn,.ant-input,.ant-input-number-input,.ant-input-textarea textarea,.ant-select-selection-item,.ant-select-selection-placeholder,.ant-select-selector,.ant-picker-input>input,.ant-picker,.ant-form-item-explain-error,.ant-form-item-label>label,.ant-tabs-tab,.ant-tabs-tab-btn,.ant-dropdown-menu-item,.ant-dropdown-menu-item .ant-dropdown-menu-title-content,.ant-message-notice-content,.ant-notification-notice-message,.ant-notification-notice-description,.ant-tag,.ant-badge-count,.ant-badge-status-text,.ant-alert-message,.ant-alert-description,.ant-statistic-title,.ant-statistic-content,.ant-card-head-title,.ant-card-meta-title,.ant-card-meta-description,.ant-list-item-meta-title,.ant-list-item-meta-description,.ant-table-title,.ant-table-column-sorters,.ant-popover-inner-content,.ant-tooltip-inner,.ant-popconfirm-message-title,.ant-tree-treenode-label-title,.ant-tree .ant-tree-node-content-wrapper .ant-tree-title,.ant-modal-title,.ant-modal-body,.ant-modal-footer,.ant-pagination-item,.ant-pagination-total-text,.ant-dropdown,.ant-select-item,.ant-select-empty,.nav-item,.header-logo-text,.login-title,.login-subtitle,.stat-num,.stat-label,.user-name,.user-role,.card-title,.nav-section{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:optimizeLegibility!important}.ant-table-thead .ant-table-cell{white-space:nowrap;font-weight:600}.asset-picker-img-hover:hover{opacity:1!important}.asset-picker-modal .ant-image{transition:transform .2s}.asset-picker-modal .ant-image:hover{transform:scale(1.03)}.ant-modal .ant-modal-close{position:absolute!important;top:24px!important;right:17px!important;width:34px!important;height:34px!important;border-radius:8px!important;color:#fff!important;background:color-mix(in srgb,var(--primary) 78%,var(--dark))!important;border:1px solid color-mix(in srgb,var(--surface) 72%,var(--primary))!important;box-shadow:0 2px 10px #0000002e,inset 0 1px #ffffff3d!important;z-index:60!important;display:flex!important;align-items:center!important;justify-content:center!important;transform:translateY(-50%);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.ant-modal .ant-modal-close .ant-modal-close-x{width:34px!important;height:34px!important;line-height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:16px!important;color:#fff!important}.ant-modal .ant-modal-close:hover,.ant-modal .ant-modal-close:focus-visible{color:#fff!important;background:color-mix(in srgb,var(--primary-dark) 82%,#7f1d1d)!important;border-color:color-mix(in srgb,var(--surface) 88%,var(--primary))!important;box-shadow:0 4px 14px color-mix(in srgb,var(--primary) 32%,transparent),inset 0 1px #ffffff38!important;transform:translateY(-50%) scale(1.03)}@media (max-width: 640px){.ant-modal .ant-modal-close{top:23px!important;right:16px!important;width:32px!important;height:32px!important}.ant-modal .ant-modal-close .ant-modal-close-x{width:32px!important;height:32px!important;line-height:32px!important}}.photo-header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 32px;position:sticky;top:0;z-index:10}.photo-header-top{display:flex;align-items:center;justify-content:space-between;height:58px}.photo-title{font-size:18px;font-weight:600;color:var(--dark);margin:0}.photo-tabs{display:flex;position:relative;border-top:1px solid var(--border)}.photo-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0;font-size:14px;font-weight:500;color:#888;background:none;border:none;cursor:pointer;transition:color .2s;border-bottom:none;user-select:none}.photo-tab:hover{color:#555}.photo-tab.active{color:var(--primary);font-weight:600}.photo-tab-icon{font-size:14px}.photo-tab-indicator{position:absolute;bottom:0;height:2px;background:var(--primary);transition:left .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);border-radius:2px 2px 0 0}.photo-board-topic-bar{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:linear-gradient(135deg,var(--surface-soft) 0%,var(--surface-strong) 100%);border:1px solid var(--primary);color:var(--primary-dark);font-size:13px;font-weight:500;box-shadow:inset 0 1px #ffffff6b}.photo-board-topic-icon{color:var(--primary)}.photo-board-topic-date{width:150px;padding:0;background:transparent;font-weight:600;color:var(--primary-dark)}.photo-board-topic-input{width:110px;padding:0;background:transparent;font-weight:600;color:var(--primary-dark)}.photo-board-topic-bar .ant-picker,.photo-board-topic-bar .ant-input{color:var(--primary-dark)!important}.photo-board-topic-tag.ant-tag{margin-left:4px;margin-right:0;color:var(--primary-dark);background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 38%,transparent);font-weight:700}.photo-kanban{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.photo-stat-card{border-radius:var(--radius);box-shadow:0 1px 4px #0000000f;transition:box-shadow .2s,transform .2s;border-top:3px solid transparent}.photo-stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.photo-stat-total{border-top-color:var(--primary)}.photo-stat-pending{border-top-color:#fa8c16}.photo-stat-shooting{border-top-color:#1677ff}.photo-stat-completed{border-top-color:#52c41a}.photo-stat-cancelled{border-top-color:#ff4d4f}.photo-stat-card.active{box-shadow:0 0 0 2px var(--primary),var(--shadow);transform:translateY(-2px)}.photo-stat-card.photo-stat-pending.active{box-shadow:0 0 0 2px #fa8c16,0 4px 12px #fa8c1633}.photo-stat-card.photo-stat-shooting.active{box-shadow:0 0 0 2px #1677ff,0 4px 12px #1677ff33}.photo-stat-card.photo-stat-completed.active{box-shadow:0 0 0 2px #52c41a,0 4px 12px #52c41a33}.photo-stat-card.photo-stat-cancelled.active{box-shadow:0 0 0 2px #ff4d4f,0 4px 12px #ff4d4f33}.photo-stat-card .ant-statistic-title{font-size:12px;color:#888;display:flex;align-items:center;gap:4px}.photo-stat-inline.ant-card{padding:0}.photo-stat-inline.ant-card .ant-card-body{padding:8px 12px!important;min-height:44px;display:flex;align-items:center}.photo-stat-inline-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;min-width:0}.photo-stat-inline-title{font-size:13px;color:var(--text-secondary, #6b7280);font-weight:500;letter-spacing:.2px;white-space:nowrap;flex:0 0 auto}.photo-stat-inline-value{font-size:22px;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:auto;white-space:nowrap;flex:0 0 auto;color:var(--dark, #1f2937)}.photo-stat-card.photo-stat-total .photo-stat-inline-value{color:var(--primary, #b89a4d)}.photo-stat-card.photo-stat-pending .photo-stat-inline-value{color:#fa8c16}.photo-stat-card.photo-stat-shooting .photo-stat-inline-value{color:#1677ff}.photo-stat-card.photo-stat-completed .photo-stat-inline-value{color:#52c41a}.photo-stat-card.photo-stat-cancelled .photo-stat-inline-value{color:#ff4d4f}.stat-icon-inline{font-size:13px;vertical-align:middle}.stat-progress{margin-top:8px!important}.photo-stat-quick-inner{padding:4px 0}.photo-stat-quick-label{font-size:12px;color:#888;margin-bottom:8px}.photo-timeline-card{border-radius:var(--radius);box-shadow:0 1px 4px #0000000f}.photo-timeline-item{padding:2px 0}@media (max-width: 768px){.photo-header{padding:0 16px}.photo-header-top{height:50px}.photo-tab{font-size:13px;padding:10px 0}}.store-select-all{display:flex;align-items:center;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:600;color:var(--primary);border-radius:4px 4px 0 0;transition:background .2s;user-select:none}.store-select-all:hover{background:var(--primary-light)}.store-select-divider{height:1px;background:var(--border, #f0f0f0);margin:2px 8px}.photo-kanban-filter{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface-soft);border-radius:var(--radius);margin-bottom:16px;border:1px solid var(--border)}.photo-kanban-filter-label{font-size:13px;color:var(--text-secondary);font-weight:500;white-space:nowrap}.photo-status-tag{cursor:pointer;transition:all .2s;border-radius:4px;padding:2px 8px;font-size:12px}.photo-status-tag:hover{opacity:.85;transform:scale(1.05)}.photo-status-tag.active{font-weight:700;box-shadow:0 0 0 2px #00000026}.photo-timeline-card .ant-timeline-item{padding-bottom:20px!important}.photo-timeline-card .ant-timeline-item:last-child{padding-bottom:0!important}.photo-tl-top,.photo-tl-middle,.photo-tl-bottom{margin-bottom:4px}.photo-tl-store{font-size:12px;font-weight:600;color:var(--primary);background:var(--primary-light);padding:1px 6px;border-radius:4px}.admin-table .ant-table-column-sorter{margin-inline-start:1px!important;margin-left:1px!important}.admin-table .ant-table-column-sorters{flex-direction:row-reverse}.photography-schedule-calendar{--schedule-gold: var(--primary);--schedule-ink: var(--dark);--schedule-muted: var(--text-secondary);--schedule-line: var(--border)}.photography-schedule-calendar .ant-picker-panel{border-top:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 3%,transparent) 0%,transparent 24%)}.photography-schedule-calendar .ant-picker-content{border-collapse:separate!important;border-spacing:8px 8px!important}.photography-schedule-calendar .ant-picker-content th{height:36px;font-size:0;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,var(--surface-soft)),color-mix(in srgb,var(--primary) 8%,var(--surface-soft)));border-bottom:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:10px;box-shadow:inset 0 1px color-mix(in srgb,#fff 50%,transparent),0 1px 2px color-mix(in srgb,var(--primary) 8%,transparent)}.photography-schedule-calendar .ant-picker-content th:after{font-size:14px;color:var(--primary-dark);font-weight:800;letter-spacing:1px;text-shadow:0 1px 0 color-mix(in srgb,#fff 60%,transparent)}.photography-schedule-calendar .ant-picker-content th:nth-child(1):after{content:"日"}.photography-schedule-calendar .ant-picker-content th:nth-child(2):after{content:"一"}.photography-schedule-calendar .ant-picker-content th:nth-child(3):after{content:"二"}.photography-schedule-calendar .ant-picker-content th:nth-child(4):after{content:"三"}.photography-schedule-calendar .ant-picker-content th:nth-child(5):after{content:"四"}.photography-schedule-calendar .ant-picker-content th:nth-child(6):after{content:"五"}.photography-schedule-calendar .ant-picker-content th:nth-child(7):after{content:"六"}.photography-schedule-calendar .ant-picker-cell{padding:0!important;vertical-align:top}.photography-schedule-calendar .ant-picker-cell .ant-picker-cell-inner{width:100%!important;min-width:0!important;min-height:132px;margin:0!important;padding:0;border-radius:12px;transition:background .2s ease,box-shadow .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1),border-color .2s ease}.photography-schedule-calendar .ant-picker-calendar-date{width:100%!important;min-height:132px!important;margin:0!important;padding:10px 10px 9px!important;border:1px solid color-mix(in srgb,var(--border) 75%,transparent)!important;border-radius:12px!important;background:linear-gradient(180deg,var(--calendar-cell-bg) 0%,color-mix(in srgb,var(--calendar-cell-bg) 88%,var(--surface-soft)) 100%);box-shadow:0 1px color-mix(in srgb,#fff 70%,transparent) inset,0 1px 2px color-mix(in srgb,var(--dark) 4%,transparent);position:relative;overflow:hidden}.photography-schedule-calendar .ant-picker-calendar-date:before{content:"";position:absolute;left:10px;right:10px;top:0;height:2px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--primary) 35%,transparent) 50%,transparent 100%);opacity:.6;border-radius:0 0 2px 2px}.photography-schedule-calendar .ant-picker-cell-in-view .ant-picker-calendar-date:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--primary-light) 65%,var(--surface)),color-mix(in srgb,var(--primary-light) 35%,var(--surface-soft)));border-color:color-mix(in srgb,var(--primary) 50%,var(--border))!important;box-shadow:0 1px color-mix(in srgb,#fff 80%,transparent) inset,0 8px 24px color-mix(in srgb,var(--primary) 15%,transparent),0 2px 6px color-mix(in srgb,var(--dark) 6%,transparent);transform:translateY(-2px)}.photography-schedule-calendar .ant-picker-calendar-date-value{color:var(--schedule-ink);font-size:19px;font-weight:800;line-height:24px;letter-spacing:-.2px}.photography-schedule-calendar .ant-picker-calendar-date-content{height:auto!important;min-height:94px}.photography-schedule-calendar .ant-picker-cell-selected .ant-picker-calendar-date{border-color:var(--primary-dark)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-light) 75%,var(--surface)),color-mix(in srgb,var(--primary) 12%,var(--surface-soft)))!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 55%,transparent),0 8px 22px color-mix(in srgb,var(--primary) 22%,transparent),0 1px color-mix(in srgb,#fff 80%,transparent) inset!important;transform:translateY(-1px)}.photography-schedule-calendar .ant-picker-cell-today:not(.ant-picker-cell-selected) .ant-picker-calendar-date{border-color:var(--schedule-gold)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-light) 45%,var(--surface)) 0%,var(--calendar-cell-bg) 100%)!important;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--primary) 60%,transparent),0 2px 8px color-mix(in srgb,var(--primary) 12%,transparent)!important}.photography-schedule-calendar .ant-picker-cell-today:not(.ant-picker-cell-selected) .ant-picker-calendar-date-value{position:relative;color:var(--primary-dark)}.photography-schedule-calendar .ant-picker-cell-today:not(.ant-picker-cell-selected) .ant-picker-calendar-date-value:after{content:"";display:inline-block;width:5px;height:5px;margin-left:4px;vertical-align:3px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 0 6px color-mix(in srgb,var(--primary) 65%,transparent)}.photography-schedule-calendar .schedule-day-card{position:relative;min-height:96px;display:flex;flex-direction:column;gap:6px;padding:1px 0 0}.photography-schedule-calendar .schedule-day-card:not(.has-tasks){min-height:30px;justify-content:flex-start;opacity:.72}.photography-schedule-calendar .schedule-day-card.has-tasks{padding:0;gap:0}.photography-schedule-calendar .schedule-day-card.has-tasks .schedule-day-meta{margin:0 0 6px;padding:0 2px}.photography-schedule-calendar .schedule-day-meta,.photography-schedule-calendar .schedule-day-summary,.photography-schedule-calendar .schedule-main-task{display:flex;align-items:center;min-width:0}.photography-schedule-calendar .schedule-day-meta,.photography-schedule-calendar .schedule-day-summary{justify-content:space-between;gap:6px}.photography-schedule-calendar .schedule-lunar,.photography-schedule-calendar .schedule-holiday{overflow:hidden;color:var(--schedule-muted);font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.2px}.photography-schedule-calendar .schedule-holiday{color:#b42318;font-weight:800}.photography-schedule-calendar .schedule-count{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 8px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 92%,#fff 8%) 0%,var(--primary-dark) 100%);color:#fff;font-size:11.5px;font-weight:800;line-height:20px;box-shadow:inset 0 1px color-mix(in srgb,#fff 36%,transparent),inset 0 -1px color-mix(in srgb,var(--dark) 16%,transparent),0 2px 6px color-mix(in srgb,var(--primary) 32%,transparent);letter-spacing:.2px}.photography-schedule-calendar .schedule-count:before{content:"";width:5px;height:5px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#fff,color-mix(in srgb,var(--primary-light) 60%,#fff));box-shadow:0 0 4px color-mix(in srgb,var(--primary-light) 70%,transparent)}.photography-schedule-calendar .schedule-status-row{display:flex;gap:4px;min-height:22px;padding:0 2px;overflow:hidden}.photography-schedule-calendar .schedule-status-pill{height:22px;min-width:30px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:800;line-height:22px;text-align:center;letter-spacing:.1px;display:inline-flex;align-items:center;justify-content:center;gap:3px;transition:transform .18s ease,box-shadow .18s ease}.photography-schedule-calendar .schedule-status-pill:before{content:"";width:4px;height:4px;border-radius:999px;background:currentColor;opacity:.72;flex-shrink:0}.photography-schedule-calendar .schedule-status-pill:hover{transform:translateY(-1px)}.photography-schedule-calendar .status-pending{color:#ad6800;background:linear-gradient(135deg,color-mix(in srgb,#ffd591 70%,#fff),color-mix(in srgb,#ffe7ba 65%,#fff));box-shadow:inset 0 1px color-mix(in srgb,#fff 50%,transparent),inset 0 0 0 1px color-mix(in srgb,#fa8c16 30%,transparent),0 1px 3px color-mix(in srgb,#fa8c16 14%,transparent)}.photography-schedule-calendar .status-shooting{color:#0958d9;background:linear-gradient(135deg,color-mix(in srgb,#91caff 65%,#fff),color-mix(in srgb,#b4d8ff 60%,#fff));box-shadow:inset 0 1px color-mix(in srgb,#fff 50%,transparent),inset 0 0 0 1px color-mix(in srgb,#1677ff 32%,transparent),0 1px 3px color-mix(in srgb,#1677ff 16%,transparent)}.photography-schedule-calendar .status-completed{color:#237804;background:linear-gradient(135deg,color-mix(in srgb,#b7eb8f 65%,#fff),color-mix(in srgb,#d9f7be 60%,#fff));box-shadow:inset 0 1px color-mix(in srgb,#fff 50%,transparent),inset 0 0 0 1px color-mix(in srgb,#52c41a 30%,transparent),0 1px 3px color-mix(in srgb,#52c41a 14%,transparent)}.photography-schedule-calendar .status-cancelled{color:#a8071a;background:linear-gradient(135deg,color-mix(in srgb,#ffa39e 65%,#fff),color-mix(in srgb,#ffccc7 60%,#fff));box-shadow:inset 0 1px color-mix(in srgb,#fff 50%,transparent),inset 0 0 0 1px color-mix(in srgb,#ff4d4f 30%,transparent),0 1px 3px color-mix(in srgb,#ff4d4f 14%,transparent)}.photography-schedule-calendar .schedule-day-summary{margin:4px 2px 0;padding:0;color:var(--text-secondary);font-size:12px;line-height:16px;gap:6px}.photography-schedule-calendar .schedule-day-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photography-schedule-calendar .schedule-day-summary span:first-child{display:inline-flex;align-items:center;gap:3px;height:18px;padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--primary-light) 78%,var(--surface));color:var(--primary-dark);font-weight:800;font-size:11.5px;line-height:18px;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#fff 56%,transparent);letter-spacing:.1px;flex:0 0 auto}.photography-schedule-calendar .schedule-main-task{position:relative;gap:7px;margin:0;padding:7px 8px 7px 10px;border-left:0;border-radius:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-light) 60%,var(--surface)),color-mix(in srgb,var(--primary-light) 18%,var(--surface)));box-shadow:inset 0 1px color-mix(in srgb,#fff 60%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent),0 2px 8px color-mix(in srgb,var(--primary) 12%,transparent);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.photography-schedule-calendar .schedule-main-task:before{content:"";position:absolute;inset:5px auto 5px 0;width:3px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,var(--primary),var(--primary-dark));box-shadow:0 0 6px color-mix(in srgb,var(--primary) 60%,transparent)}.photography-schedule-calendar .schedule-main-task:after{content:"";position:absolute;top:0;right:0;bottom:0;width:18px;border-top-right-radius:9px;border-bottom-right-radius:9px;background:linear-gradient(135deg,transparent 0%,transparent 38%,color-mix(in srgb,var(--primary-light) 60%,transparent) 100%);pointer-events:none;opacity:.6}.photography-schedule-calendar .schedule-main-task:hover{transform:translate(2px) translateY(-1px);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-light) 78%,var(--surface)),color-mix(in srgb,var(--primary-light) 26%,var(--surface)));box-shadow:inset 0 1px color-mix(in srgb,#fff 70%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--primary) 36%,transparent),0 6px 14px color-mix(in srgb,var(--primary) 22%,transparent)}.photography-schedule-calendar .schedule-task-time{flex:0 0 auto;display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:5px;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary-dark)!important;font-size:11.5px;font-weight:800;line-height:18px;letter-spacing:.2px;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#fff 50%,transparent);z-index:1}.photography-schedule-calendar .schedule-task-title{position:relative;z-index:1;overflow:hidden;color:var(--dark);font-size:12.5px;font-weight:700;line-height:18px;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.photography-schedule-calendar .schedule-more{align-self:flex-end;display:inline-flex;align-items:center;gap:3px;margin:4px 2px 0;padding:1px 8px;border:1px dashed color-mix(in srgb,var(--primary) 38%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--primary-light) 32%,transparent);color:var(--primary-dark)!important;font-size:11px;font-weight:800;line-height:18px;letter-spacing:.2px;transition:background .18s,border-color .18s,transform .18s}.photography-schedule-calendar .schedule-more:after{content:"›";font-size:13px;line-height:1;font-weight:900;opacity:.7;transition:transform .18s,opacity .18s}.photography-schedule-calendar .schedule-more:hover{background:color-mix(in srgb,var(--primary-light) 56%,transparent);border-color:color-mix(in srgb,var(--primary) 58%,var(--border));transform:translateY(-1px)}.photography-schedule-calendar .schedule-more:hover:after{transform:translate(2px);opacity:1}.photography-timeline-card .ant-timeline-item-content{min-width:0;overflow-wrap:anywhere}.photography-timeline-card .ant-tag{margin-inline-end:0}.photography-schedule-calendar .ant-picker-calendar-header{min-height:0!important;margin:0!important;padding:8px 8px 7px!important;border-bottom:1px solid var(--border);display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px}.photography-schedule-calendar .ant-picker-calendar-header .ant-select,.photography-schedule-calendar .ant-picker-calendar-header .ant-radio-group{margin:0!important}.photography-schedule-calendar .ant-picker-calendar-header .ant-select-selector,.photography-schedule-calendar .ant-picker-calendar-header .ant-radio-button-wrapper{height:28px!important;line-height:26px!important}.photography-schedule-calendar .ant-picker-calendar-header .ant-select-selection-item{line-height:26px!important}.photography-calendar-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:6px 8px 7px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.photography-schedule-calendar .ant-picker-calendar-header{padding:0!important;margin:0!important}.photography-calendar-titlebar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.photography-calendar-title{min-width:0;font-weight:600;color:var(--primary-dark);white-space:nowrap}.photography-calendar-titlebar .photography-calendar-toolbar{flex:0 0 auto;padding:0;border-bottom:0;background:transparent}.photography-schedule-calendar .ant-picker-calendar-header{display:none!important}.photography-schedule-calendar .schedule-day-badges{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 auto}.photography-schedule-calendar .schedule-holiday-badge,.photography-schedule-calendar .schedule-workday-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:12px;line-height:18px;font-weight:800}.photography-schedule-calendar .schedule-holiday-badge{color:color-mix(in srgb,var(--primary-dark) 68%,#b42318);background:color-mix(in srgb,var(--primary-light) 48%,var(--surface-soft));border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border))}.photography-schedule-calendar .schedule-workday-badge{color:var(--primary-dark);background:var(--primary-light);border:1px solid color-mix(in srgb,var(--primary) 32%,transparent)}html[data-theme=blue-classic]{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: rgba(37, 99, 235, .11);--bg: #f4f7ff;--surface: #ffffff;--surface-soft: #eef4ff;--surface-strong: #e2ebff;--sidebar-bg: #f8faff;--header-bg: rgba(255, 255, 255, .95);--table-head-bg: #eef4ff;--calendar-cell-bg: #fbfdff;--calendar-cell-active: #e6efff;--dark: #172033;--text: #25324a;--text-secondary: #64748b;--border: #dce6f8;--shadow: 0 10px 28px rgba(37, 99, 235, .08);--section-operations: #2563eb;--section-service: #0ea5e9;--section-system: #475569;--section-miniapp: #16a34a}html[data-theme=blue-deep]{--primary: #0f4c81;--primary-dark: #0b3a63;--primary-light: rgba(15, 76, 129, .12);--bg: #eef5fa;--surface: #ffffff;--surface-soft: #e6f0f8;--surface-strong: #d7e7f2;--sidebar-bg: #f4f8fb;--header-bg: rgba(255, 255, 255, .95);--table-head-bg: #e6f0f8;--calendar-cell-bg: #fafcfe;--calendar-cell-active: #dcecf7;--dark: #102a43;--text: #243b53;--text-secondary: #627d98;--border: #d7e5ef;--shadow: 0 10px 28px rgba(15, 76, 129, .09);--section-operations: #0f4c81;--section-service: #2b6cb0;--section-system: #486581;--section-miniapp: #2f855a}html[data-theme=green-fresh]{--primary: #16a34a;--primary-dark: #15803d;--primary-light: rgba(22, 163, 74, .11);--bg: #f3fbf5;--surface: #ffffff;--surface-soft: #eaf8ee;--surface-strong: #d9f0df;--sidebar-bg: #f7fcf8;--header-bg: rgba(255, 255, 255, .95);--table-head-bg: #eaf8ee;--calendar-cell-bg: #fbfefc;--calendar-cell-active: #dcf5e4;--dark: #173522;--text: #254832;--text-secondary: #61756a;--border: #d7ecd9;--shadow: 0 10px 28px rgba(22, 163, 74, .08);--section-operations: #d97706;--section-service: #15803d;--section-system: #4b5563;--section-miniapp: #16a34a}html[data-theme=green-forest]{--primary: #2f6b45;--primary-dark: #255538;--primary-light: rgba(47, 107, 69, .13);--bg: #f4f8f2;--surface: #ffffff;--surface-soft: #eaf2ea;--surface-strong: #dceadd;--sidebar-bg: #f7faf5;--header-bg: rgba(255, 255, 255, .95);--table-head-bg: #eaf2ea;--calendar-cell-bg: #fcfdfb;--calendar-cell-active: #dfeddf;--dark: #1c3023;--text: #2e4436;--text-secondary: #69796d;--border: #d8e6d9;--shadow: 0 10px 28px rgba(47, 107, 69, .09);--section-operations: #9a6a28;--section-service: #2f6b45;--section-system: #55615a;--section-miniapp: #3d8b50}html[data-theme=black]{--primary: #111827;--primary-dark: #030712;--primary-light: rgba(17, 24, 39, .1);--bg: #f4f5f7;--surface: #ffffff;--surface-soft: #eef0f4;--surface-strong: #e3e7ee;--sidebar-bg: #f9fafb;--header-bg: rgba(255, 255, 255, .96);--table-head-bg: #eef0f4;--calendar-cell-bg: #fcfcfd;--calendar-cell-active: #e7eaf0;--dark: #111827;--text: #1f2937;--text-secondary: #6b7280;--border: #d9dee7;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--section-operations: #111827;--section-service: #374151;--section-system: #4b5563;--section-miniapp: #166534}html[data-theme=white]{--primary: #64748b;--primary-dark: #475569;--primary-light: rgba(100, 116, 139, .09);--bg: #ffffff;--surface: #ffffff;--surface-soft: #fafafa;--surface-strong: #f3f4f6;--sidebar-bg: #ffffff;--header-bg: rgba(255, 255, 255, .98);--table-head-bg: #fafafa;--calendar-cell-bg: #ffffff;--calendar-cell-active: #f3f4f6;--dark: #1f2937;--text: #334155;--text-secondary: #64748b;--border: #eef0f3;--shadow: 0 8px 22px rgba(15, 23, 42, .05);--section-operations: #64748b;--section-service: #64748b;--section-system: #64748b;--section-miniapp: #64748b}html[data-theme=gray]{--primary: #6b7280;--primary-dark: #4b5563;--primary-light: rgba(107, 114, 128, .12);--bg: #f5f5f4;--surface: #ffffff;--surface-soft: #eeeeec;--surface-strong: #e5e3df;--sidebar-bg: #fafaf9;--header-bg: rgba(255, 255, 255, .95);--table-head-bg: #eeeeec;--calendar-cell-bg: #fcfcfb;--calendar-cell-active: #e8e7e4;--dark: #292524;--text: #44403c;--text-secondary: #78716c;--border: #e2e0dc;--shadow: 0 10px 26px rgba(68, 64, 60, .08);--section-operations: #78716c;--section-service: #6b7280;--section-system: #57534e;--section-miniapp: #5f7668}html[data-theme=gold]{--primary: #c9a96e;--primary-dark: #b8956a;--primary-light: rgba(201, 169, 110, .12);--bg: #fdfaf6;--surface: #ffffff;--surface-soft: #fbf4e4;--surface-strong: #f3e7cb;--sidebar-bg: #fffdf9;--header-bg: rgba(255, 255, 255, .95);--table-head-bg: #fbf4e4;--calendar-cell-bg: #fffdf8;--calendar-cell-active: #f5e8c8;--dark: #2c2c2c;--text: #4a4a4a;--text-secondary: #7a7a7a;--border: #ede8e2;--shadow: 0 10px 28px rgba(201, 169, 110, .1);--section-operations: #bf7228;--section-service: #2a6fa0;--section-system: #5a5a5a;--section-miniapp: #2e7a3a}html[data-theme=magenta]{--primary: #c026d3;--primary-dark: #a21caf;--primary-light: rgba(192, 38, 211, .12);--bg: #fdf4ff;--surface: #ffffff;--surface-soft: #fae8ff;--surface-strong: #f5d0fe;--sidebar-bg: #fffaff;--header-bg: rgba(255, 255, 255, .95);--table-head-bg: #fae8ff;--calendar-cell-bg: #fffbff;--calendar-cell-active: #f5d0fe;--dark: #3b173f;--text: #3b173f;--text-secondary: #7e5a86;--border: #f0d2f6;--shadow: 0 10px 28px rgba(192, 38, 211, .1);--section-operations: #c026d3;--section-service: #7c3aed;--section-system: #7e5a86;--section-miniapp: #be185d}html[data-theme=pink-sakura]{--primary: #ec4899;--primary-dark: #db2777;--primary-light: rgba(236, 72, 153, .12);--bg: #fff5fa;--surface: #ffffff;--surface-soft: #fce7f3;--surface-strong: #fbcfe8;--sidebar-bg: #fffafc;--header-bg: rgba(255, 255, 255, .95);--table-head-bg: #fce7f3;--calendar-cell-bg: #fffbfd;--calendar-cell-active: #fbcfe8;--dark: #431a2f;--text: #431a2f;--text-secondary: #8a6073;--border: #f8d5e6;--shadow: 0 10px 28px rgba(236, 72, 153, .1);--section-operations: #ec4899;--section-service: #a855f7;--section-system: #8a6073;--section-miniapp: #f43f5e}html[data-theme=pink-rose]{--primary: #e11d48;--primary-dark: #be123c;--primary-light: rgba(225, 29, 72, .12);--bg: #fff5f6;--surface: #ffffff;--surface-soft: #ffe4e9;--surface-strong: #fecdd3;--sidebar-bg: #fffafa;--header-bg: rgba(255, 255, 255, .95);--table-head-bg: #ffe4e9;--calendar-cell-bg: #fffbfc;--calendar-cell-active: #fecdd3;--dark: #45131e;--text: #45131e;--text-secondary: #8c5d66;--border: #f6ced6;--shadow: 0 10px 28px rgba(225, 29, 72, .1);--section-operations: #e11d48;--section-service: #ec4899;--section-system: #8c5d66;--section-miniapp: #be185d}.header-theme-switcher{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:5px 8px 5px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft);box-shadow:inset 0 1px #ffffff73}.header-theme-label{color:var(--text-secondary);font-size:12px;white-space:nowrap}.theme-swatch-row{display:inline-flex;align-items:center;gap:6px}.theme-swatch{width:22px;height:22px;padding:0;border:1px solid rgba(15,23,42,.14);border-radius:6px;background:var(--swatch-color);cursor:pointer;box-shadow:inset 0 1px #ffffff59;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.theme-swatch:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0f172a24}.theme-swatch.active{border-color:var(--primary-dark);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary)}.theme-swatch.is-white{background:linear-gradient(135deg,#fff 0% 48%,#f1f5f9 49% 100%)}.header-theme-switcher+.header-user-area{margin-left:8px}.admin-layout,.admin-main,.admin-content-wrap{background:var(--bg);color:var(--text)}.admin-header-bar{background:var(--header-bg);border-bottom-color:var(--border);backdrop-filter:blur(10px)}.admin-sidebar{background:var(--sidebar-bg);border-right-color:var(--border)}.sidebar-footer{border-color:var(--border)}.header-logo-text,.admin-header-title,.page-title,.ant-card-head-title{color:var(--dark)!important}.nav-item{color:var(--text)}.nav-item:hover{background:var(--primary-light);color:var(--primary)}.nav-item.active{background:var(--primary);color:#fff}.nav-item.active .icon{color:#fff}.nav-section-operations,.nav-section-service,.nav-section-system,.nav-section-miniapp{background:color-mix(in srgb,var(--primary-light) 76%,var(--surface))}.nav-section-operations,.nav-section-service,.nav-section-system,.nav-section-miniapp{color:var(--primary-dark);border-left-color:var(--primary)}.admin-card,.ant-card,.ant-table-wrapper .ant-table,.ant-modal-content,.ant-drawer-content,.ant-popover-inner,.ant-picker-panel-container,.ant-select-dropdown{background:var(--surface)!important;border-color:var(--border)!important;box-shadow:var(--shadow)}.ant-card-head,.ant-card-body,.ant-table-wrapper .ant-table-thead>tr>th,.ant-table-wrapper .ant-table-tbody>tr>td,.ant-modal-header,.ant-drawer-header{border-color:var(--border)!important}.ant-table-wrapper .ant-table-thead>tr>th,.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td,.ant-picker-calendar .ant-picker-content th,.ant-picker-calendar .ant-picker-content td{background:var(--table-head-bg)!important}.ant-table-wrapper .ant-table-tbody>tr>td,.ant-form-item-label>label,.ant-statistic-title,.ant-typography,.ant-tabs-tab,.ant-select-selection-item,.ant-input,.ant-picker,.ant-input-number,.ant-btn-default{color:var(--text)!important}.ant-input,.ant-picker,.ant-input-number,.ant-select-selector,.ant-btn-default{background:var(--surface)!important;border-color:var(--border)!important}.ant-input:hover,.ant-picker:hover,.ant-input-number:hover,.ant-select-selector:hover,.ant-btn-default:hover{border-color:var(--primary)!important;color:var(--primary)!important}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn,.ant-tabs-ink-bar,.ant-pagination-item-active a,.ant-segmented-item-selected,.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:var(--primary)!important;border-color:var(--primary)!important}.ant-segmented,.ant-radio-button-wrapper,.ant-pagination-item,.ant-pagination-prev .ant-pagination-item-link,.ant-pagination-next .ant-pagination-item-link{background:var(--surface-soft)!important;border-color:var(--border)!important}.photography-schedule-calendar .ant-picker-calendar,.photography-schedule-calendar .ant-picker-panel,.photography-schedule-calendar .ant-picker-content td{background:var(--surface)!important}.photography-schedule-calendar .schedule-cell{background:var(--calendar-cell-bg)!important;border-color:var(--border)!important}.photography-schedule-calendar .schedule-cell.is-selected,.photography-schedule-calendar .ant-picker-cell-selected .schedule-cell{background:var(--calendar-cell-active)!important;border-color:var(--primary)!important}.photography-calendar-title,.photography-schedule-calendar .schedule-count,.header-avatar{color:var(--primary)!important}.header-avatar,.sidebar-logout-btn,.menu-toggle{background:var(--primary-light);border-color:var(--border)}.admin-header-bar,.admin-sidebar,.admin-card,.ant-card,.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-thead>tr>th,.ant-input,.ant-picker,.ant-select-selector,.photography-schedule-calendar .schedule-cell{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}html,body,#root,.admin-layout,.admin-main,.admin-content-wrap,.admin-content{background:var(--bg)!important}.admin-content-wrap{background:radial-gradient(circle at 18% 0%,color-mix(in srgb,var(--primary-light) 48%,transparent),transparent 28%),linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 82%,var(--surface-soft)) 100%)!important}.admin-sidebar::-webkit-scrollbar,.admin-content-wrap::-webkit-scrollbar,.ant-modal-body::-webkit-scrollbar,.ant-drawer-body::-webkit-scrollbar{width:8px;height:8px}.admin-sidebar::-webkit-scrollbar-track,.admin-content-wrap::-webkit-scrollbar-track,.ant-modal-body::-webkit-scrollbar-track,.ant-drawer-body::-webkit-scrollbar-track{background:var(--surface-soft)}.admin-sidebar::-webkit-scrollbar-thumb,.admin-content-wrap::-webkit-scrollbar-thumb,.ant-modal-body::-webkit-scrollbar-thumb,.ant-drawer-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 42%,var(--border));border-radius:999px;border:2px solid var(--surface-soft)}.admin-sidebar::-webkit-scrollbar-thumb:hover,.admin-content-wrap::-webkit-scrollbar-thumb:hover,.ant-modal-body::-webkit-scrollbar-thumb:hover,.ant-drawer-body::-webkit-scrollbar-thumb:hover{background:var(--primary)}.photo-loading-note{padding:8px 16px;margin-bottom:8px;color:var(--primary-dark);font-size:13px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:6px;background:linear-gradient(135deg,var(--surface-soft),color-mix(in srgb,var(--surface) 82%,var(--surface-strong)))}.photography-timeline-card{background:linear-gradient(180deg,var(--surface) 0%,color-mix(in srgb,var(--surface) 90%,var(--surface-soft)) 100%)!important;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));box-shadow:var(--shadow)}.photography-timeline-card h3{color:var(--dark)}.photography-timeline-card .ant-timeline-item-content{color:var(--text-secondary)}.photography-timeline-entry{padding:6px 8px;margin:-4px 0 4px;border:1px solid transparent;border-radius:8px;background:transparent}.photography-timeline-entry.is-selected{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));background:linear-gradient(135deg,var(--primary-light),color-mix(in srgb,var(--primary-light) 42%,var(--surface)));box-shadow:inset 3px 0 0 var(--primary),0 6px 14px color-mix(in srgb,var(--primary) 12%,transparent)}.photography-timeline-entry-title{color:var(--dark);font-weight:500}.photography-timeline-entry-meta{color:var(--text-secondary);font-size:13px}.photography-timeline-card .ant-timeline-item-head{background-color:var(--surface)!important;border-color:var(--primary)!important}.photography-timeline-card .ant-timeline-item-tail{border-inline-start-color:color-mix(in srgb,var(--primary) 20%,var(--border))!important}.photography-schedule-calendar,.photography-schedule-calendar .ant-picker-calendar,.photography-schedule-calendar .ant-picker-panel,.photography-schedule-calendar .ant-picker-content{background:color-mix(in srgb,var(--surface) 86%,var(--surface-soft))!important}.photography-schedule-calendar .ant-picker-panel{border-color:color-mix(in srgb,var(--primary) 18%,var(--border))!important}.photography-schedule-calendar .ant-picker-cell,.photography-schedule-calendar .ant-picker-content td{background:transparent!important}.photography-schedule-calendar .ant-picker-cell:not(.ant-picker-cell-in-view) .ant-picker-calendar-date{background:color-mix(in srgb,var(--calendar-cell-bg) 52%,var(--surface-soft))!important;border-color:color-mix(in srgb,var(--border) 72%,transparent)!important;opacity:.62}.photography-schedule-calendar .ant-picker-cell-in-view .ant-picker-calendar-date{background:linear-gradient(180deg,var(--calendar-cell-bg) 0%,color-mix(in srgb,var(--calendar-cell-bg) 78%,var(--surface-soft)) 100%)!important}.photography-schedule-calendar .schedule-day-card:not(.has-tasks){opacity:.66}.photography-schedule-calendar .schedule-holiday{color:color-mix(in srgb,var(--primary-dark) 78%,#b42318)}.photography-schedule-calendar .schedule-holiday-badge{color:color-mix(in srgb,var(--primary-dark) 68%,#b42318)!important;background:color-mix(in srgb,var(--primary-light) 48%,#fff1f0)!important;border-color:color-mix(in srgb,var(--primary) 24%,#ffccc7)!important}.photography-schedule-calendar .schedule-count{padding:2px 9px!important;border:1px solid color-mix(in srgb,var(--primary) 34%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 14%,var(--surface)),color-mix(in srgb,var(--primary-light) 72%,var(--surface)))!important;color:var(--primary-dark)!important;box-shadow:0 4px 10px color-mix(in srgb,var(--primary) 10%,transparent),inset 0 1px color-mix(in srgb,var(--surface) 72%,transparent)!important}.photography-schedule-calendar .schedule-status-row{gap:4px!important;padding:1px 0}.photography-schedule-calendar .schedule-status-pill{min-width:28px!important;height:20px!important;padding:0 7px!important;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:999px!important;line-height:18px!important;letter-spacing:0;box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 62%,transparent)}.photography-schedule-calendar .status-pending{color:#ad6800!important;background:linear-gradient(135deg,#fff7e6,color-mix(in srgb,#faad14 14%,var(--surface)))!important;border-color:color-mix(in srgb,#faad14 42%,var(--border))!important}.photography-schedule-calendar .status-shooting{color:#0958d9!important;background:linear-gradient(135deg,#e6f4ff,color-mix(in srgb,#1677ff 12%,var(--surface)))!important;border-color:color-mix(in srgb,#1677ff 38%,var(--border))!important}.photography-schedule-calendar .status-completed{color:#237804!important;background:linear-gradient(135deg,#f6ffed,color-mix(in srgb,#52c41a 12%,var(--surface)))!important;border-color:color-mix(in srgb,#52c41a 38%,var(--border))!important}.photography-schedule-calendar .status-cancelled{color:#cf1322!important;background:linear-gradient(135deg,#fff1f0,color-mix(in srgb,#ff4d4f 12%,var(--surface)))!important;border-color:color-mix(in srgb,#ff4d4f 36%,var(--border))!important}.photography-schedule-calendar .schedule-day-summary{padding:0 1px;gap:6px}.photography-schedule-calendar .schedule-main-task{position:relative;min-height:30px;padding:5px 7px 5px 8px!important;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border))!important;border-left:0!important;border-radius:8px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-light) 46%,var(--surface)),color-mix(in srgb,var(--surface) 82%,var(--surface-soft)))!important;box-shadow:0 5px 12px color-mix(in srgb,var(--primary) 9%,transparent)}.photography-schedule-calendar .schedule-main-task:before{content:"";position:absolute;inset:5px auto 5px 0;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--primary),var(--primary-dark))}.photography-schedule-calendar .schedule-task-time{padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary-dark)!important;line-height:16px}.photography-schedule-calendar .schedule-task-title{color:var(--dark)!important;font-weight:800!important}.photography-schedule-calendar .schedule-more{align-self:flex-end;padding:1px 7px;border:1px dashed color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--primary-light) 36%,transparent);color:var(--primary-dark)!important;font-weight:700}.photography-timeline-card .ant-timeline{padding-right:2px}.photography-timeline-card .ant-timeline-item{padding-bottom:14px!important}.photography-timeline-card .ant-timeline-item-head{width:11px!important;height:11px!important;background:var(--surface)!important;border:2px solid var(--primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.photography-timeline-entry{position:relative;padding:10px 11px 10px 13px!important;margin:-5px 0 6px!important;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border))!important;border-radius:10px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 92%,var(--surface-soft)),color-mix(in srgb,var(--surface) 82%,var(--primary-light)))!important;box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 8%,transparent);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.photography-timeline-entry:before{content:"";position:absolute;top:10px;bottom:10px;left:0;width:3px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,var(--primary),var(--primary-dark));opacity:.72}.photography-timeline-entry:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 34%,var(--border))!important;box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 13%,transparent)}.photography-timeline-entry.is-selected{border-color:color-mix(in srgb,var(--primary) 56%,var(--border))!important;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-light) 78%,var(--surface)),color-mix(in srgb,var(--primary) 10%,var(--surface)))!important;box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 16%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--surface) 72%,transparent)!important}.photography-timeline-entry-title,.photography-timeline-entry-tags,.photography-timeline-entry-meta{display:flex;align-items:center;min-width:0}.photography-timeline-entry-title{flex-wrap:wrap;gap:6px;color:var(--dark)!important;font-weight:700!important}.photo-timeline-time-chip,.photo-timeline-type-chip,.photo-timeline-status-chip,.photo-timeline-soft-tag{display:inline-flex;align-items:center;max-width:100%;min-height:22px;border-radius:999px;white-space:nowrap;letter-spacing:0}.photo-timeline-time-chip{padding:2px 8px;border:1px solid color-mix(in srgb,var(--primary) 36%,var(--border));background:color-mix(in srgb,var(--primary-light) 58%,var(--surface));color:var(--primary-dark);font-size:12px;font-weight:900}.photo-timeline-type-chip{padding:2px 8px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));background:color-mix(in srgb,var(--surface-soft) 72%,var(--surface));color:var(--dark);font-size:12px;font-weight:800}.photo-timeline-status-chip{padding:2px 8px;border:1px solid transparent;font-size:12px;font-weight:800;box-shadow:inset 0 1px #ffffff73}.photo-timeline-status-chip.status-pending{color:#ad6800;background:#fff7e6;border-color:#ffd591}.photo-timeline-status-chip.status-shooting{color:#0958d9;background:#e6f4ff;border-color:#91caff}.photo-timeline-status-chip.status-completed{color:#237804;background:#f6ffed;border-color:#b7eb8f}.photo-timeline-status-chip.status-cancelled{color:#cf1322;background:#fff1f0;border-color:#ffa39e}.photography-timeline-entry-meta{flex-wrap:wrap;gap:5px 8px;margin-top:7px;color:var(--text-secondary)!important;font-size:12px!important;line-height:18px}.photography-timeline-entry-meta span+span:before{content:"";display:inline-block;width:4px;height:4px;margin-right:8px;border-radius:999px;vertical-align:middle;background:color-mix(in srgb,var(--primary) 46%,var(--border))}.photography-timeline-entry-tags{flex-wrap:wrap;gap:6px;margin-top:7px}.photo-timeline-soft-tag{overflow:hidden;padding:2px 8px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));background:color-mix(in srgb,var(--primary-light) 34%,var(--surface));color:var(--primary-dark);font-size:12px;font-weight:700;text-overflow:ellipsis}.ant-modal-root .ant-modal-wrap,.ant-drawer-content-wrapper{background:color-mix(in srgb,var(--bg) 78%,transparent)}.ant-modal-root .ant-modal-content,.ant-drawer-content{overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 44%,var(--border))!important;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,var(--surface-soft)) 0%,var(--surface) 42%)!important;box-shadow:0 18px 48px color-mix(in srgb,var(--primary) 18%,rgba(15,23,42,.16))!important}.ant-modal-root .ant-modal-header,.ant-drawer-header{position:relative;margin:0!important;padding:12px 48px 12px 16px!important;border-bottom:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))!important;background:linear-gradient(135deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 54%,var(--surface-strong)) 48%,var(--surface-strong) 100%)!important}.almanac-page{display:flex;flex-direction:column;gap:20px;animation:fadeIn .25s ease}.almanac-header{display:flex;align-items:center;justify-content:space-between}.almanac-header__left{display:flex;align-items:center;gap:8px}.almanac-header__title{font-size:18px;font-weight:700;color:var(--dark)}.almanac-today-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.almanac-today-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.almanac-header__center{flex:1;display:flex;justify-content:center;align-items:center;min-width:0}.almanac-jq-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 16px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:1px;white-space:nowrap;color:var(--jq-text, #fff);background:linear-gradient(135deg,var(--jq-grad-2, #c9a96e),var(--jq-grad-3, #a8884c));box-shadow:0 2px 10px var(--jq-shadow, rgba(201, 169, 110, .32));border:1px solid rgba(255,255,255,.28)}.almanac-jq-badge__icon{font-size:15px;line-height:1}.almanac-weather{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px;padding:14px 20px;border-radius:12px;background:color-mix(in srgb,var(--jq-accent-light, #f3ede1) 55%,var(--surface));border:1px solid color-mix(in srgb,var(--jq-accent, var(--primary)) 36%,var(--border));box-shadow:0 4px 14px color-mix(in srgb,var(--jq-accent, var(--primary)) 10%,transparent)}.almanac-weather__now{display:flex;align-items:center;gap:12px;flex-shrink:0}.almanac-weather__icon{font-size:34px;line-height:1}.almanac-weather__temp{font-size:30px;font-weight:700;color:var(--jq-accent, var(--text))}.almanac-weather__info{display:flex;flex-direction:column;gap:2px}.almanac-weather__text{font-size:14px;font-weight:600}.almanac-weather__meta{display:flex;gap:10px;font-size:12px;color:var(--text-secondary)}.almanac-weather__forecast{display:flex;gap:6px;overflow-x:auto;flex:1;padding-bottom:4px}.almanac-weather__day{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:46px;padding:6px 4px;border-radius:8px;background:#ffffff80}.almanac-weather__date{font-size:11px;color:var(--text-secondary)}.almanac-weather__day-icon{font-size:18px}.almanac-weather__temps{display:flex;gap:4px;font-size:12px}.almanac-weather__temps .hi{font-weight:700;color:var(--jq-accent, #c0392b)}.almanac-weather__temps .lo{color:var(--text-secondary)}.almanac-weather--hint{font-size:13px;color:var(--text-secondary);background:transparent;border-style:dashed}.almanac-lunar-header{background:linear-gradient(135deg,var(--jq-grad-1, #e8d3a2) 0%,var(--jq-grad-2, #c9a96e) 48%,var(--jq-grad-3, #a8884c) 100%);border-radius:14px;padding:24px 28px;color:var(--jq-text, #fff);box-shadow:0 8px 32px var(--jq-shadow, rgba(201, 169, 110, .32)),inset 0 1px #ffffff2e}.almanac-lunar-header__main{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.almanac-lunar-header__right{display:flex;align-items:center;gap:12px;flex-shrink:0}.almanac-lunar-title{font-size:22px;font-weight:700;margin:0;letter-spacing:1px;text-shadow:0 1px 3px rgba(0,0,0,.15)}.almanac-shengxiao{font-size:13px;opacity:.85;background:#ffffff29;padding:2px 10px;border-radius:10px}.almanac-liqiu{display:flex;align-items:center;justify-content:center;gap:8px;background:#ffffff2e;border:1px solid rgba(255,255,255,.32);border-radius:12px;padding:6px 16px;backdrop-filter:blur(2px);box-shadow:0 2px 8px #0000001f}.almanac-liqiu__icon{font-size:16px;line-height:1}.almanac-liqiu__label{font-size:13px;font-weight:700;letter-spacing:3px;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.18)}.almanac-liqiu__poem{font-size:12px;opacity:.82;letter-spacing:.5px;white-space:nowrap;padding-left:10px;position:relative}.almanac-liqiu__poem:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:#fff6}.almanac-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.almanac-stat{background:#ffffff1f;border-radius:10px;padding:10px 14px;text-align:center;backdrop-filter:blur(4px)}.almanac-stat__label{font-size:11px;opacity:.8;display:block;margin-bottom:2px}.almanac-stat__value{font-size:20px;font-weight:800;line-height:1.2}.almanac-stat__sub{font-size:11px;opacity:.7;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.almanac-stat--yi .almanac-stat__value{color:#c9f2d6}.almanac-stat--ji .almanac-stat__value{color:#f8c6bd}.almanac-stat--jishen .almanac-stat__value,.almanac-stat--xiongsha .almanac-stat__value{color:#f2dda8}.almanac-nav__group{display:flex;align-items:center;gap:8px}.almanac-nav__sep{color:#ffffff59;font-size:16px;user-select:none}.almanac-nav__btn{width:36px;height:36px;border:none;border-radius:10px;background:#ffffff2e;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.almanac-nav__btn:hover{background:#ffffff4d;transform:scale(1.06)}.almanac-nav__btn--year{width:32px;height:32px;font-size:16px;font-weight:700;background:#ffffff38;border-radius:8px}.almanac-nav__btn--year:hover{background:#ffffff61}.almanac-nav__center{display:flex;align-items:center;gap:8px}.almanac-year-select{appearance:none;-webkit-appearance:none;background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:6px 30px 6px 14px;font-size:16px;font-weight:700;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(255,255,255,0.8)' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:10px;transition:all .2s;min-width:72px}.almanac-year-select:hover{background-color:#ffffff47;border-color:#ffffff8c}.almanac-year-select option{color:var(--dark)}.almanac-month-label{font-size:20px;font-weight:700;min-width:48px}.almanac-body{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}@media (max-width: 900px){.almanac-body{grid-template-columns:1fr}}.almanac-calendar-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overscroll-behavior:contain}.almanac-week-header{display:grid;grid-template-columns:repeat(7,1fr);background:linear-gradient(180deg,var(--surface-soft),var(--bg));border-bottom:1px solid var(--border)}.almanac-week-day{text-align:center;font-size:13px;font-weight:700;color:var(--text-secondary);padding:10px 0}.almanac-week-day--weekend{color:#e85d75}.almanac-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:8px}.almanac-cell{aspect-ratio:1;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:10px;cursor:pointer;transition:all .18s ease;position:relative;border:1px solid transparent;user-select:none}.almanac-cell:hover{background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.almanac-cell--other-month{opacity:.35}.almanac-cell--other-month:hover{opacity:.6}.almanac-cell--today{background:color-mix(in srgb,var(--jq-accent-light, var(--primary-light)) 60%,var(--surface));border-color:var(--jq-accent, var(--primary));box-shadow:0 0 0 2px color-mix(in srgb,var(--jq-accent, var(--primary)) 22%,transparent)}.almanac-cell--selected{background:var(--jq-accent, var(--primary))!important;border-color:var(--jq-accent, var(--primary-dark))!important;box-shadow:0 4px 12px color-mix(in srgb,var(--jq-accent, var(--primary)) 30%,transparent)}.almanac-cell--selected .almanac-cell__solar,.almanac-cell--selected .almanac-cell__lunar{color:#fff!important}.almanac-cell__solar{font-size:16px;font-weight:700;color:var(--dark);line-height:1.2}.almanac-cell__lunar{font-size:11px;color:var(--text-secondary);line-height:1.2}.almanac-cell--jieqi .almanac-cell__lunar{color:var(--jq-accent, #ba7517);font-weight:700}.almanac-cell--lunar-fest .almanac-cell__lunar{color:#a32d2d;font-weight:700}.almanac-cell--solar-fest .almanac-cell__lunar{color:#1d9e75;font-weight:700}.almanac-hints{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;margin-top:8px;border-top:1px solid var(--border);background:var(--bg-soft, #f7f9fc);border-radius:0 0 12px 12px}.almanac-hint{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff;border:1px solid var(--border, #e8edf3);border-radius:999px;font-size:12px;color:var(--text-secondary, #5b6b7f);line-height:1.4;box-shadow:0 1px 2px #1428500a}.almanac-hint__icon{font-size:14px;flex-shrink:0}.almanac-hint__text b{color:var(--text-primary, #2a3650);font-weight:600}.almanac-hint__kbd{display:inline-block;padding:0 5px;background:#eef2f8;border:1px solid #d7dee8;border-bottom-width:2px;border-radius:4px;font-size:11px;font-family:inherit}.almanac-sidebar{display:flex;flex-direction:column;gap:16px}.almanac-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.almanac-detail__date{font-size:17px;font-weight:700;color:var(--dark);margin:0 0 8px}.almanac-detail__lunar{font-size:14px;color:var(--primary-dark);margin:0 0 6px}.almanac-detail__jieqi{color:var(--jq-accent, #ba7517);font-weight:600}.almanac-detail__ganzi,.almanac-detail__extra{font-size:13px;color:var(--text-secondary);margin:0 0 4px}.almanac-detail__yiji{margin-top:12px;display:flex;flex-direction:column;gap:10px}.almanac-yi__label,.almanac-ji__label{flex-shrink:0;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff}.almanac-yi__label{background:linear-gradient(135deg,#1d9e75,#0f6e56)}.almanac-ji__label{background:linear-gradient(135deg,#d85a30,#a32d2d)}.almanac-yi__list,.almanac-ji__list{display:flex;flex-wrap:wrap;gap:4px;flex:1}.almanac-yi__list span,.almanac-ji__list span{font-size:12px;padding:2px 8px;border-radius:4px;background:var(--bg);color:var(--text)}.almanac-empty{font-size:12px;color:var(--text-secondary);font-style:italic}.almanac-detail__jishen,.almanac-detail__xiongsha{font-size:12px;color:var(--text-secondary);margin-top:6px;line-height:1.6}.almanac-shichen{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow)}.almanac-shichen__title{font-size:15px;font-weight:700;color:var(--dark);margin:0 0 12px}.almanac-shichen__item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;transition:all .2s;font-size:12px;color:var(--text)}.almanac-shichen__item:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 10px color-mix(in srgb,var(--primary) 15%,transparent)}.almanac-shichen__item--active{border-color:var(--jq-accent, var(--primary));background:var(--jq-accent, var(--primary))!important;color:#fff!important;box-shadow:0 4px 14px color-mix(in srgb,var(--jq-accent, var(--primary)) 30%,transparent)}.almanac-shichen__item--active .almanac-shichen__time{color:#fffc!important}.almanac-shichen__animal{font-size:18px;line-height:1}.almanac-shichen__name{font-weight:700;font-size:12px}.almanac-shichen__time{font-size:10px;color:var(--text-secondary)}.almanac-shichen__detail{margin-top:10px;padding:8px 12px;background:var(--primary-light);border-radius:8px;font-size:13px;color:var(--primary-dark);text-align:center;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent)}@media (max-width: 768px){.almanac-lunar-header{padding:16px 18px}.almanac-lunar-title{font-size:18px}.almanac-stats{grid-template-columns:repeat(2,1fr)}.almanac-shichen__grid{grid-template-columns:repeat(3,1fr)}.almanac-cell{min-height:56px}.almanac-cell__solar{font-size:14px}.almanac-cell__lunar{font-size:10px}}.ant-modal-root .ant-modal-title,.ant-drawer-title{color:#fff!important;font-weight:700!important;text-shadow:0 1px 2px rgba(0,0,0,.18)}.ant-modal-root .ant-modal-body,.ant-drawer-body{background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--primary-light) 64%,transparent),transparent 34%),linear-gradient(180deg,var(--surface) 0%,color-mix(in srgb,var(--surface) 88%,var(--surface-soft)) 100%)!important}.ant-modal-root .ant-modal-footer,.ant-drawer-footer{border-top:1px solid var(--border)!important;background:color-mix(in srgb,var(--surface) 88%,var(--surface-soft))!important}.ant-modal-root .ant-modal-close,.ant-drawer-close{color:#fff!important;background:color-mix(in srgb,var(--primary-dark) 78%,rgba(15,23,42,.28))!important;border:1px solid color-mix(in srgb,#fff 70%,var(--primary))!important;box-shadow:0 4px 14px color-mix(in srgb,var(--primary) 30%,rgba(0,0,0,.16))!important}.ant-modal-root .ant-modal-close:hover,.ant-modal-root .ant-modal-close:focus-visible,.ant-drawer-close:hover,.ant-drawer-close:focus-visible{color:#fff!important;background:color-mix(in srgb,var(--primary) 82%,#111827)!important;border-color:#fff!important}.dm-body>.ant-modal-content{border:2px solid color-mix(in srgb,var(--primary, #c9a96e) 48%,var(--border, #e5e7eb))!important;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--primary-light, #f3e4c8) 58%,transparent),transparent 34%),linear-gradient(180deg,var(--surface, #fff) 0%,color-mix(in srgb,var(--surface, #fff) 88%,var(--surface-soft, #f8fafc)) 100%)!important;box-shadow:0 18px 48px color-mix(in srgb,var(--primary, #c9a96e) 20%,rgba(15,23,42,.16)),0 0 0 1px color-mix(in srgb,var(--primary, #c9a96e) 18%,transparent)!important}.dm-body>.ant-modal-content>.ant-modal-header{background:linear-gradient(135deg,var(--primary, #c9a96e) 0%,color-mix(in srgb,var(--primary, #c9a96e) 54%,var(--surface-strong, #0f172a)) 52%,var(--surface-strong, #0f172a) 100%)!important;border-bottom:1px solid color-mix(in srgb,var(--primary, #c9a96e) 34%,var(--border, #e5e7eb))!important}.dm-body>.ant-modal-content>.ant-modal-body{background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--primary-light, #f3e4c8) 52%,transparent),transparent 34%),linear-gradient(180deg,var(--surface, #fff) 0%,color-mix(in srgb,var(--surface, #fff) 88%,var(--surface-soft, #f8fafc)) 100%)!important}.dm-body>.ant-modal-content>.ant-modal-close{background:color-mix(in srgb,var(--primary-dark, #b8956a) 74%,rgba(15,23,42,.28))!important;border-color:color-mix(in srgb,#fff 70%,var(--primary, #c9a96e))!important;box-shadow:0 4px 14px color-mix(in srgb,var(--primary, #c9a96e) 30%,rgba(0,0,0,.18)),inset 0 1px #ffffff3d!important}.dm-body>.ant-modal-content>.ant-modal-close:hover,.dm-body>.ant-modal-content>.ant-modal-close:focus-visible{background:color-mix(in srgb,var(--primary, #c9a96e) 82%,#111827)!important;border-color:#fff!important;box-shadow:0 6px 18px color-mix(in srgb,var(--primary, #c9a96e) 42%,rgba(0,0,0,.22)),inset 0 1px #ffffff3d!important}.login-bg-setting-note,.login-bg-empty{padding:14px 16px;border-radius:10px;color:var(--text-secondary);background:color-mix(in srgb,var(--primary-light) 46%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));line-height:1.7}.login-bg-list{display:flex;flex-direction:column;gap:12px}.login-bg-config-row{display:grid;grid-template-columns:96px minmax(0,1fr) 40px;gap:12px;align-items:center;padding:10px;border-radius:12px;background:color-mix(in srgb,var(--surface-soft) 70%,var(--surface));border:1px solid var(--border)}.login-bg-config-thumb{width:96px;height:58px;border-radius:9px;background-color:color-mix(in srgb,var(--primary-light) 58%,var(--surface));background-position:center;background-size:cover;display:flex;align-items:center;justify-content:center;color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));overflow:hidden}.login-bg-custom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.login-bg-custom-item{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:var(--surface-soft);aspect-ratio:16 / 10}.login-bg-custom-item img{width:100%;height:100%;object-fit:cover;display:block}.login-bg-custom-item .ant-btn{position:absolute;right:10px;bottom:10px;box-shadow:0 6px 16px #00000038}#root>.admin-layout,.admin-layout{display:flex!important;height:100vh!important;height:100dvh!important;overflow:hidden!important;width:100%!important;background:var(--bg)!important;color:var(--text)!important}.admin-sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;height:100vh!important;z-index:100!important;width:var(--sidebar-width)!important;min-width:var(--sidebar-width)!important;max-width:var(--sidebar-width)!important;background:var(--sidebar-bg, var(--surface))!important;border-right:1px solid var(--border)!important;display:flex!important;flex-direction:column!important;flex-shrink:0!important;overflow-y:auto!important;overflow-x:hidden!important}.admin-main{flex:1 1 auto!important;min-width:0!important;margin-left:var(--sidebar-width)!important;display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow:hidden!important;background:var(--bg)!important}@media (max-width: 768px){.admin-sidebar{transform:translate(-100%)!important;width:260px!important;min-width:260px!important;max-width:260px!important}.admin-sidebar.open{transform:translate(0)!important}.admin-main{margin-left:0!important;width:100vw!important}.admin-header-bar{width:100vw!important}}.admin-header-bar{width:calc(100vw - var(--sidebar-width))!important;min-height:64px;height:auto;background:var(--header-bg, var(--surface))!important;border-bottom:1px solid var(--border)!important}.admin-content-wrap,.admin-content{min-width:0!important;background:var(--bg)!important}.admin-content-wrap{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;position:relative!important}.pre-react{display:none}@media (min-width: 769px){.admin-layout.sidebar-collapsed .admin-sidebar{transform:translate(calc(-1 * var(--sidebar-width)))!important}.admin-layout.sidebar-collapsed .admin-main{margin-left:0!important}.admin-layout.sidebar-collapsed .admin-header-bar{width:100vw!important}}.app-error-boundary{min-height:100vh;padding:32px;color:var(--text);background:radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 32%),radial-gradient(circle at 86% 0%,color-mix(in srgb,var(--primary-light) 24%,transparent),transparent 30%),linear-gradient(135deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 78%,var(--primary-dark)) 100%);box-sizing:border-box}.app-error-card{max-width:980px;margin:0 auto;padding:22px;border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,var(--primary-light));border:1px solid color-mix(in srgb,var(--primary) 34%,var(--border));box-shadow:0 24px 64px color-mix(in srgb,var(--primary) 18%,rgba(15,23,42,.2))}.app-error-kicker{display:inline-flex;align-items:center;height:28px;padding:0 10px;margin-bottom:10px;border-radius:999px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.2px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 22%,transparent)}.app-error-card h2{margin:0 0 14px;color:var(--text);font-size:22px}.app-error-stack,.app-error-info{white-space:pre-wrap;margin:0;padding:14px;border-radius:12px;font-family:Consolas,ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.55;color:var(--text);background:color-mix(in srgb,var(--bg) 8%,var(--surface-soft));border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));overflow:auto}.app-error-stack{font-size:13px}.app-error-info{margin-top:12px;font-size:11px;color:var(--text-secondary)}.login-card{background:linear-gradient(180deg,#fffffff0,#ffffffe0);border:1px solid rgba(255,255,255,.42)!important;box-shadow:0 24px 70px #0000006b,0 12px 34px color-mix(in srgb,var(--primary) 18%,transparent),0 0 0 1px #ffffff1f inset!important}.login-logo-icon{background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.34),transparent 34%),linear-gradient(135deg,var(--primary),var(--primary-dark))!important;color:#fff!important;box-shadow:0 18px 42px color-mix(in srgb,var(--primary) 28%,transparent)!important}.login-title{color:color-mix(in srgb,var(--dark) 86%,var(--primary))!important}.login-subtitle{color:color-mix(in srgb,var(--text-secondary) 78%,var(--primary))!important}.login-tabs .ant-tabs-tab{background:color-mix(in srgb,var(--surface) 78%,var(--primary-light))!important;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border))!important;color:var(--text-secondary)!important;transition:all .2s ease!important}.login-tabs .ant-tabs-tab:hover{color:var(--primary)!important;border-color:color-mix(in srgb,var(--primary) 46%,var(--border))!important;box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 12%,transparent)!important}.login-tabs .ant-tabs-tab-active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 18%,var(--surface)),color-mix(in srgb,var(--primary-light) 80%,var(--surface)))!important;border-color:color-mix(in srgb,var(--primary) 54%,var(--border))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 24%,transparent),0 10px 24px color-mix(in srgb,var(--primary) 14%,transparent)!important}.login-tabs .ant-tabs-tab-active .ant-tabs-tab-btn,.login-tabs .ant-tabs-tab-active .tab-label-with-icon,.login-tabs .ant-tabs-tab-active .anticon{color:var(--primary-dark)!important}.login-tabs .ant-input-affix-wrapper,.login-tabs .ant-input,.login-tabs .ant-input-password{background:color-mix(in srgb,var(--primary-light) 18%,var(--surface))!important;border-color:color-mix(in srgb,var(--primary) 30%,var(--border))!important;color:var(--text)!important;border-radius:11px!important}.login-tabs .ant-input-affix-wrapper:hover,.login-tabs .ant-input:hover,.login-tabs .ant-input-affix-wrapper-focused,.login-tabs .ant-input:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)!important}.login-tabs .ant-input-prefix,.login-tabs .ant-input-suffix,.login-tabs .anticon{color:var(--primary)!important}.login-tabs .ant-btn-primary,.login-card .ant-btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;border-color:transparent!important;color:#fff!important;box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 28%,transparent)!important}.login-tabs .ant-btn-primary:hover,.login-card .ant-btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.login-footer-record{color:#ffffffd1!important;text-shadow:0 2px 12px rgba(0,0,0,.48)}.login-footer-record span{background:color-mix(in srgb,var(--primary) 14%,rgba(0,0,0,.32));border:1px solid color-mix(in srgb,var(--primary) 22%,rgba(255,255,255,.16));border-radius:999px;padding:4px 10px;backdrop-filter:blur(12px)}.login-captcha-box{display:flex;align-items:center;gap:6px;height:40px;flex-shrink:0;padding:0 16px;user-select:none;cursor:pointer;border-radius:10px;background:color-mix(in srgb,var(--primary-light) 42%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border))}.login-captcha-formula{font-size:18px;font-weight:700;color:var(--text);letter-spacing:2px}.login-captcha-refresh{color:var(--primary);font-size:13px}.login-captcha-error{font-size:12px;color:#ff4d4f;white-space:nowrap}.login-security-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.login-security-passed,.login-reset-success{display:flex;align-items:center;gap:8px;color:var(--primary-dark);font-size:13px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--primary-light) 62%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border))}.login-reset-success{justify-content:center;padding:16px 12px;text-align:center}.login-wechat-qr,.login-wechat-placeholder{width:200px;height:200px;border-radius:14px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));background:transparent;box-shadow:0 10px 26px color-mix(in srgb,var(--primary) 10%,transparent)}.login-wechat-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.login-wechat-title{font-size:15px;color:var(--text);font-weight:600;margin-bottom:4px}.login-wechat-subtitle,.login-wechat-note{font-size:13px;color:var(--text-secondary)}.login-wechat-note{font-size:12px;text-align:center}.login-wechat-panel-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;gap:4px;width:100%;min-height:100%;box-sizing:border-box;background:transparent}.login-wechat-quick-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100%;margin:0 auto;padding:24px 16px 28px;gap:18px;box-sizing:border-box;text-align:center;background:transparent}.login-wechat-quick-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#07c1601a;color:#07c160;font-size:12px;font-weight:500}.login-wechat-quick-badge .anticon{font-size:14px}.login-wechat-quick-brand{font-size:16px;font-weight:600;color:var(--text, #1a1a1a);margin-top:2px}.login-wechat-quick-avatar{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#fce7f3b8,#fbcfe8b8);display:flex;align-items:center;justify-content:center;font-size:48px;color:#ec4899;margin:4px 0 2px;box-shadow:0 2px 8px #ec48991f;overflow:hidden}.login-wechat-quick-avatar img{width:100%;height:100%;object-fit:cover}.login-wechat-quick-brand{font-size:20px;font-weight:600;color:var(--text, #1a1a1a)}.login-wechat-quick-desc{font-size:15px;color:var(--text-secondary, #6b7280);margin-bottom:4px}.login-wechat-quick-btn.ant-btn{height:52px;min-width:200px;border-radius:12px;font-size:17px;font-weight:500;margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.login-wechat-quick-btn.ant-btn .anticon,.login-wechat-quick-btn.ant-btn .ant-btn-icon{color:#07c160}.login-wechat-quick-switch.ant-btn{color:var(--text-secondary, #6b7280);font-size:13px;padding:0;height:auto;margin-top:2px}.login-wechat-quick-switch.ant-btn:hover{color:var(--primary, #1677ff)}.login-wechat-qr-section{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:280px;margin:0 auto;padding:0 0 8px;gap:8px;box-sizing:border-box;text-align:center;background:transparent}.login-wechat-qr-section .wx-login-qr-container{position:relative;width:210px;height:280px;max-width:100%;margin:0 auto;border-radius:12px;overflow:hidden;background:transparent;border:none}.login-wechat-qr-section .wx-login-qr-container iframe{position:absolute;top:0;left:0;width:300px!important;height:400px!important;border:none;transform:scale(.7);transform-origin:top left;display:block!important}.login-wechat-qr-section .wx-login-qr-container img{max-width:100%!important;max-height:100%!important;object-fit:contain!important;display:block!important}.login-wechat-qr-section .wx-login-qr-container.is-loading{opacity:.6;transition:opacity .2s}.login-wechat-hint{font-size:12px;color:var(--text-secondary, #6b7280);text-align:center;line-height:1.6;max-width:280px;padding:0 12px}.login-wechat-refresh.ant-btn{font-size:12px;color:var(--text-secondary, #6b7280);padding:2px 10px;height:auto;margin-top:2px}.login-wechat-refresh.ant-btn:hover{color:var(--primary, #1677ff)}.login-scan-card{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:300px;margin:0 auto;border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--card-bg, #fff) 92%,transparent);box-shadow:0 4px 24px #0000000f;border:1px solid color-mix(in srgb,var(--border, #e5e7eb) 60%,transparent)}.login-scan-card--wechat{max-width:300px}.login-scan-card--wechat .login-scan-body{justify-content:center;align-items:center;padding:20px;gap:12px;min-height:auto}.login-scan-card--wechat .login-scan-wx-wrap{position:relative;width:240px;margin:0 auto}.login-scan-card--wechat #wx-login-container{width:240px;height:320px;margin:0 auto;overflow:hidden;position:relative}.login-scan-card--wechat #wx-login-container iframe{width:300px!important;height:400px!important;transform:scale(.8);transform-origin:0 0}.login-scan-header{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;color:#fff}.login-scan-header-icon{font-size:20px}.login-scan-header-text{font-size:15px;font-weight:600;letter-spacing:.5px}.login-scan-body{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 16px 16px}.login-scan-qr-wrap{position:relative;width:200px;height:200px;border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--border, #e5e7eb) 50%,transparent);background:#fff;box-shadow:0 4px 16px #0000000d}.login-scan-qr-img{width:100%;height:100%;object-fit:contain;display:block}.login-scan-qr-overlay{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:14px}.login-scan-scan-line{position:absolute;left:8px;right:8px;height:2px;background:linear-gradient(90deg,transparent,rgba(7,193,96,.6),transparent);border-radius:2px;top:12px;opacity:0}.login-scan-qr-wrap.is-scanning .login-scan-scan-line{animation:login-scan-sweep 2.5s ease-in-out infinite;opacity:1}@keyframes login-scan-sweep{0%{top:12px;opacity:0}10%{opacity:1}90%{opacity:1}to{top:calc(100% - 14px);opacity:0}}.login-scan-status{display:flex;align-items:center;gap:6px}.login-scan-dot{width:6px;height:6px;border-radius:50%;background:var(--text-secondary, #9ca3af);flex-shrink:0}.login-scan-dot.is-active{background:#07c160;animation:login-scan-pulse 1.5s ease-in-out infinite}@keyframes login-scan-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.login-scan-status-text{font-size:13px;color:var(--text-secondary, #6b7280)}.login-scan-refresh.ant-btn{font-size:12px;color:var(--text-secondary, #6b7280);padding:2px 8px;height:auto}.login-scan-refresh.ant-btn:hover{color:var(--primary, #1677ff)}.login-scan-refresh--float{position:absolute;top:0;right:0;z-index:2;padding:4px 6px!important;border-radius:8px;background:#ffffffd9;backdrop-filter:blur(2px)}.login-scan-refresh--float .anticon{font-size:13px}#wx-login-container{overflow:hidden}#wx-login-container iframe{width:300px!important;height:400px!important;transform:scale(.7);transform-origin:top center}.login-scan-placeholder{display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px 0}.login-scan-placeholder-icon{font-size:48px;opacity:.6}.login-scan-placeholder-text{font-size:13px;color:var(--text-secondary, #6b7280)}.login-scan-tip{font-size:12px;color:var(--text-secondary, #9ca3af);text-align:center}.assets-masonry{column-count:6;column-gap:12px}@media (max-width: 1600px){.assets-masonry{column-count:5}}@media (max-width: 1200px){.assets-masonry{column-count:4}}@media (max-width: 900px){.assets-masonry{column-count:3}}@media (max-width: 600px){.assets-masonry{column-count:2}}.assets-masonry-item{break-inside:avoid;display:inline-block;width:100%;margin-bottom:12px}.assets-masonry-item .ant-card{border-radius:10px;overflow:hidden;transition:box-shadow .2s,transform .2s}.assets-masonry-item .ant-card:hover{box-shadow:0 8px 24px #0000002e;transform:translateY(-2px)}.assets-masonry-item .ant-card-cover img,.assets-masonry-item .ant-card-cover video{width:100%!important;height:auto!important;display:block}.lunar-date-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2px 0}.lunar-date-day{font-size:14px;font-weight:500;line-height:1.4}.lunar-date-text{font-size:11px;line-height:1.3;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.lunar-date-text.lunar-day{color:var(--text-secondary)}.lunar-date-text.lunar-month{color:#1677ff;font-weight:500}.lunar-date-text.lunar-jieqi{color:#fa8c16;font-weight:500}.lunar-date-text.lunar-lunar-festival{color:#f5222d;font-weight:600}.lunar-date-text.lunar-solar-festival{color:#52c41a;font-weight:500}.ant-picker-cell-today .lunar-date-day{color:#1677ff;font-weight:700}.ant-picker-cell-selected .lunar-date-day,.ant-picker-cell-selected .lunar-date-text{color:inherit}.ant-picker-cell-in-range .lunar-date-text{color:var(--text-secondary)}.ant-picker-cell-disabled .lunar-date-text{opacity:.4}.announcement-banner{position:relative;display:flex;align-items:center;gap:10px;flex:1 1 auto;height:36px;margin:0;padding:0 12px;border-radius:8px;overflow:hidden;background:linear-gradient(95deg,color-mix(in srgb,var(--primary) 14%,var(--surface)),color-mix(in srgb,var(--primary) 8%,var(--surface)),color-mix(in srgb,var(--primary) 4%,var(--surface)));border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));box-shadow:0 1px color-mix(in srgb,#fff 60%,transparent) inset,0 2px 6px color-mix(in srgb,var(--primary) 8%,transparent);isolation:isolate}.announcement-banner__left{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:0 10px 0 0;border-right:1px dashed color-mix(in srgb,var(--primary) 30%,transparent)}.announcement-banner__icon{font-size:15px;color:var(--primary-dark);filter:drop-shadow(0 1px 0 color-mix(in srgb,#fff 80%,transparent))}.announcement-banner__label{font-size:12px;font-weight:800;color:var(--primary-dark);letter-spacing:1px;white-space:nowrap}.announcement-banner__content{flex:1 1 auto;min-width:0;height:100%;display:flex;align-items:center;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 64px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 64px),transparent 100%)}.announcement-banner__text{font-size:14px;line-height:1.2;color:var(--dark);font-weight:600;letter-spacing:.2px;white-space:nowrap;display:inline-block;padding-left:32px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",Twemoji Mozilla,PingFang SC,Microsoft YaHei,sans-serif;transition:color .18s ease}.announcement-banner__content:hover .announcement-banner__text{color:var(--primary-dark)}.announcement-banner__sep{display:inline-block;margin:0 12px;color:color-mix(in srgb,var(--primary) 30%,transparent);font-weight:400}.announcement-banner__content.is-marquee .announcement-banner__text{animation:announcement-marquee 32s linear infinite;padding-left:32px}.announcement-banner__content.is-marquee:hover .announcement-banner__text{animation-play-state:paused}@keyframes announcement-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}[data-theme=black] .announcement-banner,[data-theme=blue-deep] .announcement-banner,[data-theme=green-forest] .announcement-banner,[data-theme=magenta] .announcement-banner,[data-theme=pink-sakura] .announcement-banner,[data-theme=pink-rose] .announcement-banner{box-shadow:0 1px color-mix(in srgb,#fff 12%,transparent) inset,0 2px 8px #0000002e}@media (max-width: 768px){.announcement-banner{height:32px;padding:0 8px;gap:6px}.announcement-banner__label{font-size:11px}.announcement-banner__text{font-size:13px}}.app-module-row-studio{background:color-mix(in srgb,var(--primary) 3%,transparent)!important}.app-module-row-studio:hover>td{background:color-mix(in srgb,var(--primary) 7%,transparent)!important}[data-theme=dark] .app-module-row-studio{background:color-mix(in srgb,var(--primary) 8%,transparent)!important}[data-theme=dark] .app-module-row-studio:hover>td{background:color-mix(in srgb,var(--primary) 14%,transparent)!important}.help-center{max-width:1100px;margin:0 auto;padding:0 0 40px}.help-hero{background:radial-gradient(circle at 20% 50%,color-mix(in srgb,var(--primary) 15%,transparent),transparent 50%),radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 50%),linear-gradient(135deg,var(--surface) 0%,color-mix(in srgb,var(--primary) 4%,var(--surface)) 100%);border-radius:16px;padding:48px 40px 40px;margin-bottom:32px;text-align:center;border:1px solid var(--border);position:relative;overflow:hidden}.help-hero:before{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 12%,transparent),transparent 70%);border-radius:50%}.help-hero__inner{position:relative;z-index:1}.help-hero__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:20px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:13px;font-weight:500;margin-bottom:16px}.help-hero__title{font-size:32px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:-.5px}.help-hero__subtitle{font-size:15px;color:var(--text-secondary);margin-bottom:24px;line-height:1.6}.help-hero__search .ant-input-affix-wrapper{border-radius:12px;box-shadow:0 4px 20px #0000000f;border:1px solid var(--border)}.help-hero__search .ant-input-affix-wrapper:focus,.help-hero__search .ant-input-affix-wrapper-focused{border-color:var(--primary);box-shadow:0 4px 20px color-mix(in srgb,var(--primary) 20%,transparent)}.help-hero__stats{display:flex;justify-content:center;gap:24px;margin-top:20px;flex-wrap:wrap}.help-hero__stats span{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.help-hero__stats .anticon{color:var(--primary)}.help-section{margin-bottom:36px}.help-section__header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.help-section__header h2{font-size:20px;font-weight:600;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.help-section__header h2 .anticon{color:var(--primary)}.help-section__hint{font-size:13px;color:var(--text-secondary)}.help-steps{display:flex;gap:12px;flex-wrap:wrap}.help-step-card{flex:1;min-width:200px;display:flex;align-items:center;gap:14px;padding:20px;border-radius:12px;background:var(--surface);border:1px solid var(--border);transition:all .2s;position:relative}.help-step-card:hover{border-color:var(--primary);box-shadow:0 4px 16px color-mix(in srgb,var(--primary) 12%,transparent);transform:translateY(-2px)}.help-step-card__num{width:36px;height:36px;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}.help-step-card__body h3{font-size:15px;font-weight:600;color:var(--text);margin-bottom:4px}.help-step-card__body p{font-size:13px;color:var(--text-secondary);line-height:1.5}.help-step-card__arrow{position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);opacity:.4;font-size:18px;z-index:1}@media (max-width: 768px){.help-step-card__arrow{display:none}.help-step-card{min-width:100%}}.help-category{margin-bottom:24px}.help-category__header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.help-category__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.help-category__title{font-size:15px;font-weight:600;color:var(--text)}.help-category__count{font-size:12px;color:var(--text-secondary);background:color-mix(in srgb,var(--primary) 8%,transparent);padding:2px 8px;border-radius:10px}.help-feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.help-feature-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;position:relative}.help-feature-card:hover{border-color:var(--primary);box-shadow:0 4px 16px color-mix(in srgb,var(--primary) 10%,transparent)}.help-feature-card.is-expanded{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 2%,var(--surface))}.help-feature-card__head{display:flex;gap:12px;align-items:flex-start}.help-feature-card__icon{width:40px;height:40px;flex-shrink:0;border-radius:10px;background:color-mix(in srgb,var(--card-color, var(--primary)) 10%,transparent);color:var(--card-color, var(--primary));font-size:20px;display:flex;align-items:center;justify-content:center}.help-feature-card__title-row{display:flex;align-items:center}.help-feature-card__title{font-size:15px;font-weight:600;color:var(--text)}.help-feature-card__desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-top:2px}.help-feature-card__steps{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border);animation:helpFadeIn .25s ease}@keyframes helpFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.help-feature-card__step{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);padding:4px 0}.help-feature-card__link{display:inline-block;margin-top:10px;font-size:13px;font-weight:500;color:var(--primary);cursor:pointer;transition:opacity .15s}.help-feature-card__link:hover{opacity:.7}.help-feature-card__expand-hint{position:absolute;bottom:8px;right:14px;font-size:12px;color:var(--primary);opacity:.7;transition:opacity .15s}.help-feature-card:hover .help-feature-card__expand-hint{opacity:1}.help-empty{text-align:center;padding:60px 20px;color:var(--text-secondary)}.help-empty p{margin-top:12px;font-size:14px}.help-faq{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:0 20px}.help-faq .ant-collapse-item{border-bottom:1px solid var(--border)!important}.help-faq .ant-collapse-item:last-child{border-bottom:none!important}.help-faq__q{font-size:14px;font-weight:500;color:var(--text)}.help-faq__a{font-size:13px;color:var(--text-secondary);line-height:1.7;padding:4px 0 8px 24px;margin:0}.help-contact{margin-top:40px}.help-contact__card{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 6%,var(--surface)),var(--surface));border:1px solid var(--border);flex-wrap:wrap;gap:16px}.help-contact__left h3{font-size:18px;font-weight:600;color:var(--text);margin-bottom:4px}.help-contact__left p{font-size:13px;color:var(--text-secondary)}.help-contact__right{display:flex;gap:24px;flex-wrap:wrap}.help-contact__item{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text)}.help-contact__item .anticon{font-size:18px;color:var(--primary)}[data-theme=dark] .help-hero{background:radial-gradient(circle at 20% 50%,color-mix(in srgb,var(--primary) 20%,transparent),transparent 50%),linear-gradient(135deg,var(--surface) 0%,color-mix(in srgb,var(--primary) 8%,var(--surface)) 100%)}[data-theme=dark] .help-feature-card,[data-theme=dark] .help-step-card,[data-theme=dark] .help-faq,[data-theme=dark] .help-contact__card{background:color-mix(in srgb,var(--primary) 5%,var(--surface))}[data-theme=dark] .help-feature-card.is-expanded{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}@media (max-width: 768px){.help-hero{padding:32px 20px 24px;border-radius:12px}.help-hero__title{font-size:24px}.help-hero__subtitle{font-size:13px}.help-hero__stats{gap:12px}.help-feature-grid{grid-template-columns:1fr}.help-contact__card{flex-direction:column;text-align:center;padding:20px}.help-contact__right{justify-content:center}}.dashboard-stat-card{border-radius:12px!important;border:1px solid var(--border-color, rgba(0, 0, 0, .06));transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.dashboard-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.dashboard-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px}.dashboard-stat-num{font-size:28px;font-weight:700;line-height:1.2;color:var(--text-main, #1a1a1a)}.dashboard-stat-label{font-size:13px;color:var(--text-sub, #8c8c8c);margin-top:4px}.dashboard-rank-row{display:flex;align-items:center;gap:12px;padding:8px 0}.dashboard-rank-num{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.dashboard-rank-name{font-size:14px;font-weight:500;color:var(--text-main, #1a1a1a);width:100px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-rank-bar-wrap{flex:1;height:8px;background:var(--bg-card, rgba(0, 0, 0, .04));border-radius:4px;overflow:hidden}.dashboard-rank-bar{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.dashboard-rank-count{font-size:14px;font-weight:600;color:var(--text-main, #1a1a1a);width:36px;text-align:right;flex-shrink:0}[data-theme=dark] .dashboard-stat-card{border-color:#ffffff14}[data-theme=dark] .dashboard-rank-bar-wrap{background:#ffffff0f}.hc-layout{display:flex;gap:0;height:calc(100vh - 160px);min-height:600px;border-radius:10px;overflow:hidden;background:var(--surface, #fff)}.hc-panel{display:flex;flex-direction:column;background:var(--surface, #fff);min-width:0;border-right:1px solid var(--border, #f0f0f0)}.hc-panel:last-child{border-right:none}.hc-panel--library{width:320px;flex-shrink:0}.hc-panel--canvas{flex:1 1 auto}.hc-panel--preview{width:460px;flex-shrink:0;background:#f7f8fa}.hc-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border, #f0f0f0);background:var(--surface, #fff);min-height:52px}.hc-panel__title{font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0}.hc-panel__hint{font-size:12px;color:#999}.hc-panel__body{flex:1 1 auto;overflow:auto;padding:12px 16px}[data-theme=dark] .hc-panel,[data-theme=dark] .hc-panel--preview{background:var(--surface, #141414)}[data-theme=dark] .hc-panel__header{background:var(--surface, #141414);border-bottom-color:#303030}.hc-library-item{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;background:var(--surface-soft, #fafafa);border:1px solid var(--border, #f0f0f0);border-radius:8px;cursor:default;transition:all .15s ease}.hc-library-item:hover{border-color:var(--primary, #c9a96e);background:var(--surface, #fff);box-shadow:0 2px 8px #0000000a}.hc-library-item--loaded{opacity:.55}.hc-library-item__icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:16px;flex-shrink:0}.hc-library-item__body{flex:1 1 auto;min-width:0}.hc-library-item__name{font-weight:500;font-size:13px}.hc-library-item__desc{font-size:11px;color:#999;margin-top:2px;line-height:1.4}.hc-canvas-list{display:flex;flex-direction:column;gap:10px}.hc-empty{display:flex;align-items:center;justify-content:center;min-height:240px}.hc-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface, #fff);border:1px solid var(--border, #e8e8e8);border-radius:10px;transition:all .15s ease;cursor:grab}.hc-card:hover{border-color:var(--primary, #c9a96e);box-shadow:0 4px 12px #0000000f}.hc-card:active{cursor:grabbing}.hc-card--disabled{opacity:.55;background:var(--surface-soft, #fafafa)}.hc-card__drag{color:#bbb;font-size:18px;cursor:grab;user-select:none;padding:0 4px}.hc-card__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:18px;flex-shrink:0}.hc-card__body{flex:1 1 auto;min-width:0}.hc-card__name{font-weight:500;font-size:14px}.hc-card__desc{font-size:12px;color:#999;margin-top:2px}.hc-card__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.hc-preview-wrap{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8eaf0,#f5f7fa);padding:24px 16px}[data-theme=dark] .hc-preview-wrap{background:linear-gradient(135deg,#0f172a,#1e293b)}.hc-preview-device{position:relative;background:#1a1a1a;border-radius:32px;padding:12px;box-shadow:0 8px 24px #0000002e,inset 0 0 0 2px #ffffff0d;display:flex;flex-direction:column}.hc-preview-device--phone{width:280px}.hc-preview-device--tablet{width:360px}.hc-preview-align-left{justify-content:flex-start}.hc-preview-align-center{justify-content:center}.hc-preview-align-right{justify-content:flex-end}.hc-preview-notch{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:2}.hc-preview-notch--island{width:92px;height:22px;background:#000;border-radius:14px;top:10px}.hc-preview-notch--hole{width:12px;height:12px;background:#000;border-radius:50%;top:14px}.hc-preview-home-indicator{height:4px;width:100px;margin:6px auto 2px;border-radius:999px;background:#ffffff8c;flex-shrink:0}.hc-device--iphone-14-pro{border-radius:44px;box-shadow:0 10px 30px #00000040,inset 0 0 0 3px #2a2a2a,inset 0 0 0 6px #0a0a0a}.hc-device--iphone-15-pro-max{border-radius:52px;box-shadow:0 10px 30px #00000040,inset 0 0 0 3px #2a2a2a,inset 0 0 0 6px #0a0a0a}.hc-device--samsung-galaxy-s24{border-radius:34px;box-shadow:0 10px 30px #00000038,inset 0 0 0 3px #1f1f1f}.hc-device--google-pixel-8{border-radius:30px;box-shadow:0 10px 30px #00000038,inset 0 0 0 3px #2a2a2a}.hc-device--huawei-mate-60-pro{border-radius:38px;box-shadow:0 10px 30px #00000038,inset 0 0 0 3px #1f1f1f}.hc-device--ipad-air{border-radius:26px;box-shadow:0 10px 30px #00000038,inset 0 0 0 3px #2a2a2a}.hc-device--xiaomi-14{border-radius:36px;box-shadow:0 10px 30px #00000038,inset 0 0 0 3px #1f1f1f}.hc-preview-statusbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px 4px;font-size:11px;color:#fff;font-weight:600}.hc-preview-screen{background:#f5f5f5;border-radius:8px;flex:1 1 auto;min-height:0;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.hc-preview-tabbar{display:flex;justify-content:space-around;padding:8px 0 4px;background:#ffffff0a;border-radius:0 0 16px 16px}.hc-preview-tabbar__item{font-size:10px;color:#888;padding:4px 8px}.hc-preview-tabbar__item--active{color:var(--primary, #c9a96e);font-weight:600}.prv-banner{position:relative;width:100%;height:110px;min-height:110px;border-radius:6px;overflow:hidden;background:#e6f0ff;border:1px dashed #1677ff44;flex-shrink:0;box-sizing:border-box}.prv-banner__slide{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden;font-size:14px;font-weight:500;background:#dbeafe}.prv-banner__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.prv-banner__caption{position:relative;z-index:1;width:100%;padding:8px 10px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55);background:linear-gradient(to top,#0000008c,#0000)}.prv-banner__title{font-size:13px;font-weight:600}.prv-banner__subtitle{font-size:10px;opacity:.92;margin-top:2px}.prv-banner__dots{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:4px;z-index:2}.prv-banner__dot{width:5px;height:5px;border-radius:50%;background:#00000040}.prv-banner__dot--active{background:#fff;width:12px;border-radius:3px}.prv-banner__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1677ff;z-index:0}.prv-section{background:#fff;border-radius:6px;padding:10px 12px}.prv-section__title{font-size:13px;font-weight:600;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.prv-section__more{font-size:10px;color:#999;font-weight:400}.prv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.prv-grid__item{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:#666}.prv-grid__icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px}.prv-waterfall{column-count:2;column-gap:4px}.prv-waterfall__item{width:100%;break-inside:avoid;margin-bottom:4px;border-radius:4px}.prv-photographer{display:flex;flex-direction:column;gap:6px}.prv-photographer__item{display:flex;align-items:center;gap:8px;padding:6px;background:#fafafa;border-radius:4px}.prv-photographer__avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.prv-photographer__name{font-size:11px;font-weight:500}.prv-photographer__meta{font-size:9px;color:#999}.prv-brand{background:#fff;border-radius:6px;padding:12px;text-align:center}.prv-brand__name{font-size:13px;font-weight:600;margin-bottom:4px}.prv-brand__addr,.prv-brand__contact{font-size:10px;color:#666;margin-top:2px}.prv-promo{display:flex;flex-direction:column;gap:4px}.prv-promo__item{font-size:10px;padding:6px 8px;border-radius:4px;font-weight:500}.prv-announce{display:flex;align-items:center;gap:6px;background:#fff;border-radius:6px;padding:8px 10px;font-size:10px}.prv-announce__icon{font-size:12px}.prv-announce__text{color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prv-categories{display:flex;flex-wrap:wrap;gap:4px}.prv-categories__tag{font-size:10px;padding:3px 8px;border:1px solid;border-radius:12px}.prv-costumes{display:flex;flex-wrap:wrap;gap:8px}.prv-costumes--list{flex-direction:column}.prv-costumes--list .prv-costumes__item{width:100%;flex-direction:row;align-items:center}.prv-costumes--list .prv-costumes__img{width:60px;height:60px;flex-shrink:0;margin-bottom:0;margin-right:10px}.prv-costumes__item{width:calc(33.333% - 6px);display:flex;flex-direction:column;align-items:center}.prv-costumes__img{width:100%;aspect-ratio:3/4;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.prv-costumes__name{font-size:10px;color:#333;font-weight:500;text-align:center;line-height:1.2}.prv-costumes__price{font-size:9px;font-weight:600;text-align:center;margin-top:2px}.prv-auspicious{border:1px solid;border-radius:8px;padding:12px;margin-bottom:8px}.prv-auspicious__header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.prv-auspicious__title{font-size:13px;font-weight:600}.prv-auspicious__tag{font-size:10px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.prv-auspicious__date{font-size:11px;color:#888;margin-bottom:4px}.prv-auspicious__blessing{font-size:11px;color:#555;line-height:1.5;margin-bottom:8px}.prv-auspicious__share{font-size:11px;padding:4px 12px;border-radius:14px;display:inline-flex;align-items:center;gap:4px}.prv-unknown{background:#f0f0f0;padding:12px;text-align:center;border-radius:6px;font-size:11px;color:#999}.prv-cover{width:100%;border-radius:6px;object-fit:cover;display:block}.prv-cover--block{margin-bottom:8px;max-height:140px}.prv-richtext{font-size:11px;line-height:1.6;color:#444;overflow:hidden;word-break:break-word}.prv-richtext p{margin:0 0 4px}.prv-richtext img{max-width:100%;border-radius:4px}.prv-richtext--inline{display:inline}.prv-announce__rich{flex:1 1 auto;min-width:0;overflow:hidden}.prv-announce__rich .prv-richtext{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1100px){.hc-panel--library{width:260px}.hc-panel--preview{width:400px}}@media (max-width: 900px){.hc-layout{flex-direction:column;height:auto}.hc-panel--library,.hc-panel--preview{width:100%}.hc-panel{border-right:none;border-bottom:1px solid var(--border, #f0f0f0)}}.dispatch-add-btn.ant-btn-primary{background:#ec4899;border-color:#ec4899}.dispatch-add-btn.ant-btn-primary:hover,.dispatch-add-btn.ant-btn-primary:focus{background:#f472b6;border-color:#f472b6}.dispatch-add-btn.ant-btn-primary:active{background:#db2777;border-color:#db2777}.friendly-error .ant-empty{padding:32px 16px}.friendly-error-content{max-width:720px;margin:0 auto;padding:24px 16px;text-align:left}.friendly-error-content h2{font-size:22px;margin:16px 0 12px;color:var(--primary, #1677ff)}.friendly-error-content .subtitle{color:var(--text-secondary, #666);margin-bottom:12px}.friendly-error-content ul{list-style:none;padding:0;margin:12px 0}.friendly-error-content ul li{padding:4px 0;color:var(--text, #333)}.friendly-error-content .steps{margin:24px 0;padding:16px;background:color-mix(in srgb,var(--primary, #1677ff) 4%,transparent);border-left:3px solid var(--primary, #1677ff);border-radius:4px}.friendly-error-content .steps h3{margin:0 0 12px;font-size:16px}.friendly-error-content .steps ol{margin:0;padding-left:20px}.friendly-error-content .steps ol li{margin:8px 0;color:var(--text-secondary, #555)}.friendly-error-content code{background:#0000000f;padding:2px 6px;border-radius:3px;font-size:13px;font-family:Menlo,Monaco,monospace}.friendly-error-content .demo-hint{margin:16px 0;padding:12px 16px;background:#fffbe6;border:1px solid #ffe58f;border-radius:4px;color:#874d00}.almanac-page{padding:16px 24px 32px;max-width:1280px;margin:0 auto}.almanac-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.almanac-header__left{display:flex;align-items:center}.almanac-header__title{font-size:20px;font-weight:600;color:var(--text-color, #1f1f1f);white-space:nowrap}.almanac-today-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--primary, #1677ff);border-radius:6px;background:#fff;color:var(--primary, #1677ff);cursor:pointer;font-size:14px;transition:all .2s;white-space:nowrap;flex:0 0 auto}.almanac-header__right{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;min-width:0}.almanac-today-btn:hover{background:var(--primary, #1677ff);color:#fff}.almanac-header__center{flex:1 1 auto;display:flex;justify-content:center;align-items:center;min-width:0}.almanac-jq-badge{font-size:12px;padding:3px 12px}.almanac-lunar-header{background:linear-gradient(135deg,var(--jq-grad-1, #e8d3a2) 0%,var(--jq-grad-2, #c9a96e) 48%,var(--jq-grad-3, #a8884c) 100%);color:var(--jq-text, #fff);border-radius:12px;padding:20px 24px;box-shadow:0 6px 18px var(--jq-shadow, rgba(201, 169, 110, .32));margin-bottom:18px}.almanac-lunar-header__main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.almanac-lunar-title{margin:0;font-size:22px;font-weight:600}.almanac-shengxiao{font-size:15px;opacity:.9}.almanac-liqiu__poem{font-size:10px}.almanac-stats{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}.almanac-stat{flex:1 1 120px;background:#ffffff29;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.almanac-stat__label{font-size:13px;opacity:.85}.almanac-stat__value{font-size:20px;font-weight:700}.almanac-stat__sub{font-size:12px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.almanac-nav{display:flex;align-items:center;justify-content:center;gap:16px}.almanac-nav__btn{width:40px;height:40px;border:none;border-radius:50%;background:#fff3;color:#fff;font-size:16px;cursor:pointer;transition:background .2s}.almanac-nav__btn:hover{background:#ffffff59}.almanac-nav__center{display:flex;align-items:center;gap:12px}.almanac-year-select{appearance:none;border:1px solid rgba(255,255,255,.5);background:#ffffff26;color:#fff;border-radius:6px;padding:6px 10px;font-size:15px;cursor:pointer}.almanac-year-select option{color:#333}.almanac-month-label{font-size:18px;font-weight:600;min-width:56px;text-align:center}.almanac-nav__btn--today{width:auto;height:32px;padding:0 14px;border-radius:999px;background:var(--jq-accent, #ffffff);color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 6px #0000002e;border:1px solid rgba(255,255,255,.4)}.almanac-nav__btn--today:hover{background:#fffffff2;color:var(--jq-accent, #333);border-color:#ffffffe6;transform:scale(1.04)}.almanac-nav__btn--today-label{white-space:nowrap}.almanac-body{display:flex;gap:20px;align-items:flex-start}.almanac-calendar-wrap{flex:1 1 auto;background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 10px #0000000f;overflow:hidden}.almanac-week-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.almanac-week-day{text-align:center;font-size:14px;font-weight:600;color:#666;padding:6px 0}.almanac-week-day--weekend{color:#ff4d4f}.almanac-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(72px,auto);gap:4px}.almanac-cell{position:relative;border:1px solid #f0f0f0;border-radius:8px;padding:6px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:all .15s;background:#fff}.almanac-cell:hover{border-color:var(--primary, #1677ff);background:#f5faff}.almanac-cell--other-month{opacity:.4}.almanac-cell--today{border-color:#faad14;background:#fffbe6}.almanac-cell--selected{border-color:var(--primary, #1677ff);background:#e6f4ff;box-shadow:0 0 0 2px #1677ff4d inset}.almanac-cell__solar{font-size:16px;font-weight:600;color:#1f1f1f}.almanac-cell__lunar{font-size:12px;color:#999;line-height:1.2}.almanac-cell--jieqi .almanac-cell__lunar{color:#52c41a;font-weight:600}.almanac-cell--lunar-fest .almanac-cell__lunar{color:#fa541c;font-weight:600}.almanac-cell--solar-fest .almanac-cell__lunar{color:#eb2f96;font-weight:600}.almanac-sidebar{flex:0 0 320px;display:flex;flex-direction:column;gap:16px}.almanac-detail{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000f}.almanac-detail__date{margin:0 0 4px;font-size:18px;font-weight:600}.almanac-detail__lunar{margin:0 0 8px;color:#666;font-size:14px}.almanac-detail__jieqi{color:#52c41a}.almanac-detail__ganzi,.almanac-detail__extra{margin:4px 0;font-size:14px;color:#444}.almanac-detail__yiji{display:flex;flex-direction:column;gap:10px;margin:14px 0}.almanac-yi,.almanac-ji{display:flex;gap:8px;align-items:flex-start}.almanac-yi__label,.almanac-ji__label{flex:0 0 24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600}.almanac-yi__label{background:#52c41a}.almanac-ji__label{background:#ff4d4f}.almanac-yi__list,.almanac-ji__list{display:flex;flex-wrap:wrap;gap:6px}.almanac-yi__list span,.almanac-ji__list span{background:#f5f5f5;border-radius:4px;padding:2px 8px;font-size:13px}.almanac-empty{color:#999;font-size:13px}.almanac-detail__jishen,.almanac-detail__xiongsha{margin:6px 0;font-size:13px;color:#666}.almanac-shichen{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000f}.almanac-shichen__title{margin:0 0 12px;font-size:16px;font-weight:600}.almanac-shichen__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.almanac-shichen__item{border:1px solid #f0f0f0;border-radius:8px;background:#fafafa;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;transition:all .15s}.almanac-shichen__item:hover{border-color:var(--primary, #1677ff)}.almanac-shichen__item--active{border-color:var(--primary, #1677ff);background:#e6f4ff}.almanac-shichen__animal{font-size:18px}.almanac-shichen__name{font-size:13px;font-weight:600}.almanac-shichen__time{font-size:11px;color:#999}.almanac-shichen__detail{margin-top:12px;font-size:14px;color:#444}@media (max-width: 900px){.almanac-body{flex-direction:column}.almanac-sidebar{flex:1 1 auto;width:100%}.almanac-grid{grid-auto-rows:minmax(56px,auto)}}@media (max-width: 640px){.almanac-page{padding:12px 12px 24px;gap:12px}.almanac-header{flex-wrap:wrap;gap:8px}.almanac-header__left,.almanac-header__right{flex:0 0 auto}.almanac-header__center{flex:1 1 100%;order:3;margin-top:4px}.almanac-header__title{font-size:16px}.almanac-today-btn{padding:5px 10px;font-size:12px}.almanac-jq-badge{padding:2px 8px;font-size:11px}.almanac-lunar-header{padding:14px;border-radius:10px;margin-bottom:12px}.almanac-lunar-title{font-size:17px}.almanac-shengxiao{font-size:13px}.almanac-liqiu__poem{display:none}.almanac-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0 14px}.almanac-stat{flex:none;padding:8px 10px;min-width:0}.almanac-stat__value{font-size:18px}.almanac-stat__sub{font-size:11px}.almanac-nav{flex-wrap:wrap;gap:8px 10px;padding:0 2px}.almanac-nav__sep{display:none}.almanac-nav__btn{width:32px;height:32px;font-size:13px}.almanac-nav__btn--year{width:28px;height:28px}.almanac-year-select{padding:4px 6px;font-size:13px}.almanac-month-label{font-size:15px;min-width:44px}.almanac-nav__btn--today{height:28px;padding:0 10px;font-size:12px}.almanac-nav__btn--today-label{display:none}.almanac-calendar-wrap{padding:8px 6px;border-radius:10px}.almanac-week-day{font-size:11px;padding:4px 0}.almanac-grid{gap:2px;grid-auto-rows:minmax(44px,auto)}.almanac-cell{min-height:44px;padding:3px 2px;border-radius:6px}.almanac-cell__solar{font-size:13px}.almanac-cell__lunar{font-size:9px}.almanac-cell__birthdays,.almanac-hints{display:none}.almanac-bday-panel__head{flex-wrap:wrap;gap:8px}.almanac-bday-tabs{flex:1 1 100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.almanac-bday-tabs::-webkit-scrollbar{display:none}.almanac-bday-tab{white-space:nowrap;flex-shrink:0}.almanac-bday-stats{flex-wrap:wrap;gap:8px}.almanac-bday-stat{flex:1 1 calc(33.33% - 8px);padding:6px 8px;font-size:12px}.almanac-bday-item{flex-wrap:wrap;gap:4px 8px;padding:8px 10px}.almanac-shichen__grid,.almanac-xingzuo__grid{grid-template-columns:repeat(4,1fr);gap:6px}.almanac-shichen__item,.almanac-xingzuo__item{padding:8px 2px 6px;font-size:11px}.almanac-shichen__name,.almanac-xingzuo__name{font-size:12px}.almanac-shichen__time,.almanac-xingzuo__time{font-size:9px}}.almanac-shichen__item{position:relative}.almanac-shichen__item--now{border-color:#e8a33d!important;background:#fff6e6!important;box-shadow:0 0 0 2px #e8a33d73,0 4px 14px #e8a33d47!important;animation:almanac-now-pulse 2.4s ease-in-out infinite}.almanac-shichen__item--now .almanac-shichen__name{color:#b5781b}.almanac-shichen__item--now .almanac-shichen__time{color:#c08a36!important}.almanac-shichen__item--active.almanac-shichen__item--now{box-shadow:0 0 0 3px #e8a33d8c,0 4px 16px color-mix(in srgb,var(--primary) 35%,transparent)!important}@keyframes almanac-now-pulse{0%,to{box-shadow:0 0 0 2px #e8a33d66,0 4px 14px #e8a33d38}50%{box-shadow:0 0 0 3px #e8a33da6,0 4px 18px #e8a33d57}}.almanac-shichen__now-badge{position:absolute;top:-9px;right:-7px;background:#e8a33d;color:#fff;font-size:9px;line-height:1;padding:2px 5px;border-radius:9px;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 6px #e8a33d73;z-index:2}.almanac-shichen__now-hint{display:block;margin-top:4px;font-size:12px;color:#b5781b}.almanac-xingzuo{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow);margin-top:16px}.almanac-xingzuo__title{font-size:15px;font-weight:700;color:var(--dark);margin:0 0 12px}.almanac-xingzuo__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.almanac-xingzuo__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;transition:all .2s;font-size:12px;color:var(--text)}.almanac-xingzuo__item:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 10px color-mix(in srgb,var(--primary) 15%,transparent)}.almanac-xingzuo__item--active{border-color:var(--jq-accent, var(--primary));background:var(--jq-accent, var(--primary))!important;color:#fff!important;box-shadow:0 4px 14px color-mix(in srgb,var(--jq-accent, var(--primary)) 30%,transparent)}.almanac-xingzuo__item--active .almanac-xingzuo__time{color:#fffc!important}.almanac-xingzuo__icon{font-size:18px;line-height:1}.almanac-xingzuo__name{font-weight:700;font-size:12px}.almanac-xingzuo__time{font-size:10px;color:var(--text-secondary)}.almanac-xingzuo__detail{margin-top:10px;padding:8px 12px;background:var(--primary-light);border-radius:8px;font-size:13px;color:var(--primary-dark);text-align:center;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent)}.almanac-xingzuo__item--now{border-color:#e8a33d!important;background:#fff6e6!important;box-shadow:0 0 0 2px #e8a33d73,0 4px 14px #e8a33d47!important}.almanac-xingzuo__item--now .almanac-xingzuo__name{color:#b5781b}.almanac-xingzuo__item--now .almanac-xingzuo__time{color:#c08a36!important}.almanac-xingzuo__item--active.almanac-xingzuo__item--now{box-shadow:0 0 0 3px #e8a33d8c,0 4px 16px color-mix(in srgb,var(--primary) 35%,transparent)!important}.almanac-xingzuo__now-badge{position:absolute;top:-9px;right:-7px;background:#e8a33d;color:#fff;font-size:9px;line-height:1;padding:2px 5px;border-radius:9px;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 6px #e8a33d73;z-index:2}.almanac-xingzuo__now-hint{display:block;margin-top:4px;font-size:12px;color:#b5781b}@media (max-width: 768px){.almanac-xingzuo__grid{grid-template-columns:repeat(4,1fr)}}.almanac-tzclock{background:linear-gradient(135deg,var(--jq-grad-1, #1f3a5f) 0%,var(--jq-grad-2, #2a4980) 100%);color:var(--jq-text, #fff);border-radius:var(--radius, 12px);padding:14px 18px;box-shadow:0 4px 14px var(--jq-shadow, rgba(0, 0, 0, .08));display:flex;flex-direction:column;gap:6px}.almanac-tzclock__head{display:flex;align-items:center;gap:8px;font-size:12px}.almanac-tzclock__icon{font-size:16px}.almanac-tzclock__tz{flex:1;color:var(--jq-text, #c9d6e5);opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.almanac-tzclock__tz b{color:var(--jq-text, #e8a33d);margin-left:4px;font-weight:700;opacity:1}.almanac-tzclock__select{appearance:none;-webkit-appearance:none;background:#ffffff26;color:var(--jq-text, #fff);border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:3px 6px;font-size:12px;cursor:pointer}.almanac-tzclock__select option{color:#222}.almanac-tzclock__time{font-size:30px;font-weight:800;letter-spacing:2px;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--jq-text, #fff)}.almanac-tzclock__date{font-size:13px;color:var(--jq-text, #c9d6e5);opacity:.85}.almanac-cell--has-birthday{box-shadow:inset 0 -2px color-mix(in srgb,#c9a96e 55%,transparent)}.almanac-cell__birthdays{position:absolute;left:2px;right:2px;bottom:3px;display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.almanac-bday-tag{font-size:9px;line-height:1.5;color:#fff;border-radius:6px;padding:0 4px;font-weight:700;white-space:nowrap;box-shadow:0 1px 2px #0000002e;cursor:pointer}.almanac-cell--selected .almanac-bday-tag{color:#fff}.almanac-bday-panel{margin-top:18px;background:var(--surface, #fff);border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border, #eee));border-radius:16px;padding:16px 18px;box-shadow:0 8px 24px #0000000f}.almanac-bday-panel__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.almanac-bday-panel__title{font-size:16px;font-weight:800;color:var(--dark)}.almanac-bday-tabs{display:inline-flex;background:var(--surface-2, #f3f4f6);border-radius:10px;padding:3px;gap:2px}.almanac-bday-tab{border:none;background:transparent;color:var(--text-secondary);font-size:13px;padding:5px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease;font-weight:600}.almanac-bday-tab.is-active{background:var(--primary);color:#fff;box-shadow:0 2px 6px color-mix(in srgb,var(--primary) 40%,transparent)}.almanac-bday-tab__badge{display:inline-block;min-width:16px;margin-left:4px;padding:0 4px;font-size:11px;line-height:16px;text-align:center;border-radius:8px;background:color-mix(in srgb,var(--text-secondary) 22%,transparent);color:var(--text-secondary);font-weight:700;vertical-align:middle}.almanac-bday-tab.is-active .almanac-bday-tab__badge{background:#ffffff47;color:#fff}.almanac-bday-panel__count{margin-left:auto;font-size:13px;color:var(--text-secondary);font-weight:600}.almanac-bday-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.almanac-bday-range__input{border:1px solid var(--border, #d9d9d9);border-radius:8px;padding:6px 10px;font-size:13px;color:var(--dark);background:var(--surface)}.almanac-bday-range__sep{color:var(--text-secondary)}.almanac-bday-range__btn{border:none;background:var(--primary);color:#fff;border-radius:8px;padding:6px 16px;font-weight:600;cursor:pointer}.almanac-bday-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.almanac-bday-stat{display:inline-flex;align-items:center;gap:6px;border:1px solid;border-radius:10px;padding:6px 12px;background:var(--surface-2, #f8fafc)}.almanac-bday-stat__dot{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:#fff}.almanac-bday-stat__label{font-size:13px;color:var(--dark);font-weight:600}.almanac-bday-stat__num{font-size:15px;font-weight:800;color:var(--dark)}.almanac-bday-stat--total{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.almanac-bday-stat{cursor:pointer;user-select:none;transition:box-shadow .15s ease,transform .15s ease,background .15s ease}.almanac-bday-stat:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.almanac-bday-stat.is-active{box-shadow:0 0 0 2px var(--primary),0 2px 6px color-mix(in srgb,var(--primary) 40%,transparent);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.almanac-bday-stat--total.is-active{background:color-mix(in srgb,var(--primary) 20%,var(--surface))}.almanac-bday-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.almanac-bday-empty{text-align:center;color:var(--text-secondary);font-size:13px;padding:24px 0}.almanac-bday-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--primary) 12%,var(--border, #eee));border-radius:10px;background:var(--surface);cursor:pointer;transition:all .15s ease}.almanac-bday-item:hover{background:var(--primary-light, #f5f0e6);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.almanac-bday-item__date{display:flex;flex-direction:column;min-width:96px;line-height:1.3}.almanac-bday-item__md{font-size:14px;font-weight:700;color:var(--dark)}.almanac-bday-item__wd{font-size:11px;color:var(--text-secondary)}.almanac-bday-item__lunar{font-size:11px;color:#a32d2d}.almanac-bday-item__cat{font-size:12px;color:#fff;border-radius:8px;padding:3px 9px;font-weight:700;white-space:nowrap}.almanac-bday-item__name{font-size:14px;color:var(--dark);font-weight:600;flex:1}.almanac-bday-item__time{font-size:12px;color:var(--primary);font-weight:700}.almanac-bday-item__age{font-size:12px;color:#ba7517;font-weight:700;background:color-mix(in srgb,#ba7517 14%,transparent);padding:2px 8px;border-radius:6px;white-space:nowrap}.almanac-bday-item__sx,.almanac-bday-item__xz{font-size:12px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);padding:2px 8px;border-radius:6px;white-space:nowrap}.login-success-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff,#f3ede1);animation:lsoFade .35s ease both}.login-success-card{display:flex;flex-direction:column;align-items:center;animation:lsoPop .42s cubic-bezier(.2,.8,.3,1.2) both}.login-success-svg{width:84px;height:84px}.login-success-circle{stroke:var(--primary);stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:lsoCircle .5s ease forwards}.login-success-check{stroke:var(--primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:lsoCheck .35s .45s ease forwards}.login-success-title{margin-top:18px;font-size:20px;font-weight:600;color:#1a1a1a;animation:lsoFade .3s .5s both}.login-success-sub{margin-top:6px;font-size:14px;color:#888;letter-spacing:.5px;animation:lsoFade .3s .6s both}@keyframes lsoFade{0%{opacity:0}to{opacity:1}}@keyframes lsoPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes lsoCircle{to{stroke-dashoffset:0}}@keyframes lsoCheck{to{stroke-dashoffset:0}}.admin-layout{animation:adminFadeIn .45s ease both}@keyframes adminFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes splashPulse{0%{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.06)}to{transform:translate(-50%) scale(1)}}@keyframes splashGlow{0%,to{box-shadow:0 6px 24px #00000059}50%{box-shadow:0 6px 30px #e5b97be6}}@keyframes splashBreath{0%,to{opacity:.82}50%{opacity:1}}.splash-cta-pulse{animation:splashPulse 1.4s ease-in-out infinite}.splash-cta-glow{animation:splashGlow 1.6s ease-in-out infinite}.splash-cta-breath{animation:splashBreath 2s ease-in-out infinite}.login-slider-captcha{position:relative;width:100%;height:44px;background:#f1f3f5;border-radius:22px;overflow:hidden;box-sizing:border-box;user-select:none;-webkit-user-select:none;touch-action:none}.slider-bg-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#98a0a8;font-size:14px;letter-spacing:.5px;z-index:1;pointer-events:none}.slider-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#1677ff38,#1677ff6b);z-index:0;pointer-events:none}.slider-handle{position:absolute;top:0;left:0;width:44px;height:100%;background:#fff;border:1px solid #e6e8eb;border-radius:22px;box-shadow:0 2px 6px #0003;display:flex;align-items:center;justify-content:center;color:#1677ff;cursor:grab;z-index:2;box-sizing:border-box;touch-action:none}.slider-dragging .slider-handle{cursor:grabbing;box-shadow:0 3px 10px #00000047}.slider-handle-lines{display:inline-block;width:18px;height:12px;background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 4px);opacity:.5}.slider-arrow-icon{font-size:16px;line-height:1}.slider-check-icon{font-size:18px;line-height:1;color:#fff}.slider-passed{background:#52c41a29}.slider-passed .slider-bg-text{color:#389e0d}.slider-passed .slider-fill{background:linear-gradient(90deg,#52c41a47,#52c41a80)}.slider-passed .slider-handle{background:#52c41a;border-color:#52c41a;color:#fff}
