.mensa-portal {
margin: 0 0 16px;
display: flow-root;
container-name: mensa-portal;
container-type: inline-size;
padding-top: var(--mensa-widget-tabs-margin-top, 0px);
color: var(--mensa-widget-text-color, inherit);
background: var(--mensa-widget-bg-color, transparent);
border-radius: var(--mensa-widget-radius-resolved);
}
.mensa-portal a { color: var(--mensa-widget-link-color, inherit); }
.mensa-portal .mensa-portal-header {
display: flex;
gap: var(--mensa-widget-spacing-resolved);
align-items: center;
justify-content: space-between;
margin-bottom: var(--mensa-widget-section-spacing-resolved);
padding: 14px var(--mensa-widget-panel-padding-resolved);
border: 1px solid var(--mensa-widget-border-color, #dbe2ea);
border-radius: var(--mensa-widget-radius-resolved);
background: var(--mensa-widget-surface-color, #fff);
box-shadow: var(--mensa-widget-shadow-panel-resolved);
}
.mensa-portal .mensa-portal-user { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mensa-portal .mensa-portal-user strong { display: block; overflow: hidden; color: var(--mensa-widget-text-color, #172033); text-overflow: ellipsis; white-space: nowrap; }
.mensa-portal .mensa-portal-user-label { display: block; color: var(--mensa-widget-muted-text-color, #64748b); font-size: .76em; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.mensa-portal .mensa-portal-avatar { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: var(--mensa-widget-tab-active-bg-color, #eff6ff); color: var(--mensa-widget-tab-active-text-color, #1d4ed8); font-size: .82em; font-weight: 750; letter-spacing: .03em; }
.mensa-portal .mensa-portal-logout { white-space: nowrap; text-decoration: none; }
.mensa-portal .mensa-portal-shell { display: grid; grid-template-columns: minmax(205px, 250px) minmax(0, 1fr); gap: var(--mensa-widget-section-spacing-resolved); align-items: start; }
.mensa-portal .mensa-portal-tabs {
position: sticky;
top: 48px;
min-width: 0;
padding: 12px;
border: 1px solid var(--mensa-widget-border-color, #dbe2ea);
border-radius: var(--mensa-widget-radius-resolved);
background: var(--mensa-widget-surface-color, #fff);
box-shadow: var(--mensa-widget-shadow-panel-resolved);
}
.mensa-portal .mensa-tab-groups { display: grid; gap: 16px; }
.mensa-portal .mensa-tab-group-label,
.mensa-portal .mensa-tab-group-title { margin: 0 8px 5px; color: var(--mensa-widget-muted-text-color, #64748b); font-size: .7em; font-weight: 750; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.mensa-portal .mensa-tablist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--mensa-widget-tab-gap-resolved); }
.mensa-portal .mensa-tablist > li { margin: 0; padding: 0; }
.mensa-portal .mensa-tab {
display: flex;
gap: 10px;
align-items: center;
justify-content: flex-start;
min-height: 42px;
padding: 9px 11px;
border: 1px solid transparent;
border-radius: var(--mensa-widget-tab-radius-resolved);
background: transparent;
box-shadow: none;
color: var(--mensa-widget-tab-text-color, #475569);
font-weight: 600;
line-height: 1.25;
text-decoration: none;
}
.mensa-portal .mensa-tab-icon { flex: 0 0 20px; width: 20px; height: 20px; color: var(--mensa-widget-muted-text-color, #64748b); font-size: 20px; }
.mensa-portal .mensa-tab,
.mensa-portal .mensa-button,
.mensa-portal .button,
.mensa-portal button.button,
.mensa-portal input[type="submit"],
.mensa-portal input[type="button"],
.mensa-portal input[type="text"],
.mensa-portal input[type="search"],
.mensa-portal input[type="number"],
.mensa-portal input[type="password"],
.mensa-portal select,
.mensa-portal textarea {
transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.mensa-portal .mensa-tab.is-active { background: var(--mensa-widget-tab-active-bg-color, #eff6ff); color: var(--mensa-widget-tab-active-text-color, #1d4ed8); border-color: color-mix(in srgb, var(--mensa-widget-tab-active-text-color, #1d4ed8) 16%, transparent); }
.mensa-portal .mensa-tab.is-active .mensa-tab-icon { color: currentColor; }
.mensa-portal .mensa-tab:hover { background: var(--mensa-widget-surface-muted-color, #f1f5f9); color: var(--mensa-widget-text-color, #172033); transform: none; }
.mensa-portal .mensa-portal-content { min-width: 0; }
.mensa-portal .mensa-portal-content:focus { outline: none; }
.mensa-portal .mensa-portal-content-inner { min-width: 0; }
.mensa-portal .mensa-portal-loading { margin-bottom: 10px; padding: 10px 12px; border-radius: var(--mensa-widget-input-radius-resolved); background: var(--mensa-widget-tab-active-bg-color, #eff6ff); color: var(--mensa-widget-tab-active-text-color, #1d4ed8); font-weight: 600; }
.mensa-portal .mensa-portal-panel { background: var(--mensa-widget-surface-color, #fff); border: 1px solid var(--mensa-widget-border-color, #dbe2ea); border-radius: var(--mensa-widget-radius-resolved); padding: var(--mensa-widget-panel-padding-resolved); box-shadow: var(--mensa-widget-shadow-panel-resolved); }
.mensa-portal .mensa-portal-mobile-label,
.mensa-portal .mensa-portal-mobile-nav { display: none; }
.mensa-portal .mensa-portal-login { max-width: 420px; margin: 0 auto; padding: var(--mensa-widget-panel-padding-resolved); border: 1px solid var(--mensa-widget-border-color, #e2e4e7); border-radius: var(--mensa-widget-radius-resolved); background: var(--mensa-widget-surface-muted-color, #f6f7f7); box-shadow: var(--mensa-widget-shadow-panel-resolved); }
.mensa-portal .mensa-portal-login h2 { margin-top: 0; }
.mensa-portal .mensa-portal-login .login-username,
.mensa-portal .mensa-portal-login .login-password,
.mensa-portal .mensa-portal-login .login-remember,
.mensa-portal .mensa-portal-login .login-submit,
.mensa-portal .mensa-portal-login-links { margin: 0 0 var(--mensa-widget-spacing-resolved); }
.mensa-portal .mensa-portal-login label { display: block; font-weight: 600; margin-bottom: 6px; }
.mensa-portal .mensa-portal-login input[type="text"],
.mensa-portal .mensa-portal-login input[type="password"] { width: 100%; max-width: 100%; box-sizing: border-box; border: 1px solid var(--mensa-widget-border-color, #ccd0d4); border-radius: var(--mensa-widget-input-radius-resolved); padding: 10px 12px; color: var(--mensa-widget-text-color, inherit); background: var(--mensa-widget-input-bg-color, var(--mensa-widget-surface-color, #fff)); box-shadow: var(--mensa-widget-shadow-input-resolved); }
.mensa-portal .mensa-portal-login .login-remember label { display: inline-flex; gap: 8px; align-items: center; font-weight: 400; }
.mensa-portal .mensa-portal-login .login-submit { margin-bottom: 0; }
.mensa-portal .mensa-portal-login input[type="submit"] { width: 100%; padding: 10px 12px; cursor: pointer; }
.mensa-portal.mensa-editor-preview { overflow: hidden; }
.mensa-portal.mensa-editor-preview .mensa-tablist { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.mensa-portal.mensa-editor-preview .mensa-tablist > li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.mensa-portal.mensa-editor-preview .mensa-preview-tab { cursor: pointer; }
.mensa-portal.mensa-editor-preview .mensa-preview-tab-input {
position: absolute;
opacity: 0;
pointer-events: none;
}
.mensa-portal.mensa-editor-preview .mensa-portal-panel { width: 100%; max-width: 100%; box-sizing: border-box; }
.mensa-portal.mensa-editor-preview .mensa-preview-tab-panels { min-width: 0; }
.mensa-portal.mensa-editor-preview .mensa-preview-tab-panel { display: none; }
.mensa-portal.mensa-editor-preview .mensa-preview-tab-panel[hidden] { display: none !important; }
.mensa-portal.mensa-editor-preview .mensa-preview-tab-panel.is-active { display: block; }
.mensa-portal.mensa-editor-preview .mensa-editor-preview-notice {
margin-bottom: var(--mensa-widget-section-spacing-resolved);
padding: 10px 12px;
border: 1px solid var(--mensa-widget-notice-border-color, #cbd5e1);
border-radius: var(--mensa-widget-input-radius-resolved);
background: var(--mensa-widget-notice-bg-color, #f8fafc);
color: var(--mensa-widget-notice-text-color, #334155);
font-size: .88em;
}
.mensa-portal.mensa-editor-preview .mensa-editor-preview-notice.is-action-blocked {
border-color: color-mix(in srgb, var(--mensa-widget-warning-color-resolved) 45%, transparent);
background: color-mix(in srgb, var(--mensa-widget-warning-color-resolved) 10%, white);
}
.mensa-portal.mensa-editor-preview .mensa-portal-panel.full-width {
width: 100%;
margin-left: 0;
margin-right: 0;
border-left: 1px solid var(--mensa-widget-border-color, #e5e7eb);
border-right: 1px solid var(--mensa-widget-border-color, #e5e7eb);
border-radius: 8px;
}
.mensa-portal .button,
.mensa-portal .mensa-button,
.mensa-portal button.button,
.mensa-portal input[type="submit"],
.mensa-portal input[type="button"] {
color: var(--mensa-widget-button-text-color, inherit);
background: var(--mensa-widget-button-bg-color, initial);
border-color: var(--mensa-widget-button-border-color, currentColor);
border-radius: var(--mensa-widget-button-radius-resolved);
box-shadow: var(--mensa-widget-shadow-button-resolved);
}
.mensa-portal .mensa-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 13px; border: 1px solid var(--mensa-widget-button-border-color, #2563eb); border-radius: var(--mensa-widget-button-radius-resolved); background: var(--mensa-widget-button-bg-color, #2563eb); color: var(--mensa-widget-button-text-color, #fff); font-weight: 650; line-height: 1.2; text-decoration: none; }
.mensa-portal .mensa-button--ghost { border-color: var(--mensa-widget-border-color, #dbe2ea); background: transparent; color: var(--mensa-widget-text-color, #172033); box-shadow: none; }
.mensa-portal .button:hover,
.mensa-portal .mensa-button:hover,
.mensa-portal button.button:hover,
.mensa-portal input[type="submit"]:hover,
.mensa-portal input[type="button"]:hover { transform: translateY(-1px); }
.mensa-portal .button.button-primary,
.mensa-portal .button.button-secondary,
.mensa-portal button.button.button-primary,
.mensa-portal button.button.button-secondary {
color: var(--mensa-widget-button-text-color, inherit);
background: var(--mensa-widget-button-bg-color, initial);
border-color: var(--mensa-widget-button-border-color, currentColor);
} .mensa-portal .portal-card { background:var(--mensa-widget-surface-muted-color,#f9fafb); border:1px solid var(--mensa-widget-border-color,#e5e7eb); border-radius:var(--mensa-widget-radius-resolved); padding:var(--mensa-widget-panel-padding-resolved); box-shadow: var(--mensa-widget-shadow-panel-resolved); }
.mensa-portal .portal-section { margin: var(--mensa-widget-section-spacing-resolved) 0; }
.mensa-portal .form-grid { display:grid; grid-template-columns: 1fr; gap:var(--mensa-widget-spacing-resolved); }
.mensa-portal .form-row label { display:block; font-weight:600; margin-bottom:6px; }
.mensa-portal .form-row input[type="text"],
.mensa-portal .form-row input[type="password"],
.mensa-portal .form-row select { width:100%; max-width:520px; min-height: 42px; padding: 8px 11px; border: 1px solid var(--mensa-widget-border-color, #dbe2ea); border-radius: var(--mensa-widget-input-radius-resolved); background: var(--mensa-widget-input-bg-color, #fff); color: var(--mensa-widget-text-color, #172033); box-shadow: var(--mensa-widget-shadow-input-resolved); }
.mensa-portal .form-inline { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.mensa-portal .form-inline select { min-width: 220px; }
.mensa-portal .table-responsive { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.mensa-portal .mensa-profile-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 16px 0 0; }
.mensa-portal .mensa-profile-details > div { padding: 12px; border-radius: var(--mensa-widget-input-radius-resolved); background: var(--mensa-widget-surface-muted-color, #f1f5f9); }
.mensa-portal .mensa-profile-details dt { color: var(--mensa-widget-muted-text-color, #64748b); font-size: .78em; font-weight: 650; text-transform: uppercase; }
.mensa-portal .mensa-profile-details dd { margin: 3px 0 0; color: var(--mensa-widget-text-color, #172033); font-weight: 650; }
.mensa-portal .mensa-portal-notice { padding: 11px 13px; border: 1px solid var(--mensa-widget-notice-border-color, #cbd5e1); border-radius: var(--mensa-widget-input-radius-resolved); background: var(--mensa-widget-notice-bg-color, #f8fafc); color: var(--mensa-widget-notice-text-color, #334155); }
.mensa-portal .mensa-portal-notice p { margin: 0; }
.mensa-portal .mensa-portal-notice.is-warning { border-color: color-mix(in srgb, var(--mensa-widget-warning-color-resolved) 35%, transparent); background: color-mix(in srgb, var(--mensa-widget-warning-color-resolved) 8%, white); color: #7c3d0b; } .mensa-portal .mensa-portal-panel.full-width {
width: 100%;
max-width: 100%;
margin-inline: 0;
} .mensa-portal .mensa-portal-panel.full-width .wp-list-table,
.mensa-portal .mensa-portal-panel.full-width table.widefat,
.mensa-portal .mensa-portal-panel.full-width .weekly-planner-table table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
} .mensa-portal .mensa-tab:focus {
outline: 2px solid var(--mensa-widget-button-border-color, #1e73be);
outline-offset: 2px;
}
.mensa-portal--nav-tabs .mensa-portal-shell,
.mensa-portal--nav-compact .mensa-portal-shell {
grid-template-columns: 1fr;
}
.mensa-portal--nav-tabs .mensa-portal-tabs,
.mensa-portal--nav-compact .mensa-portal-tabs {
position: static;
}
.mensa-portal--nav-tabs .mensa-tab-groups,
.mensa-portal--nav-compact .mensa-tab-groups {
display: flex;
gap: 12px;
align-items: flex-end;
overflow-x: auto;
}
.mensa-portal--nav-tabs .mensa-tab-group,
.mensa-portal--nav-compact .mensa-tab-group {
flex: 0 0 auto;
}
.mensa-portal--nav-tabs .mensa-tablist,
.mensa-portal--nav-compact .mensa-tablist {
display: flex;
}
.mensa-portal--nav-tabs .mensa-tab {
justify-content: center;
}
.mensa-portal--nav-compact .mensa-tab-group-label,
.mensa-portal--nav-compact .mensa-tab-group-title {
display: none;
}
.mensa-portal--nav-compact .mensa-tab {
min-height: 38px;
padding: 7px 9px;
font-size: .9em;
}
@media (max-width: 900px) {
.mensa-portal .mensa-portal-shell {
grid-template-columns: 1fr;
}
.mensa-portal .mensa-portal-tabs {
position: static;
padding: 0;
border: 0;
background: transparent;
box-shadow: none;
}
.mensa-portal .mensa-portal-mobile-label {
display: block;
margin-bottom: 6px;
color: var(--mensa-widget-muted-text-color, #64748b);
font-size: .8em;
font-weight: 650;
}
.mensa-portal .mensa-portal-mobile-nav {
display: block;
width: 100%;
min-height: 46px;
padding: 9px 12px;
border: 1px solid var(--mensa-widget-border-color, #dbe2ea);
border-radius: var(--mensa-widget-input-radius-resolved);
background: var(--mensa-widget-input-bg-color, #fff);
color: var(--mensa-widget-text-color, #172033);
box-shadow: var(--mensa-widget-shadow-input-resolved);
}
.mensa-portal .mensa-tab-groups {
display: none;
}
} @container mensa-portal (max-width: 1080px) {
.mensa-portal .mensa-portal-shell {
grid-template-columns: minmax(0, 1fr);
}
.mensa-portal .mensa-portal-tabs {
position: static;
padding: 0;
border: 0;
background: transparent;
box-shadow: none;
}
.mensa-portal .mensa-portal-mobile-label {
display: block;
margin-bottom: 6px;
color: var(--mensa-widget-muted-text-color, #64748b);
font-size: .8em;
font-weight: 650;
}
.mensa-portal .mensa-portal-mobile-nav {
display: block;
width: 100%;
min-height: 46px;
padding: 9px 12px;
border: 1px solid var(--mensa-widget-border-color, #dbe2ea);
border-radius: var(--mensa-widget-input-radius-resolved);
background: var(--mensa-widget-input-bg-color, #fff);
color: var(--mensa-widget-text-color, #172033);
box-shadow: var(--mensa-widget-shadow-input-resolved);
}
.mensa-portal .mensa-tab-groups {
display: none;
}
} .mensa-portal .mensa-portal-panel-weekly-planner,
.mensa-portal .mensa-portal-panel-weekly-planner .mensa-caterer-wrap,
.mensa-portal .mensa-portal-panel-weekly-planner .weekly-planner-container {
min-width: 0;
max-width: 100%;
}
.mensa-portal .mensa-portal-panel-weekly-planner .mensa-caterer-wrap .wrap > h1 {
display: none;
}
.mensa-portal .mensa-portal-panel-weekly-planner .weekly-planner-table {
max-width: 100%;
overflow-x: auto;
overscroll-behavior-inline: contain;
scrollbar-gutter: stable;
border: 1px solid var(--mensa-widget-border-color, #dbe2ea);
border-radius: var(--mensa-widget-radius-resolved);
background: var(--mensa-widget-surface-color, #fff);
box-shadow: var(--mensa-widget-shadow-panel-resolved);
-webkit-overflow-scrolling: touch;
}
.mensa-portal .mensa-portal-panel-weekly-planner .weekly-planner-table table {
display: table;
min-width: 900px;
margin: 0;
border: 0;
border-radius: 0;
box-shadow: none;
}
.mensa-portal .mensa-portal-panel-weekly-planner .day-header,
.mensa-portal .mensa-portal-panel-weekly-planner .meal-cell {
min-width: 164px;
}
.mensa-portal .mensa-portal-panel-weekly-planner .meal-number-header,
.mensa-portal .mensa-portal-panel-weekly-planner .meal-number-cell {
position: sticky;
left: 0;
z-index: 11;
width: 68px;
min-width: 68px;
}
.mensa-portal .mensa-portal-panel-weekly-planner .meal-number-cell {
z-index: 9;
background: var(--mensa-widget-surface-muted-color, #f8fafc);
}
@container mensa-portal (max-width: 680px) {
.mensa-portal .mensa-portal-panel-weekly-planner {
padding: min(16px, var(--mensa-widget-panel-padding-resolved));
}
.mensa-portal .mensa-portal-panel-weekly-planner .week-selector,
.mensa-portal .mensa-portal-panel-weekly-planner .week-selector form {
align-items: stretch;
flex-direction: column;
}
.mensa-portal .mensa-portal-panel-weekly-planner .week-navigation {
flex-direction: column;
}
.mensa-portal .mensa-portal-panel-weekly-planner .week-navigation,
.mensa-portal .mensa-portal-panel-weekly-planner .week-navigation .button {
width: 100%;
}
.mensa-portal .mensa-portal-panel-weekly-planner .weekly-planner-table {
margin-inline: 0;
}
} .mensa-kiosk { display: grid; grid-template-columns: 1fr; gap: 12px; }
.mensa-kiosk .kiosk-row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.mensa-kiosk .kiosk-input { position: relative; flex: 1 1 320px; }
.mensa-kiosk .kiosk-input input[type="text"] { font-size: 20px; padding: 10px 12px; width: 100%; max-width: 100%; box-sizing: border-box; }
.mensa-kiosk .kiosk-row { width: 100%; }
.mensa-kiosk .kiosk-result { padding: 10px; border: 1px solid var(--mensa-widget-border-color, #e5e7eb); border-radius: 6px; min-height: 64px; background: var(--mensa-widget-surface-color, transparent); }
.mensa-kiosk .kiosk-actions { display: flex; gap: 10px; flex: 0 0 auto; }
.mensa-kiosk .kiosk-actions .button { min-width: 140px; } .mensa-kiosk .kiosk-alpha { display: grid; grid-template-columns: repeat(auto-fill,minmax(56px,1fr)); gap: 8px; }
.mensa-kiosk .kiosk-alpha .button { padding: 10px 0; font-size: 16px; }
@media (max-width: 640px){
.mensa-portal .mensa-portal-header { align-items: stretch; flex-direction: column; }
.mensa-portal .mensa-portal-logout { text-align: center; }
.mensa-kiosk .kiosk-actions { width: 100%; }
.mensa-kiosk .kiosk-actions .button { width: 100%; }
} .mensa-kiosk-shop {
display: grid;
grid-template-columns: 1fr;
gap: 14px;
}
.mensa-kiosk-shop .kiosk-shop-student,
.mensa-kiosk-shop .kiosk-shop-products {
background: var(--mensa-widget-surface-muted-color, #f9fafb);
border: 1px solid var(--mensa-widget-border-color, #e5e7eb);
border-radius: 8px;
padding: 12px;
}
.mensa-kiosk-shop label {
display: block;
font-weight: 600;
margin-bottom: 6px;
}
.mensa-kiosk-shop input[type="text"],
.mensa-kiosk-shop input[type="search"] {
width: 100%;
max-width: 100%;
box-sizing: border-box;
border: 1px solid var(--mensa-widget-border-color, #ccd0d4);
border-radius: var(--mensa-widget-input-radius-resolved);
padding: 10px 12px;
color: var(--mensa-widget-text-color, inherit);
background: var(--mensa-widget-input-bg-color, var(--mensa-widget-surface-color, #fff));
box-shadow: var(--mensa-widget-shadow-input-resolved);
}
.mensa-kiosk-shop .kiosk-shop-student-result {
margin-top: 10px;
background: var(--mensa-widget-surface-color, #fff);
border: 1px solid var(--mensa-widget-border-color, #e5e7eb);
border-radius: var(--mensa-widget-input-radius-resolved);
padding: 10px;
min-height: 58px;
}
.mensa-kiosk-shop .kiosk-shop-student-result.is-success {
border-color: var(--mensa-widget-notice-border-color, #16a34a);
background: var(--mensa-widget-notice-bg-color, #ecfdf3);
color: var(--mensa-widget-notice-text-color, inherit);
}
.mensa-kiosk-shop .kiosk-shop-student-result.is-error {
border-color: var(--mensa-widget-notice-border-color, #dc2626);
background: var(--mensa-widget-notice-bg-color, #fef2f2);
color: var(--mensa-widget-notice-text-color, inherit);
}
.mensa-kiosk-shop .kiosk-shop-toolbar {
margin-bottom: 10px;
}
.mensa-kiosk-shop .kiosk-shop-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 10px;
}
.mensa-kiosk-shop .kiosk-shop-item {
display: grid;
grid-template-columns: 64px 1fr;
gap: 10px;
background: var(--mensa-widget-surface-color, #fff);
border: 1px solid var(--mensa-widget-border-color, #e5e7eb);
border-radius: 8px;
padding: 10px;
}
.mensa-kiosk-shop .kiosk-shop-item-main {
min-width: 0;
}
.mensa-kiosk-shop .kiosk-shop-item-image {
width: 64px;
height: 64px;
border-radius: 6px;
overflow: hidden;
background: var(--mensa-widget-surface-muted-color, #f1f5f9);
display: flex;
align-items: center;
justify-content: center;
}
.mensa-kiosk-shop .kiosk-shop-item-image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.mensa-kiosk-shop .kiosk-shop-item-title {
margin-bottom: 4px;
}
.mensa-kiosk-shop .kiosk-shop-item-price {
color: var(--mensa-widget-text-color, #111827);
font-weight: 600;
margin-bottom: 8px;
}
.mensa-kiosk-shop .kiosk-shop-item-actions {
display: grid;
grid-template-columns: 34px minmax(56px, 72px) 34px;
gap: 6px;
align-items: center;
}
.mensa-kiosk-shop .kiosk-shop-item-actions input[type="number"] {
width: 100%;
box-sizing: border-box;
text-align: center;
border: 1px solid var(--mensa-widget-border-color, #ccd0d4);
border-radius: 6px;
padding: 5px 6px;
color: var(--mensa-widget-text-color, inherit);
background: var(--mensa-widget-input-bg-color, var(--mensa-widget-surface-color, #fff));
box-shadow: var(--mensa-widget-shadow-input-resolved);
}
.mensa-kiosk-shop .kiosk-shop-item-actions .button {
margin: 0;
min-width: 0;
color: var(--mensa-widget-button-text-color, inherit);
background: var(--mensa-widget-button-bg-color, initial);
border-color: var(--mensa-widget-button-border-color, currentColor);
}
.mensa-kiosk-shop .kiosk-shop-item-actions [data-kiosk-add] {
grid-column: 1 / -1;
width: 100%;
white-space: nowrap;
}
.mensa-kiosk-shop .kiosk-shop-item-feedback {
margin-top: 8px;
}
.mensa-kiosk-shop .kiosk-sale-success {
background: var(--mensa-widget-notice-bg-color, #ecfdf3);
border: 1px solid var(--mensa-widget-notice-border-color, #16a34a);
color: var(--mensa-widget-notice-text-color, inherit);
border-radius: 6px;
padding: 8px 10px;
font-size: 13px;
}
.mensa-kiosk-shop .kiosk-sale-success [data-kiosk-cancel-sale] {
margin-top: 8px;
border-color: var(--mensa-widget-button-border-color, #b91c1c);
color: var(--mensa-widget-button-text-color, #b91c1c);
}
.mensa-kiosk-shop .kiosk-sale-success [data-kiosk-cancel-sale]:hover {
border-color: var(--mensa-widget-button-border-color, #991b1b);
color: var(--mensa-widget-button-text-color, #991b1b);
}
.mensa-kiosk-shop .kiosk-sale-error {
background: var(--mensa-widget-notice-bg-color, #fef2f2);
border: 1px solid var(--mensa-widget-notice-border-color, #dc2626);
color: var(--mensa-widget-notice-text-color, inherit);
border-radius: 6px;
padding: 8px 10px;
font-size: 13px;
}
@media (max-width: 640px) {
.mensa-kiosk-shop .kiosk-shop-list {
grid-template-columns: 1fr;
}
.mensa-kiosk-shop .kiosk-shop-item-actions {
grid-template-columns: 36px 1fr 36px;
}
.mensa-kiosk-shop .kiosk-shop-item-actions [data-kiosk-add] {
grid-column: 1 / -1;
}
} .mensa-portal .wallet-balance {
background:var(--mensa-widget-surface-muted-color,#f9fafb); border:1px solid var(--mensa-widget-border-color,#e5e7eb); padding:var(--mensa-widget-panel-padding-resolved); border-radius:var(--mensa-widget-radius-resolved); margin:0 0 var(--mensa-widget-section-spacing-resolved) 0;
display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
box-shadow: var(--mensa-widget-shadow-panel-resolved);
}
.mensa-portal .wallet-balance > span { display: grid; gap: 2px; }
.mensa-portal .wallet-balance small { color: var(--mensa-widget-muted-text-color, #64748b); font-weight: 650; }
.mensa-portal .wallet-balance-value { display: block; color: var(--mensa-widget-text-color, #172033); font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.15; }
.mensa-portal .wallet-section-title { margin: var(--mensa-widget-section-spacing-resolved) 0 10px; font-size: 1.05em; }
.mensa-portal .wallet-reference { padding: 11px; border-radius: var(--mensa-widget-input-radius-resolved); background: var(--mensa-widget-surface-muted-color, #f1f5f9); }
.mensa-portal .wallet-reference > strong,
.mensa-portal .wallet-reference > code { display: block; }
.mensa-portal .wallet-reference > code { margin: 5px 0; padding: 7px 9px; border: 1px solid var(--mensa-widget-border-color, #dbe2ea); border-radius: 6px; background: var(--mensa-widget-surface-color, #fff); overflow-wrap: anywhere; }
.mensa-portal .wallet-balance .button { margin:0; white-space:nowrap; color: var(--mensa-widget-button-text-color, inherit); background: var(--mensa-widget-button-bg-color, initial); border-color: var(--mensa-widget-button-border-color, currentColor); }
.mensa-portal .wallet-section { margin: 14px 0; }
.mensa-portal .wallet-grid { display:grid; grid-template-columns: 1.2fr 0.8fr; gap: 12px; align-items: start; }
.mensa-portal .wallet-bank, .mensa-portal .wallet-qr { background:var(--mensa-widget-surface-muted-color,#f9fafb); border:1px solid var(--mensa-widget-border-color,#e5e7eb); border-radius:var(--mensa-widget-radius-resolved); padding:var(--mensa-widget-panel-padding-resolved); box-shadow: var(--mensa-widget-shadow-panel-resolved); }
.mensa-portal .wallet-qr canvas, .mensa-portal .wallet-qr img, .mensa-portal .wallet-qr svg { max-width:100%; height:auto; display:block; }
.mensa-portal .mensa-bank-qr-code-canvas { min-height: 160px; }
.mensa-portal .mensa-bank-qr-code-canvas[data-qr-error="1"] { color: var(--mensa-widget-danger-color-resolved, #b91c1c); font-size: .9rem; }
.mensa-portal .mensa-bank-qr-fallback { margin-top: 10px; font-size: .9rem; }
.mensa-portal .mensa-bank-qr-fallback p { margin: 4px 0; }
.mensa-portal .wallet-notice { background:var(--mensa-widget-notice-bg-color,#fff8e5); border:1px solid var(--mensa-widget-notice-border-color,#f2d28b); color: var(--mensa-widget-notice-text-color, inherit); padding:10px; border-radius:var(--mensa-widget-radius-resolved); margin:8px 0; }
.mensa-portal .wallet-dl { margin:0; }
.mensa-portal .wallet-dl dt { font-weight:600; margin-top:6px; }
.mensa-portal .wallet-dl dd { margin:0 0 6px 0; } .mensa-portal .mensa-student-reports { align-items:flex-end; gap:10px; }
.mensa-portal .mensa-student-reports .form-row { margin:0; }
.mensa-portal .mensa-student-reports .button { margin:0; min-height:36px; display:inline-flex; align-items:center; color: var(--mensa-widget-button-text-color, inherit); background: var(--mensa-widget-button-bg-color, initial); border-color: var(--mensa-widget-button-border-color, currentColor); }
@media (max-width: 800px){
.mensa-portal .wallet-grid { grid-template-columns: 1fr; }
.mensa-portal .wallet-balance { align-items:flex-start; }
} .mensa-kiosk-products .kiosk-products-grid {
display: grid;
grid-template-columns: 1.3fr 1fr;
gap: 12px;
}
.mensa-kiosk-products .kiosk-products-list-card,
.mensa-kiosk-products .kiosk-products-form-card {
background: var(--mensa-widget-surface-muted-color, #f9fafb);
border: 1px solid var(--mensa-widget-border-color, #e5e7eb);
border-radius: 8px;
padding: 12px;
}
.mensa-kiosk-products .kiosk-products-list {
display: grid;
gap: 8px;
}
.mensa-kiosk-products [data-kiosk-products-filter] {
min-width: 180px;
}
.mensa-kiosk-products .kiosk-products-row {
background: var(--mensa-widget-surface-color, #fff);
border: 1px solid var(--mensa-widget-border-color, #e5e7eb);
border-radius: 8px;
padding: 8px 10px;
display: grid;
grid-template-columns: 48px 1fr auto;
gap: 8px;
align-items: center;
}
.mensa-kiosk-products .kiosk-products-thumb {
width: 48px;
height: 48px;
border-radius: 6px;
overflow: hidden;
background: var(--mensa-widget-surface-muted-color, #f1f5f9);
display: flex;
align-items: center;
justify-content: center;
}
.mensa-kiosk-products .kiosk-products-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.mensa-kiosk-products .kiosk-products-thumb-placeholder {
width: 28px;
height: 28px;
border-radius: 4px;
background: var(--mensa-widget-border-color, #e5e7eb);
display: inline-block;
}
.mensa-kiosk-products .state {
display: inline-block;
padding: 2px 7px;
border-radius: 999px;
font-size: 12px;
margin-left: 6px;
}
.mensa-kiosk-products .state.is-active { background:var(--mensa-widget-notice-bg-color,#ecfdf3); color:var(--mensa-widget-notice-text-color,#166534); border:1px solid var(--mensa-widget-notice-border-color,#16a34a); }
.mensa-kiosk-products .state.is-inactive { background:var(--mensa-widget-notice-bg-color,#fef2f2); color:var(--mensa-widget-notice-text-color,#991b1b); border:1px solid var(--mensa-widget-notice-border-color,#dc2626); }
.mensa-kiosk-products form input[type="text"],
.mensa-kiosk-products form input[type="number"],
.mensa-kiosk-products form input[type="url"] {
width: 100%;
box-sizing: border-box;
color: var(--mensa-widget-text-color, inherit);
background: var(--mensa-widget-input-bg-color, var(--mensa-widget-surface-color, #fff));
border-color: var(--mensa-widget-border-color, inherit);
border-radius: var(--mensa-widget-input-radius-resolved);
box-shadow: var(--mensa-widget-shadow-input-resolved);
}
.mensa-kiosk-products .kiosk-products-form-actions {
display: flex;
gap: 8px;
flex-wrap: wrap;
}
.mensa-kiosk-products [data-kiosk-products-remove-image].is-danger {
border-color: var(--mensa-widget-notice-border-color, #dc2626);
color: var(--mensa-widget-notice-text-color, #991b1b);
background: var(--mensa-widget-notice-bg-color, #fef2f2);
}
.mensa-kiosk-products [data-kiosk-products-delete].is-danger {
border-color: var(--mensa-widget-notice-border-color, #dc2626);
color: var(--mensa-widget-notice-text-color, #991b1b);
background: var(--mensa-widget-notice-bg-color, #fef2f2);
}
.mensa-kiosk-products .kiosk-products-image-state {
display: inline-block;
margin-left: 8px;
font-size: 12px;
color: var(--mensa-widget-notice-text-color, #4b5563);
}
.mensa-kiosk-products .kiosk-products-form-feedback {
margin-top: 8px;
}
.mensa-kiosk-products .kiosk-products-form-feedback.is-success {
background:var(--mensa-widget-notice-bg-color,#ecfdf3); border:1px solid var(--mensa-widget-notice-border-color,#16a34a); color: var(--mensa-widget-notice-text-color, inherit); border-radius:6px; padding:8px 10px;
}
.mensa-kiosk-products .kiosk-products-form-feedback.is-error {
background:var(--mensa-widget-notice-bg-color,#fef2f2); border:1px solid var(--mensa-widget-notice-border-color,#dc2626); color: var(--mensa-widget-notice-text-color, inherit); border-radius:6px; padding:8px 10px;
}
@media (max-width: 860px){
.mensa-kiosk-products .kiosk-products-grid { grid-template-columns: 1fr; }
} .mensa-caterer-settlements .mensa-settlement-total {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 16px 18px;
border-radius: var(--mensa-widget-radius-resolved);
background: var(--mensa-widget-tab-active-bg-color, #eff6ff);
color: var(--mensa-widget-tab-active-text-color, #1d4ed8);
}
.mensa-caterer-settlements .mensa-settlement-total span { font-weight: 650; }
.mensa-caterer-settlements .mensa-settlement-total strong { font-size: clamp(1.25rem, 3vw, 1.7rem); }
.mensa-caterer-settlements .mensa-settlement-section > h3:first-child { margin-top: 0; }
.mensa-caterer-settlements .mensa-settlement-form-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
gap: 12px;
align-items: end;
}
.mensa-caterer-settlements :where(input, select, textarea) {
width: 100%;
min-height: 40px;
padding: 8px 10px;
border: 1px solid var(--mensa-widget-border-color, #dbe2ea);
border-radius: var(--mensa-widget-input-radius-resolved);
background: var(--mensa-widget-input-bg-color, #fff);
color: var(--mensa-widget-text-color, #172033);
}
.mensa-caterer-settlements .mensa-settlement-description { min-height: 86px; }
.mensa-caterer-settlements .mensa-settlement-table { margin-top: 12px; }
.mensa-caterer-settlements .mensa-settlement-institution {
margin-top: 14px;
padding: 14px;
border: 1px solid var(--mensa-widget-border-color, #dbe2ea);
border-radius: var(--mensa-widget-input-radius-resolved);
background: var(--mensa-widget-surface-muted-color, #f8fafc);
}
.mensa-caterer-settlements .mensa-settlement-institution > h4 { margin-top: 0; }
.mensa-caterer-settlements .mensa-settlement-subtitle { margin-top: var(--mensa-widget-section-spacing-resolved); }
.mensa-caterer-settlements .mensa-button { min-height: 34px; padding: 6px 10px; font-size: .88em; }
@media (max-width: 640px) {
.mensa-caterer-settlements .mensa-settlement-total {
align-items: flex-start;
flex-direction: column;
}
}