ThunderAI/pages/menu_order/mzta-menu-order.css

394 lines
6.4 KiB
CSS

.page_title {
margin-bottom: 0px;
}
#command_palette {
position: sticky;
top: 0;
padding-top: 1px;
height: 26px;
width: 100%;
z-index: 90;
margin-bottom: 16px;
background-color: #ffffff;
}
#btnSaveAll {
float: left;
}
#msgDisplay {
padding-left: 40px;
}
#lists_container {
display: flex;
gap: 24px;
align-items: flex-start;
}
.menu_list_panel {
flex: 1;
min-width: 320px;
border: 1px solid #ccc;
border-radius: 6px;
padding: 12px;
}
.menu_list_panel h2 {
margin-top: 0;
margin-bottom: 8px;
font-size: 1.1em;
}
.sub_tabs {
display: flex;
gap: 4px;
margin-bottom: 12px;
border-bottom: 1px solid #ccc;
padding-bottom: 0;
padding-left: 12px;
}
.sub_tab {
padding: 4px 14px;
border: 1px solid #ccc;
background: #f5f5f5;
cursor: pointer;
border-radius: 4px 4px 0 0;
font-size: 0.9em;
margin-bottom: -1px;
}
.sub_tab.active {
background: #fff;
border-bottom-color: #fff;
font-weight: bold;
}
.section_label {
font-size: 0.85em;
color: #666;
margin: 8px 0 4px 0;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.hidden_section_label {
border-top: 1px dashed #ccc;
padding-top: 8px;
margin-top: 12px;
}
.sortable_list,
.hidden_list {
list-style: none;
padding: 0;
margin: 0;
min-height: 40px;
}
.sortable_item {
display: flex;
align-items: center;
gap: 8px;
padding: 6px 8px;
margin: 3px 0;
border: 1px solid #ddd;
border-radius: 4px;
background: #fff;
user-select: none;
transition: background-color 0.15s;
}
.sortable_item:hover {
background: #f0f4ff;
}
.sortable_item.dragging {
opacity: 0.4;
border-style: dashed;
}
.sortable_item.drag-over {
border-top: 2px solid #409df3;
}
.drag_handle {
cursor: grab;
color: #999;
font-size: 1.1em;
padding: 0 4px;
flex-shrink: 0;
}
.drag_handle:active {
cursor: grabbing;
}
.item_toggle {
flex-shrink: 0;
width: 16px;
height: 16px;
cursor: pointer;
}
.item_name {
flex: 1;
font-size: 0.92em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.badge {
display: inline-block;
padding: 1px 6px;
border-radius: 3px;
font-size: 0.72em;
font-weight: 600;
text-transform: uppercase;
flex-shrink: 0;
}
.badge_default {
background: #e0e0e0;
color: #555;
}
.badge_special {
background: #d4eaff;
color: #1a5fa0;
}
.badge_custom {
background: #e8f5e9;
color: #2e7d32;
}
.badge_type {
background: #fff3e0;
color: #e65100;
}
.item_icon_preview {
width: 18px;
height: 18px;
object-fit: contain;
flex-shrink: 0;
cursor: pointer;
border: 1px solid transparent;
border-radius: 3px;
padding: 1px;
box-sizing: border-box;
}
.item_icon_preview:hover {
border-color: #409df3;
background: #eef5ff;
}
.item_icon_preview_empty {
display: inline-block;
background: transparent;
}
.item_icon_preview_special {
cursor: default;
}
.item_icon_preview_special:hover {
border-color: transparent;
background: transparent;
}
.icon_picker_popover {
position: absolute;
z-index: 1000;
background: #fff;
border: 1px solid #bbb;
border-radius: 6px;
padding: 6px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
display: grid;
grid-template-columns: repeat(5, 28px);
gap: 4px;
max-width: 180px;
}
.icon_picker_cell {
width: 28px;
height: 28px;
padding: 2px;
border: 1px solid transparent;
background: transparent;
border-radius: 4px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
}
.icon_picker_cell img {
width: 20px;
height: 20px;
object-fit: contain;
}
.icon_picker_cell:hover {
background: #eef5ff;
border-color: #409df3;
}
.icon_picker_cell.selected {
background: #d4eaff;
border-color: #409df3;
}
.icon_picker_cell_none {
font-size: 1.2em;
color: #888;
}
/* Hidden list items */
.hidden_list .sortable_item {
opacity: 0.6;
background: #fafafa;
}
.hidden_list .sortable_item .drag_handle {
visibility: hidden;
}
.hidden_list .sortable_item:hover {
opacity: 0.8;
background: #f5f5f5;
}
/* Dark mode */
@media (prefers-color-scheme: dark) {
body {
background-color: #1c1b22;
color: rgb(251, 251, 254);
}
#command_palette {
background-color: inherit;
}
#msgDisplay {
color: #5cb85c;
}
.menu_list_panel {
border-color: #444;
background: #2a2a30;
}
.sub_tabs {
border-bottom-color: #555;
}
.sub_tab {
border-color: #555;
background: #333;
color: #ccc;
}
.sub_tab.active {
background: #2a2a30;
border-bottom-color: #2a2a30;
color: #fff;
}
.section_label {
color: #999;
}
.hidden_section_label {
border-top-color: #555;
}
.sortable_item {
border-color: #444;
background: #333;
color: #eee;
}
.sortable_item:hover {
background: #3a3a44;
}
.sortable_item.drag-over {
border-top-color: #409df3;
}
.drag_handle {
color: #777;
}
.badge_default {
background: #444;
color: #bbb;
}
.badge_special {
background: #1a3a5c;
color: #7ab8f5;
}
.badge_custom {
background: #1b3a1e;
color: #81c784;
}
.badge_type {
background: #3d2800;
color: #ffb74d;
}
.item_icon_preview:hover {
background: #3a3a44;
border-color: #409df3;
}
.icon_picker_popover {
background: #2a2a30;
border-color: #555;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6);
}
.icon_picker_cell:hover {
background: #3a3a44;
}
.icon_picker_cell.selected {
background: #1a3a5c;
}
.icon_picker_cell_none {
color: #aaa;
}
.hidden_list .sortable_item {
background: #2a2a2e;
}
.hidden_list .sortable_item:hover {
background: #333;
}
a:link { color: #409eff; }
a:visited { color: #409eff; }
a:hover { color: #66b1ff; }
a:active { color: #66b1ff; }
.item_icon_preview_empty {
filter: invert(1);
}
.icon_picker_cell_none img {
filter: invert(1);
}
}