/* Alkalmazások (launcher) — a kártyák a jogosult alkalmazásokat mutatják; a márka színe a kártya bal szélén és az ikonon. */
.appgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: var(--s-4); margin-bottom: var(--s-6); }
.appcard { display: grid; gap: var(--s-3); padding: var(--s-5); background: var(--c-surface); border: 1px solid var(--c-border); border-left: 4px solid var(--app-color, var(--c-brand-navy)); border-radius: var(--r-lg); min-width: 0; }
.appcard.pilot { border-style: dashed; border-left-style: solid; }
.appcard-head { display: flex; gap: var(--s-3); align-items: flex-start; min-width: 0; }
.appcard-head h3 { margin: 0 0 2px; font-size: var(--fs-lg); }
.appcard-head p { margin: 0; color: var(--c-muted); font-size: var(--fs-sm); line-height: 1.45; }
.appicon { flex: 0 0 auto; width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--r-md); background: color-mix(in srgb, var(--app-color, var(--c-brand-navy)) 12%, var(--c-surface)); color: var(--app-color, var(--c-brand-navy)); font-size: 1.3rem; font-weight: 700; }
.appcard-meta { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; min-height: 24px; }
.applinks { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-3); font-size: var(--fs-sm); }
.applinks a { color: var(--c-accent-text); text-decoration: none; border-bottom: 1px dotted var(--c-accent-border); }
.applinks a:hover { border-bottom-style: solid; }
.appcard-actions { display: flex; gap: var(--s-2); }
.appcard-actions a.button { display: inline-block; text-decoration: none; }
.chip.danger { background: var(--c-danger-soft); color: var(--c-danger); border-color: var(--c-danger-border); }
.checkrow { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4); }
.checkrow label { margin: 0; }
#app-form fieldset { border: 1px solid var(--c-border); border-radius: var(--r-md); padding: var(--s-3) var(--s-4); margin: 0 0 var(--s-3); }
#app-form legend { font-size: var(--fs-sm); font-weight: 600; color: var(--c-muted); padding: 0 var(--s-1); }
#app-form textarea { width: 100%; font: inherit; }

/* Kezdőlapi sáv: gyakran használt alkalmazások */
.appstrip { margin-top: var(--s-5); }
.appstrip-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: var(--s-3); }
.appstrip-item { display: flex; gap: var(--s-3); align-items: center; padding: var(--s-3); border: 1px solid var(--c-border); border-radius: var(--r-md); background: var(--c-surface); color: var(--c-text); text-decoration: none; min-width: 0; }
.appstrip-item:hover { border-color: var(--c-accent); background: var(--c-surface-hover); }
.appstrip-item .appicon { width: 36px; height: 36px; font-size: 1.05rem; }
.appstrip-item span:last-child { display: grid; min-width: 0; }
.appstrip-item strong { font-size: var(--fs-md); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.appstrip-item small { color: var(--c-muted); font-size: var(--fs-xs); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Felhasználók: kereső + szerepkör-szűrő */
.userfilter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.userfilter input{flex:1 1 260px;min-width:0}
.userfilter select{flex:0 1 240px}

/* Felhasználók: tömörebb táblázat — ne kelljen vízszintesen görgetni */
@media (min-width: 761px) {
 .usertable { min-width: 0; table-layout: auto; font-size: .9rem; }
 .usertable th, .usertable td { padding: 6px 8px; }
 .usertable td small { font-size: .8rem; }
 .usertable td.conn { white-space: nowrap; font-size: .8rem; color: var(--c-text-muted); }
 .usertable td.conn .chip { padding: 0 4px; min-height: 0; }
 .usertable td.actions .button, .usertable td.actions button { padding: 3px 8px; font-size: .78rem; white-space: nowrap; }
 .usertable td:nth-child(3) .chip { white-space: nowrap; }
}
@media (min-width: 761px) {
 table.usertable td.actions { display: grid; grid-template-columns: repeat(2, max-content); gap: 4px 6px; align-content: center; min-width: 13rem; }
 table.usertable td.actions > * { margin: 0; justify-self: start; }
 .usertable td:first-child { max-width: 18rem; }
}
@media (min-width: 761px) {
 table.usertable th { white-space: normal; letter-spacing: .02em; }
 table.usertable td:first-child { max-width: 15rem; }
 table.usertable td.actions { min-width: 0; }
}
