
/* Shared, compact spacing with stable independent navigation scrolling. */
.admin-nav{display:flex;flex-direction:column;overflow:hidden;height:100dvh;box-sizing:border-box}
.admin-brand{flex-shrink:0;padding-top:20px;padding-bottom:18px}
.admin-nav-links{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.admin-nav-links button{padding:10px 12px;min-height:40px;margin-bottom:3px}
.admin-nav .admin-running{flex-shrink:0;margin-top:12px;padding:14px 12px}.admin-running-title{font-size:12px}.nav-status-detail{margin-top:8px}
.topbar{padding:8px 20px!important;min-height:56px!important;gap:12px}.brand-logo{width:34px;height:34px}.brand-name{font-size:17px}.brand-sub{display:none}.version{font-size:10px}.top-actions .btn{padding:7px 10px}
.admin-top{margin-bottom:22px}.admin-card{padding:22px}.admin-main{padding-top:24px}.command-card{padding:14px!important;margin-bottom:10px!important}.command-main{gap:10px!important}.command-card textarea{min-height:64px!important;max-height:180px;font-size:13px;line-height:1.6}.command-card input,.command-card select{padding:8px 10px!important;font-size:13px!important}.command-layout{gap:20px!important}.command-card .help{margin:6px 0;font-size:11px}
.table td,.table th{padding:10px 12px}.table{table-layout:auto}.table td:first-child{max-width:260px}.group-title-compact{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-design-row{display:grid;grid-template-columns:auto minmax(80px,1fr) auto auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.card-design-row input[type=text]{width:100%}.card-design-row .btn{padding:5px 8px}.card-design-row textarea{grid-column:2/-1;min-height:54px}.card-design-row small{color:#8399aa}.card-design-row select{width:66px}
.telegram-buttons button{border:0;border-radius:7px;background:#ffffffc9;color:#267da5;padding:9px;flex:1;cursor:pointer;font:inherit}.telegram-buttons>div{display:flex;gap:4px;margin-top:4px}.admin-preview{background:#dce7d6;border-radius:16px;padding:18px;position:sticky;top:18px}.admin-preview .telegram-card{background:white;border-radius:12px 12px 12px 3px;box-shadow:0 1px 2px #0002}.preview-feedback{white-space:pre-wrap;background:#fff8;padding:12px;border-radius:8px;font-size:12px}
.message-editor-preview{background:#dce7d6!important;padding:20px!important}.message-editor-preview:before{content:'Telegram · 消息预览';display:block;color:#466754;font-size:13px;margin-bottom:18px}.message-editor-preview .telegram-card{background:#eeffde;border-radius:12px 12px 3px 12px;padding:14px;box-shadow:0 1px 3px #0002;min-height:80px;white-space:pre-wrap;overflow-wrap:anywhere;color:#17212b}.rich-preview blockquote{border-left:3px solid #68a65d;background:#c6e6be80;padding:6px 10px;margin:6px 0;border-radius:4px}.rich-preview blockquote[expandable]{max-height:110px;overflow:auto}.rich-preview pre{background:#dcecd2;padding:10px;overflow:auto}.rich-preview tg-spoiler{background:#879783;color:transparent;cursor:pointer;border-radius:3px}.rich-preview tg-spoiler:hover,.rich-preview tg-spoiler:focus{color:inherit;background:#a9c69a}.rich-preview a{color:#1685b5}.rich-preview code{font-family:Consolas,monospace}.message-editor-meta{font-size:12px}
@media(max-width:700px){.topbar{padding:8px 12px!important}.card-design-row{grid-template-columns:auto minmax(60px,1fr) auto auto}.admin-preview{position:static}.admin-nav{height:auto;max-height:none}.admin-nav-links{overflow:visible}.admin-card{padding:16px}}
.command-row{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px!important;margin:10px 0!important}.command-main{display:grid!important;grid-template-columns:150px minmax(160px,1fr) 155px auto auto;align-items:center}.command-row textarea{margin-top:10px;font-size:13px;min-height:64px}.command-main input,.command-main select{font-size:13px;padding:8px 10px}.command-slash{display:flex;align-items:center;gap:5px}.command-slash input{min-width:0}.command-main .btn{padding:6px 9px}@media(max-width:1100px){.command-main{grid-template-columns:130px 1fr}.command-main select{width:100%}}@media(max-width:600px){.command-main{grid-template-columns:1fr}.admin-template{display:block}}
.source-table{table-layout:fixed;width:100%}.source-table th:first-child{width:30%}.source-table th:nth-child(2){width:13%}.source-table th:nth-child(3){width:22%}.source-table th:nth-child(4){width:15%}.source-table th:nth-child(5){width:20%}.source-table td,.source-table th{padding:10px 12px!important}.source-table select{width:100%;max-width:200px}.source-table .group-title-compact{max-width:100%}.source-table .secondary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-preview>p.help{color:#4e6b56}.admin-template{grid-template-columns:minmax(330px,1fr) minmax(280px,390px)}@media(max-width:1100px){.admin-template{grid-template-columns:1fr}.admin-preview{position:static}}.shell{height:calc(100dvh - 56px)!important}.shell.real{height:calc(100dvh - 56px)!important}
.message-editor-preview{display:flex;flex-direction:column;gap:12px;border-radius:16px;overflow-y:auto;background-color:#dce7d6!important;background-image:radial-gradient(#ffffff55 1px,transparent 1px);background-size:18px 18px}.message-editor-preview:before{content:'●  Telegram 私聊 · 对方';background:#ffffffd9;margin:-20px -20px 10px;padding:14px 20px;color:#244536;font-size:14px}.message-editor-preview .telegram-card{flex:0 0 auto!important;align-self:flex-end;width:auto;max-width:92%;min-width:160px;min-height:48px!important;height:auto!important;padding:12px 14px 26px!important;position:relative;font-size:14px;line-height:1.6}.message-editor-preview .telegram-card:after{content:'发送预览  ✓✓';position:absolute;right:10px;bottom:5px;font-size:10px;color:#6d9b60;pointer-events:none}.card-design-row>label{display:flex;flex-direction:column;gap:5px;font-size:12px}.card-design-row>label>input{width:100%}.admin-template{align-items:start}.admin-preview{align-self:start}.admin-preview .telegram-card:empty:before{content:'正在生成预览…';color:#829783}.admin-preview .telegram-card{margin-top:12px}.admin-main .card-design-row{padding:8px 0}.admin-preview .row>b{font-size:13px}.source-table .group-title-compact{display:block}
.preview-chat-header{display:flex;align-items:center;gap:10px;padding:10px;background:white;border-radius:8px 8px 0 0}.preview-chat-header small{display:block;font-size:10px;color:#6a8b99;font-weight:400}.preview-chat-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#66adcf;color:#fff}.preview-chat-body{padding:18px 10px;min-height:110px;background:#dce7d6}.preview-incoming{background:#fff;border-radius:8px 8px 8px 2px;padding:10px;width:90%;font-size:12px}.preview-incoming small{display:block;text-align:right;color:#95a4a6;font-size:9px}.preview-compose{background:#fff;padding:12px;border-radius:0 0 8px 8px;color:#9daab2}.preview-compose span{float:right;color:#209ac2}
.rich-preview h1{font-size:24px;margin:8px 0}.rich-preview h2{font-size:21px;margin:7px 0}.rich-preview h3{font-size:18px;margin:7px 0}.rich-preview h4,.rich-preview h5,.rich-preview h6{font-size:16px;margin:6px 0}.rich-preview p{margin:5px 0}.rich-preview ul,.rich-preview ol{padding-left:24px;white-space:normal}.rich-preview table{border-collapse:collapse;width:100%;white-space:normal}.rich-preview th,.rich-preview td{border:1px solid #91af84;padding:6px 8px;min-width:40px}.rich-preview details{background:#d5e7c9;padding:8px;border-radius:7px;margin:8px 0}.rich-preview summary{cursor:pointer;font-weight:600}.rich-preview mark{background:#ffe78d}.rich-preview hr{border:0;border-top:1px solid #9bba8e;margin:12px 0}.rich-preview footer{color:#7d9872;font-size:12px}.rich-preview aside{border-left:3px solid #79a66a;margin:8px 0;padding:7px}.rich-preview img,.rich-preview video{max-width:100%;border-radius:8px}.rich-preview audio{max-width:100%}.rich-preview tg-math-block{display:block;padding:12px;background:#d7e7cd}.rich-preview tg-button{display:inline-block;padding:6px 10px;border-radius:6px;background:#b3d7a4;color:#326228}.message-editor-tools{max-height:150px;overflow:auto;gap:5px}.message-fullscreen>footer{padding:10px 20px!important}.rich-preview tg-reference{display:block;font-size:11px;color:#76916d}.rich-preview tg-document{display:block;padding:12px;background:#d7e7cd}.rich-preview tg-document:before{content:'📎 文件'}.rich-preview tg-map{display:block;background:#d0dfc4;padding:30px}.rich-preview tg-map:before{content:'📍 地图位置'}.rich-preview figure{margin:8px 0}.rich-preview figcaption{font-size:12px;color:#77916d}
