html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--ant-color-bg-layout, #f5f7fa);color-scheme:light dark}.login-shell{min-height:100vh;width:100%;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--ant-color-bg-container)}.login-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:40px 48px;background:radial-gradient(120% 80% at 0% 0%,#1677ff2e,#1677ff00 55%),#0a1729;color:#ffffffeb;overflow:hidden}.login-brand:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:#1677ff;opacity:.55}.login-brand__wordmark{font-size:14px;font-weight:500;letter-spacing:.14em;color:#ffffffb3;text-transform:uppercase}.login-brand__body{margin:auto 0}.login-brand__title{margin:0;font-size:44px;font-weight:600;line-height:1.15;letter-spacing:-.01em;color:#fff}.login-brand__eyebrow{margin:14px 0 0;font-size:14px;letter-spacing:.02em;color:#ffffff8c;font-variant-numeric:tabular-nums}.login-brand__footer{display:flex;align-items:center;gap:8px;font-size:12px;color:#ffffff80;font-variant-numeric:tabular-nums}.login-brand__status-dot{width:6px;height:6px;border-radius:50%;background:#52c41a;box-shadow:0 0 0 3px #52c41a2e}.login-brand__sep{opacity:.4}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--ant-color-bg-container)}.login-form{width:100%;max-width:360px}.login-form__header{margin-bottom:24px}.login-form__footer{margin-top:24px;text-align:center}@media(max-width:768px){.login-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-brand{padding:28px 24px;min-height:200px}.login-brand:after{inset:auto 0 0;width:100%;height:2px}.login-brand__title{font-size:32px}.login-form-wrap{padding:32px 20px}}.admin-shell__skip-link{position:absolute;left:-9999px;top:0;z-index:2000}.admin-shell__skip-link:focus{left:8px;top:8px;background:#fff;padding:8px 12px;border:1px solid #1677ff;border-radius:6px;font-size:13px;text-decoration:none;color:#1677ff}.admin-shell__menu .ant-menu-item-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding-top:16px;padding-bottom:4px}.admin-shell__sider-brand{display:flex;align-items:center;gap:10px;height:56px;padding:0 16px;border-bottom:1px solid var(--ant-color-border-secondary);color:var(--ant-color-text);text-decoration:none;overflow:hidden}.admin-shell__sider-brand:hover{background:var(--ant-color-fill-tertiary)}.admin-shell__sider-brand:focus-visible{outline:2px solid var(--ant-color-primary);outline-offset:-2px}.admin-shell__sider-brand-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--ant-color-border-secondary);border-radius:6px;background:var(--ant-color-fill-quaternary);color:var(--ant-color-text);font-size:15px;font-weight:600;line-height:1}.admin-shell__sider-brand-copy{min-width:0;display:flex;flex-direction:column}.ant-layout-sider-collapsed .admin-shell__sider-brand{justify-content:center;padding:0}#admin-main:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #1677ff66}.dashboard-today-row--done{opacity:.55;transition:opacity .15s ease}.admin-shell__brand-link{display:inline-flex;align-items:center;text-decoration:none;padding:0 6px;height:32px;border-radius:6px;transition:background-color .15s ease}.admin-shell__brand-link:hover{background:var(--ant-color-fill-tertiary)}.admin-shell__brand-link:focus-visible{outline:2px solid var(--ant-color-primary);outline-offset:1px}.admin-shell__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:0;border-radius:6px;color:var(--ant-color-text-secondary);cursor:pointer;transition:background-color .15s ease}.admin-shell__icon-btn:hover{background:var(--ant-color-fill-tertiary)}.admin-shell__icon-btn:focus-visible{outline:2px solid var(--ant-color-primary);outline-offset:1px}.admin-shell__user-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 8px 0 4px;background:transparent;border:0;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.admin-shell__user-btn:hover{background:var(--ant-color-fill-tertiary)}.admin-shell__user-btn:focus-visible{outline:2px solid var(--ant-color-primary);outline-offset:1px}.admin-shell__user-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ant-color-text);line-height:1}@media(max-width:768px){.admin-shell__user-email{display:none}}.admin-shell__user-popover .ant-popover-inner{padding:8px}.admin-shell__user-panel{width:264px}.admin-shell__user-panel__identity{display:flex;align-items:center;gap:12px;padding:8px 8px 4px}.admin-shell__user-panel__name{flex:1;min-width:0}.admin-shell__user-panel__display-name{font-weight:600;font-size:14px;color:var(--ant-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.admin-shell__user-panel__email{font-size:12px;color:var(--ant-color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;margin-top:2px}.admin-shell__user-panel__appearance{padding:4px 8px 8px}.admin-shell__user-panel__label{font-size:12px;color:var(--ant-color-text-tertiary);margin-bottom:8px;letter-spacing:.02em}.admin-shell__user-panel__logout{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:0;border-radius:6px;color:var(--ant-color-text);font-size:13px;cursor:pointer;transition:background-color .15s ease,color .15s ease;text-align:left}.admin-shell__user-panel__logout:hover{background:var(--ant-color-error-bg);color:var(--ant-color-error)}.admin-shell__user-panel__logout:focus-visible{outline:2px solid var(--ant-color-primary);outline-offset:1px}.comments-row-actions{opacity:0;transition:opacity .12s ease;pointer-events:none}.ant-table-row:hover .comments-row-actions,.ant-table-row:focus-within .comments-row-actions{opacity:1;pointer-events:auto}@media(hover:none){.comments-row-actions{opacity:1;pointer-events:auto}}.comments-content-col{max-width:min(46vw,480px)}.app-fullscreen-modal{max-width:100%!important;margin:0!important;padding:0!important;top:0!important}.app-fullscreen-modal .ant-modal-content{border-radius:0;height:100vh;display:flex;flex-direction:column}.app-fullscreen-modal .ant-modal-body{flex:1;overflow-y:auto}
