.line-rich-menu-editor { grid-column: 1 / -1; }
.line-rich-menu-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 24px; padding: 22px; }
.line-rich-menu-form, .line-rich-menu-form label, .line-rich-menu-buttons fieldset { display: grid; gap: 8px; }
.line-rich-menu-meta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr); gap: 14px; }
.line-rich-menu-form input, .line-rich-menu-form select { width: 100%; min-height: 44px; border: 1px solid #cfe0e4; border-radius: 12px; padding: 10px 12px; background: #fff; color: #0a3347; font: inherit; }
.line-rich-menu-upload { margin-top: 16px; padding: 14px; border: 1px dashed #83cdd0; border-radius: 14px; background: #f4fbfb; }
.line-rich-menu-upload small, .line-rich-menu-note, .line-rich-menu-history small { color: #647b83; }
.line-rich-menu-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.line-rich-menu-buttons fieldset { min-width: 0; margin: 0; padding: 14px; border: 1px solid #d9e7e9; border-radius: 14px; background: #fff; }
.line-rich-menu-buttons legend { padding: 0 7px; color: #008f88; font-weight: 800; }
.line-rich-menu-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.line-rich-menu-message { min-height: 24px; margin: 12px 0 0; color: #007e75; font-weight: 700; }
.line-rich-menu-message.error { color: #b42318; }
.line-rich-menu-preview { position: relative; overflow: hidden; width: 100%; aspect-ratio: 2500 / 1686; border: 1px solid #cfe0e4; border-radius: 18px; background: linear-gradient(135deg, #edf9f8, #eaf3fa); }
.line-rich-menu-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.line-rich-menu-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: #617a82; font-weight: 700; }
.line-rich-menu-overlay { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, 1fr); }
.line-rich-menu-overlay span { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; min-width: 0; padding: 9px; border: 1px dashed rgba(255,255,255,.8); background: rgba(3,53,73,.12); color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,.85); font-size: 12px; font-weight: 800; }
.line-rich-menu-overlay b { display: inline-grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: rgba(0,143,136,.9); }
.line-rich-menu-note { margin: 10px 2px 16px; font-size: 13px; line-height: 1.55; }
.line-rich-menu-history { display: grid; gap: 8px; }
.line-rich-menu-history button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; border: 1px solid #d9e7e9; border-radius: 12px; padding: 11px 12px; background: #fff; color: #0a3347; text-align: left; cursor: pointer; }
@media (max-width: 980px) { .line-rich-menu-layout, .line-rich-menu-meta { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .line-rich-menu-layout { padding: 14px; } .line-rich-menu-buttons { grid-template-columns: 1fr; } .line-rich-menu-actions .button { width: 100%; } }
