.ann-md{font-size:14px;line-height:1.7;color:#1f2937;word-break:break-word}.ann-md>:first-child{margin-top:0}.ann-md>:last-child{margin-bottom:0}.ann-md h1,.ann-md h2,.ann-md h3,.ann-md h4{font-weight:700;line-height:1.3;margin:1em 0 .4em}.ann-md h1{font-size:1.4em}.ann-md h2{font-size:1.2em}.ann-md h3,.ann-md h4{font-size:1.05em}.ann-md p{margin:.5em 0}.ann-md ul,.ann-md ol{padding-left:1.4em;margin:.5em 0}.ann-md a{color:#15803d;text-decoration:underline}.ann-md img{max-width:100%;height:auto;border-radius:8px}.ann-md blockquote{margin:.6em 0;padding:.1em .9em;border-left:3px solid #86efac;background:#f0fdf4;color:#4b5563}.ann-md code{background:#f3f4f6;padding:.1em .35em;border-radius:4px;font-size:.9em}.ann-md pre{background:#f3f4f6;padding:10px 12px;border-radius:8px;overflow:auto}.ann-md pre code{background:transparent;padding:0}.ann-md table{border-collapse:collapse;display:block;overflow-x:auto}.ann-md th,.ann-md td{border:1px solid #e5e7eb;padding:4px 8px}.ann-md hr{border:0;border-top:1px solid #e5e7eb;margin:1em 0}.ann-category-picker{display:flex;flex-wrap:wrap;gap:8px}.ann-category-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid #d9d9d9;background:#fff;color:#434343;font-size:13px;line-height:1.4;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.ann-category-chip:hover:not(:disabled){border-color:#52c41a}.ann-category-chip:focus-visible{outline:2px solid #1890ff;outline-offset:2px}.ann-category-chip.is-selected{font-weight:600}.ann-category-chip:disabled{cursor:not-allowed;opacity:.6}.ann-category-hint{margin-top:6px;font-size:12px;color:#8c8c8c}.ann-md-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px}.ann-md-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.ann-preview-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;align-items:start}@media(max-width:900px){.ann-preview-grid{grid-template-columns:minmax(0,1fr)}}.ann-preview-caption{margin:0 0 8px;font-size:12px;font-weight:600;color:#8c8c8c;text-transform:uppercase;letter-spacing:.04em}.ann-preview-surface{border:1px solid #e5e7eb;border-radius:16px;background:#f9fafb;padding:12px}.ann-preview-item{position:relative;display:flex;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e5e7eb}.ann-preview-item.is-unread{background:#f0fdf4;border-color:#bbf7d0}.ann-preview-icon{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;font-size:18px}.ann-preview-body{min-width:0;flex:1}.ann-preview-title{font-size:14px;font-weight:600;color:#111827;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ann-preview-summary{margin-top:2px;font-size:12px;color:#6b7280;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ann-preview-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:11px;color:#9ca3af}.ann-preview-dot{position:absolute;top:50%;left:3px;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#22c55e}.ann-preview-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600}.ann-preview-detail{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:16px;box-shadow:0 8px 24px #0000000f}.ann-preview-cover{aspect-ratio:16 / 7;width:100%;border-radius:12px;object-fit:cover;background:#f0fdf4;display:block}.ann-preview-h{margin:12px 0 0;font-size:20px;font-weight:700;line-height:1.3;color:#1f2937}.ann-preview-by{margin:4px 0 12px;font-size:12px;color:#9ca3af}.ann-preview-cta{display:inline-block;margin-top:14px;padding:8px 16px;border-radius:999px;background:#16a34a;color:#fff;font-size:13px;font-weight:600}.ann-preview-empty{color:#bfbfbf}:root{--primary-color: #1890ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #ff4d4f;--font-size-base: 14px;--border-radius-base: 6px;--box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .03), 0 1px 6px -1px rgba(0, 0, 0, .02), 0 2px 4px 0 rgba(0, 0, 0, .02)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-base);line-height:1.5715;color:#000000d9;background-color:#f0f2f5}#root{min-height:100vh}.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{width:400px;border-radius:12px;box-shadow:0 10px 40px #0003}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:28px;font-weight:600;color:#1f1f1f;margin-bottom:8px}.login-header p{color:#8c8c8c}.admin-layout{min-height:100vh}.admin-sider{background:#fff!important;box-shadow:2px 0 8px #0000000d;border-right:1px solid #f0f0f0}.admin-logo{height:48px;display:flex;align-items:center;justify-content:center;padding:0 16px;margin:8px 0;border-bottom:1px solid #f0f0f0}.admin-logo h2{font-size:14px;font-weight:700;margin:0;white-space:nowrap;letter-spacing:2px;background:linear-gradient(90deg,var(--primary-color),#096dd9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.admin-header{background:#fffc!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:0 16px!important;height:48px!important;line-height:48px!important;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px #00152914;position:sticky;top:0;z-index:1001}.admin-content{margin:12px;padding:16px;background:#f0f2f5;min-height:280px}.dashboard-stats{margin-bottom:16px}.stat-card{border-radius:8px;transition:all .3s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.stat-card .ant-statistic-title{color:#8c8c8c;font-size:13px}.stat-card .ant-statistic-content{font-size:22px}.chart-card{height:320px;border-radius:8px}.chart-container{height:240px;padding:8px}.admin-table .ant-table-thead>tr>th{background:#fafafa;font-weight:600}.admin-table .ant-table-row:hover{cursor:pointer}.admin-sider .ant-menu{background:transparent!important;border:none!important}.admin-sider .ant-menu-item{margin:4px 8px!important;border-radius:4px!important;width:calc(100% - 16px)!important}.admin-sider .ant-menu-item-selected{background-color:var(--primary-color)!important;color:#fff!important}.user-info{display:flex;align-items:center;gap:8px}.user-info .user-name{font-weight:500;font-size:13px}.user-info .user-email{font-size:11px;color:#8c8c8c}.page-header{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.page-header h1{font-size:20px;font-weight:600;margin:0}@media(max-width:768px){.admin-content{margin:16px;padding:16px}.login-card{width:90%;margin:16px}}
