/* piep Manager — Apple-inspired product UI, fire-service red accent */
*,:before,:after{box-sizing:border-box}
:root{color-scheme:light;--bg:#f5f5f7;--surface:#fff;--surface2:#fafafa;--surface3:#f0f0f2;--text:#1d1d1f;--text2:#3a3a3c;--muted:#6e6e73;--faint:#8e8e93;--line:#e5e5e7;--line2:#d2d2d7;--red:#d92d27;--red-hover:#bd241f;--red-soft:#fff1f0;--green:#237a4b;--green-soft:#edf8f1;--amber:#8a6500;--amber-soft:#fff7dc;--radius:18px;--radius-sm:12px;--shadow:0 18px 60px rgba(0,0,0,.10);--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.47;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overflow-x:hidden}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{color:var(--text)}small,.muted,.sub{color:var(--muted)}svg{display:block}.uiIcon,.miniIcon{width:18px;height:18px}
/* controls */
input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;min-width:0;border:1px solid var(--line2);border-radius:12px;background:#fff!important;color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;padding:10px 12px;outline:0;box-shadow:none;transition:border-color .15s,box-shadow .15s,background .15s}input:not([type=checkbox]):not([type=radio]),select{min-height:44px}textarea{min-height:100px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--faint);-webkit-text-fill-color:var(--faint);opacity:1}input:focus,select:focus,textarea:focus{border-color:#aaaab0;box-shadow:0 0 0 4px rgba(217,45,39,.08)}input[type=checkbox],input[type=radio]{appearance:auto;-webkit-appearance:auto;width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;min-height:17px!important;max-height:17px!important;margin:1px 0 0!important;padding:0!important;accent-color:var(--red);box-shadow:none!important;flex:0 0 17px!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(217,45,39,.18);outline-offset:2px}
.primary,.dialogSave,.login button{min-height:42px;padding:9px 15px;border:1px solid var(--red);border-radius:11px;background:var(--red)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:650}.primary:hover,.dialogSave:hover,.login button:hover{background:var(--red-hover)!important;border-color:var(--red-hover)}.secondary,.ghostBtn,.accountActions button,.actions button:not(.primary):not(.danger),.fileBox button,.fileVersion button{min-height:38px;padding:8px 12px;border:1px solid var(--line2);border-radius:10px;background:#fff;color:var(--text2);font-weight:600}.danger,.logoutBtn{min-height:38px;padding:8px 12px;border:1px solid #f0cfcd!important;border-radius:10px;background:var(--red-soft)!important;color:#a52a25!important;font-weight:650}
/* login */
.login{min-height:100dvh;display:grid;place-items:center;padding:28px}.loginCard{width:min(410px,100%);padding:42px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(0,0,0,.08)}.loginBrand{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:0 0 28px;line-height:1;letter-spacing:-.055em}.loginBrand span{font-size:38px;font-weight:760;color:var(--red)}.loginBrand strong{font-size:24px;font-weight:650;color:var(--text);letter-spacing:-.035em}.loginCard .sub{margin:0 0 26px;text-align:center;font-size:14px}.login form{display:grid;gap:16px}.login label,.field{display:grid;gap:7px}.login label,.field>label{font-size:12px;font-weight:650;color:var(--text2)}.login input{min-height:48px}.login button{margin-top:4px;min-height:48px}
/* app shell */
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh}aside{position:sticky;top:0;z-index:30;height:100dvh;display:flex;flex-direction:column;padding:22px 14px 16px;border-right:1px solid var(--line);background:rgba(250,250,252,.88);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px)}.brand{height:58px;display:flex;align-items:center;padding:0 12px 14px}.brand:before,.mobileBrand:before{content:"piep";font-size:23px;font-weight:760;letter-spacing:-.045em;color:var(--red)}.brand:after,.mobileBrand:after{content:"manager";margin-left:5px;font-size:13px;font-weight:650;color:var(--text)}aside nav{display:flex;flex-direction:column;gap:3px;overflow:auto;padding:4px 0}aside nav button{min-height:43px;display:flex;align-items:center;gap:11px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:#56565b;text-align:left;font-size:13px;font-weight:600}aside nav button svg,.mobileNav svg,.search svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}aside nav button:hover{background:#ededf0;color:var(--text)}aside nav button.active{background:var(--red-soft);color:var(--red)}.me{margin-top:auto;padding:16px 12px 0;border-top:1px solid var(--line)}.me b,.me>span{display:block}.me b{font-size:13px}.me>span{margin-top:2px;font-size:11px}.accountActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.accountActions button{font-size:11px}.mobileBrand,.mobileNav{display:none}
main{width:100%;min-width:0;max-width:1480px;margin:0 auto;padding:0 42px 72px}main>header{position:sticky;top:0;z-index:20;min-height:92px;display:flex;align-items:center;gap:26px;margin-bottom:28px;padding:16px 0;background:rgba(245,245,247,.86);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px)}.pageTitle{min-width:0}.eyebrow,.modalEyebrow,.sectionKicker,.analysisKicker{margin:0;color:var(--faint);font-size:10px;font-weight:720;letter-spacing:.11em;text-transform:uppercase}.pageTitle h1{margin:3px 0 0;font-size:30px;line-height:1.12;letter-spacing:-.042em}.search{margin-left:auto;width:min(380px,38vw);height:44px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.94);color:var(--faint)}.search input{height:auto!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.search.contextHidden{display:none}#content{min-width:0}
/* common surfaces */
.card,.stat,.ricCard,.locationCard,.matrixPanel,.analysisCard,.adminPanel,.permissionModule,.roleBasics,.agtActionbar,.fileBox,.userCard,.configGroup,.similarityGroup,.historyItem,.ricListItem,.fileVersion,.historyEvent,.requestEvent,.workItem,.similarRow,.filterBar,.assignmentGroup,.modalRicGroup{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}.card,.matrixPanel,.similarityGroup,.assignmentGroup,.modalRicGroup{overflow:hidden}.cardHead,.matrixPanelHead,.similarityGroupHead{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border-bottom:1px solid var(--line);background:#fff}.cardHead>div,.matrixPanelHead>div{min-width:0}.cardHead b,.matrixPanelHead b,.similarityGroupHead b{font-size:14px}.cardHead small{display:block;margin-top:2px;font-size:12px}.cardBody{padding:10px 20px}.toolbar,.matrixTop,.sectionTitle,.locationDashboardHead,.splitHead{display:flex;justify-content:space-between;align-items:center;gap:18px}.toolbar{min-height:70px;margin-bottom:22px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.toolbar>div{min-width:0}.toolbar>div>b,.sectionTitle b{font-size:15px}.toolbar .muted{margin-top:3px;font-size:12px}.sectionTitle{min-height:46px;margin:28px 0 12px}.sectionTitle>div{display:flex;align-items:center;gap:8px}.sectionTitle>span{font-size:12px;color:var(--muted)}.unitIcon{color:var(--red)}.empty,.emptyState,.noResults,.viewLoading,.renderError{padding:44px 26px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line2);border-radius:var(--radius)}.compactEmpty{padding:22px}.roomy{padding:32px}.grid2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:18px;margin-top:18px}.row{display:flex;align-items:center;gap:12px;min-width:0;padding:14px 0;border-bottom:1px solid #ededf0;cursor:pointer}.row:last-child{border-bottom:0}.row>div{min-width:0;flex:1}.cardBody>.row{margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:10px}.cardBody>.row:hover{background:var(--surface2)}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stats3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{appearance:none;width:100%;min-width:0;min-height:126px;padding:19px;text-align:left}.statTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.stat span{font-size:11px;font-weight:650;letter-spacing:.025em;color:var(--muted)}.statIcon{font-size:17px!important;color:var(--faint)!important}.stat strong{display:block;margin:17px 0 5px;font-size:31px;line-height:1;letter-spacing:-.045em}.stat small{display:block;font-size:11px}.statLink{cursor:pointer}.statLink:hover{border-color:#c9c9ce;box-shadow:0 5px 20px rgba(0,0,0,.035)}.statLink em{display:block;margin-top:9px;color:var(--red);font-size:11px;font-style:normal;font-weight:650}
/* badges */
.badge,.pill,.rolePill,.onlinePill,.offlinePill,.tempPill,.softPill,.agtBadge,.readerHiddenBadge{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface3);color:var(--text2);font-size:10px;line-height:1.2;font-weight:650;white-space:normal}.badge.green,.onlinePill,.status-aktiv,.inv-free,.inv-assigned{background:var(--green-soft)!important;border-color:#d3eadc!important;color:var(--green)!important}.badge.red,.tempPill,.status-abgegeben,.inv-defekt,.inv-lost{background:var(--red-soft)!important;border-color:#f1d3d1!important;color:#a72b26!important}.status-beantragt{background:var(--amber-soft)!important;border-color:#eadba7!important;color:var(--amber)!important}.count{display:inline-grid;place-items:center;min-width:29px;height:29px;padding:0 8px;border-radius:9px;background:var(--surface3);font-size:11px;font-weight:700}
/* tables */
.tableWrap,.usageTableWrap,.matrixScroll{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.table,.matrixTable,.usageTable,.agtTable{width:100%;border-collapse:separate;border-spacing:0}.table th,.matrixTable th,.usageTable th,.agtTable th{padding:11px 14px;background:#fafafa;color:var(--muted);font-size:10px;line-height:1.25;letter-spacing:.045em;text-align:left;font-weight:720;white-space:nowrap;border-bottom:1px solid var(--line)}.table td,.matrixTable td,.usageTable td,.agtTable td{padding:13px 14px;border-bottom:1px solid #ededf0;color:var(--text2);font-size:13px;vertical-align:middle}.table tbody tr:last-child td,.usageTable tbody tr:last-child td,.agtTable tbody tr:last-child td{border-bottom:0}.table tbody tr{cursor:pointer}.table tbody tr:hover td{background:#fafafa}.table td b,.usageTable td b,.agtTable td b{color:var(--text)}.table td small,.agtTable td small{display:block;margin-top:2px;font-size:10px}.person{display:flex;align-items:center}.stickyName{position:sticky;left:0;z-index:3;background:#fff!important;min-width:205px}.matrixTable thead .stickyName{z-index:6;background:#fafafa!important}.matrixPanel{margin:0 0 22px}.matrixPanelHead>span{font-size:11px;color:var(--muted)}.matrixTable td:not(.stickyName),.matrixTable th:not(.stickyName){text-align:center;min-width:76px}.matrixTable .ricCol span{display:block;max-width:120px;margin:auto;white-space:normal;line-height:1.25}.matrixTable .ricCol small{display:block;margin-top:3px;color:var(--faint)}.ricGroupRow th:not(.stickyName){color:var(--text2);background:#f5f5f7}.matrixYes{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--red-soft);color:var(--red);font-weight:800}.matrixNo{color:#c7c7cc}.swipeHint{display:none;padding:8px 14px;color:var(--muted);font-size:10px;border-bottom:1px solid var(--line)}
/* filters */
.matrixTop{margin:0 0 16px}.matrixTop h2{margin:0;font-size:20px;letter-spacing:-.025em}.matrixTop p{margin:4px 0 0;color:var(--muted);font-size:12px}.matrixActions{display:flex;gap:8px}.filterBar{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(240px,1.25fr);gap:12px;margin-bottom:20px;padding:14px}.filterField{display:grid;gap:6px}.filterField label{font-size:10px;font-weight:700;letter-spacing:.055em;color:var(--muted)}.matrixToggle{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:12px;background:var(--surface2);cursor:pointer}.matrixToggle .toggleBox,.customCheck{display:none}.matrixToggle b{display:block;font-size:12px}.matrixToggle small{display:block;margin-top:1px;font-size:10px;color:var(--muted)}.userFilter{margin:-8px 0 18px}.filterInput{height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted)}.filterInput input{min-height:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
/* RIC cards */
.ricGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ricCard{min-width:0;padding:18px;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.ricCard:hover{transform:translateY(-1px);border-color:#cfcfd4;box-shadow:0 8px 24px rgba(0,0,0,.04)}.ricTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ricTop>span:first-child{display:flex;gap:5px;flex-wrap:wrap}.category{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.ricNum{flex:none;color:var(--red);font-size:11px;font-weight:700}.ricCard h3{margin:12px 0 5px;font-size:17px;line-height:1.25;letter-spacing:-.02em}.ricCard>p{min-height:38px;margin:0 0 16px;color:var(--muted);font-size:12px}.ricAssignees{padding-top:13px;border-top:1px solid var(--line)}.ricAssigneeTitle{display:block;margin-bottom:8px;color:var(--faint);font-size:9px;font-weight:700;letter-spacing:.07em}.ricAssigneeNames{display:flex;flex-wrap:wrap;gap:6px}.ricAssigneeNames span{padding:5px 7px;border-radius:8px;background:var(--surface3);font-size:10px;line-height:1.2}.ricAssigneeNames .more{color:var(--red);background:var(--red-soft)}.ricEmpty{font-size:11px;color:var(--muted)}.ricFoot{display:flex;justify-content:space-between;margin-top:15px;color:var(--red);font-size:11px;font-weight:650}
/* lists, people, history */
.peopleGroups{display:grid;gap:22px}.peopleGroup{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}.peopleLetter{position:sticky;top:108px;padding-top:14px;color:var(--muted);font-size:12px;font-weight:700;text-align:center}.historyList,.sessionList,.historyTimeline,.requestTimeline,.similarMini{display:grid;gap:10px}.historyItem,.sessionRow,.historyEvent,.requestEvent,.similarRow{display:flex;align-items:center;gap:12px;padding:13px 15px}.historyMain,.sessionRow>div,.similarRow{min-width:0}.historyMain{flex:1}.historyMain b,.historyMain span,.sessionRow b,.sessionRow small{display:block}.historyItem time,.sessionRow time{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}.activityDot,.presenceDot{width:8px;height:8px;flex:none;border-radius:50%;background:#c7c7cc}.presenceDot.isOnline{background:#34c759}.activityGlyph{color:var(--red)}
/* user cards */
.userGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.userCard{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);text-align:left;cursor:pointer}.userCard:hover{background:#fafafa}.userAvatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--red-soft);color:var(--red);font-weight:700}.userInfo{min-width:0}.userName{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.userInfo>span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.accessChips{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.accessChips i{padding:4px 7px;border-radius:7px;background:var(--surface3);font-size:9px;font-style:normal;color:var(--text2)}.chevron{color:var(--faint);font-size:20px}
/* location/admin */
.locationGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.locationCard{padding:20px}.locationIcon{color:var(--red);font-size:20px}.locationCard h3{margin:12px 0 18px}.locationStats{display:flex;gap:20px}.locationStats>div b,.locationStats>div span{display:block}.locationStats>div span{color:var(--muted);font-size:10px}.locationDashboard{margin-bottom:38px}.locationDashboardHead{margin-bottom:14px}.locationDashboardHead>div{display:flex;align-items:center;gap:9px}.locationDashboardHead h2{margin:0;font-size:21px}.locationDashboardHead>span{font-size:11px;color:var(--muted)}.workItem{padding:14px;margin:0 0 9px;cursor:pointer}.workItem b,.workItem span{display:block}.workItem span{margin-top:3px;color:var(--red);font-size:10px}.miniHead{display:flex;justify-content:space-between;margin:20px 0 8px}.miniHead span{font-size:10px;color:var(--muted)}.locationHistoryItem{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.locationHistoryItem:last-child{border-bottom:0}.locationHistoryItem b,.locationHistoryItem small{display:block}.locationHistoryItem small{margin-top:2px;font-size:10px}.adminIntro{margin:0 0 18px}.adminIntro h2{margin:4px 0;font-size:22px}.adminIntro p{margin:0;color:var(--muted)}.adminHub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.adminList{display:grid}.adminList button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:13px 18px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left}.adminList button:last-child{border-bottom:0}.adminList button small{grid-column:1}.adminList button span{grid-column:2;grid-row:1/3;color:var(--red);font-size:11px}
/* analysis */
.analysisBlock{margin:0 0 34px}.analysisTitle{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 12px}.analysisTitle h2{margin:3px 0 0;font-size:20px}.analysisTitle>span{color:var(--muted);font-size:11px}.configGroups,.similarityGroups,.analysisList{display:grid;gap:12px}.configGroup summary{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(0,1.4fr) 20px;align-items:center;gap:18px;padding:16px 18px;list-style:none;cursor:pointer}.configGroup summary::-webkit-details-marker{display:none}.configGroup summary b,.configGroup summary small{display:block}.memberPreview{min-width:0;color:var(--text2);font-size:12px;line-height:1.45}.configGroupBody{padding:0 18px 18px;border-top:1px solid var(--line)}.configMembers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 0}.configMembers button{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.configMembers b,.configMembers small{display:block}.configMembers small{margin-top:2px}.similarityScore{display:inline-block;padding:5px 8px;border-radius:8px;background:var(--red-soft);color:var(--red);font-weight:700}.analysisCard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px}.analysisCard h3{margin:5px 0 3px}.analysisCard p{margin:0;color:var(--muted);font-size:11px}.aaoCode{font-size:10px;font-weight:700;color:var(--red)}.analysisCount{text-align:right}.analysisCount strong,.analysisCount span{display:block}.analysisCount strong{font-size:28px}.analysisCount span{font-size:9px;color:var(--muted)}.analysisCard details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.analysisCard summary{cursor:pointer;color:var(--red);font-size:11px;font-weight:650}.analysisPeople{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.analysisPeople>span{padding:7px 9px;border-radius:9px;background:var(--surface3);font-size:11px}
/* AGT */
.agtActionbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px 16px}.agtAlphaGroups{display:grid;gap:22px}.agtAlphaGroup{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px}.agtHead{color:var(--muted);font-weight:700;text-align:center;padding-top:14px}.agtTable .agtPersonText b,.agtTable .agtPersonText small{display:block}.agtCheckCell{text-align:center}.agtCheck{display:inline-flex;align-items:center;justify-content:center}.agtPendingDot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber)}
/* modal / dialog */
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:28px;background:rgba(0,0,0,.26);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}.modal.hidden{display:none!important}.modalBox{position:relative;width:min(760px,100%);max-height:min(88dvh,920px);overflow:auto;padding:30px;border:1px solid rgba(0,0,0,.08);border-radius:24px;background:#fff!important;color:var(--text)!important;box-shadow:0 30px 100px rgba(0,0,0,.20);scrollbar-gutter:stable}.modalBox *{-webkit-text-fill-color:initial}.modalBox h1,.modalBox h2,.modalBox h3,.modalBox b,.modalBox strong,.modalBox label,.modalBox summary{color:var(--text)!important}.modalBox p,.modalBox small,.modalBox .muted,.modalBox .sub{color:var(--muted)!important}.modalBox .modalEyebrow,.modalBox .detailLabel{color:var(--faint)!important}.modalBox h2{margin:4px 48px 22px 0;font-size:25px;line-height:1.18;letter-spacing:-.03em}.x{position:absolute;top:18px;right:18px;z-index:5;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#f0f0f2;color:var(--text2);font-size:21px;line-height:32px}.dialogChrome{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-6px 42px 22px 0;padding-bottom:14px;border-bottom:1px solid var(--line)}.dialogNav{display:flex;gap:7px}.dialogBack,.dialogCancel{min-height:34px;padding:7px 9px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:11px;font-weight:600}.dialogBack:not(:disabled):hover,.dialogCancel:hover{background:var(--surface3);color:var(--text)}.dialogSave{min-height:36px;padding:7px 12px;font-size:11px}.modalBox .form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.modalBox .field{display:grid;gap:6px;min-width:0}.modalBox .field.full{grid-column:1/-1}.modalBox .field>label{font-size:11px;font-weight:650;color:var(--text2)!important;text-transform:none;letter-spacing:0}.fieldHelp{margin:0 0 3px;font-size:11px}.modalBox .actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;flex-wrap:wrap;margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}.modalBox .footerActions{display:none!important}.detailBackRow{margin:0 0 12px}.detailBack{min-height:34px;padding:6px 9px;border:0;border-radius:9px;background:var(--surface3);color:var(--text2);font-size:11px}.profileHead{margin:0 0 18px}.profileHead h2{margin:4px 0!important}.profileHead p{margin:0 0 9px;font-size:12px}.avatar{display:none!important}.metaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 22px}.metaGrid>div{padding:13px;border-radius:12px;background:var(--surface2);border:1px solid var(--line)}.metaGrid small,.metaGrid b{display:block}.metaGrid small{font-size:9px;letter-spacing:.04em}.metaGrid b{margin-top:4px;font-size:12px}.detailLabel{margin:22px 0 9px;font-size:9px;font-weight:720;letter-spacing:.075em}.ricList,.ricAssignments,.groupedRicList{display:grid;gap:10px}.modalRicGroupHead,.assignmentHead,.chooserGroupHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;background:#fafafa;border-bottom:1px solid var(--line)}.modalRicGroupHead b,.assignmentHead b,.chooserGroupHead b{font-size:11px}.modalRicGroupHead span,.assignmentHead span,.chooserGroupHead span{font-size:9px;color:var(--muted)}.ricListItem{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 13px;border:0;border-radius:0;border-bottom:1px solid var(--line)}.modalRicGroup .ricListItem:last-child,.assignmentGroup .ricListItem:last-child{border-bottom:0}.ricListItem.clickable{cursor:pointer}.ricListItem.clickable:hover{background:#fafafa}.ricListItem>div{min-width:0}.ricListItem b,.ricListItem small{display:block}.ricListItem b{font-size:12px}.ricListItem small{margin-top:2px;font-size:10px}.ricDot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--red)}.ricPeopleList{display:grid;gap:8px}.ricPeopleList button{min-height:56px;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;color:var(--text)}.ricPeopleList button:hover{background:var(--surface2)}.ricPeopleList button b,.ricPeopleList button small{display:block}.ricPeopleList button b{font-size:12px}.ricPeopleList button small{margin-top:2px;font-size:10px}.ricPeopleList button i{font-style:normal;color:var(--faint);font-size:18px}.ricChooser,.checkList,.locationChooser{display:grid;gap:8px;max-height:340px;overflow:auto;padding:2px}.ricChoice,.checkRow,.locationChoice,.permissionOption{display:flex;align-items:flex-start;gap:10px;min-height:48px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}.ricChoice>div,.locationChoice>div,.permissionCopy{min-width:0;flex:1}.ricChoice b,.ricChoice small,.locationChoice b,.locationChoice small,.permissionCopy b,.permissionCopy small{display:block}.ricChoice b,.locationChoice b,.permissionCopy b{font-size:12px}.ricChoice small,.locationChoice small,.permissionCopy small{margin-top:2px;font-size:10px}.groupedChooser{display:grid;gap:10px}.chooserGroup{overflow:hidden;border:1px solid var(--line);border-radius:13px}.chooserGroup .ricChoice{border-width:0 0 1px;border-radius:0}.chooserGroup .ricChoice:last-child{border-bottom:0}.fileBox{margin-top:18px;padding:15px}.fileHistory{display:grid;gap:8px;margin-top:10px}.fileVersion{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px}.fileVersion b,.fileVersion small{display:block}.fileVersion small{margin-top:2px}.ricDiff{display:flex;flex-wrap:wrap;gap:6px}.similarityHero{display:flex;align-items:baseline;gap:8px;margin:8px 0 18px}.similarityHero strong{font-size:38px;letter-spacing:-.05em}.similarityHero span{color:var(--muted)}.similarRow{display:grid;grid-template-columns:minmax(0,1fr) auto;cursor:pointer}.similarRow small{grid-column:1/-1}.passwordGen{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.passwordGen button{border:1px solid var(--line2);border-radius:10px;background:#fff;color:var(--text2)}
/* role editor */
.roleEditor{min-width:0}.roleLead{margin:-12px 0 20px}.roleBasics{padding:16px}.rolePermissionHead{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:24px 0 10px}.rolePermissionHead h3{margin:3px 0 0;font-size:17px}.rolePermissionCount{font-size:10px;color:var(--muted)}.permissionModuleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permissionModule{overflow:hidden}.permissionModuleHead{padding:11px 12px;background:#fafafa;border-bottom:1px solid var(--line)}.permissionModuleHead b,.permissionModuleHead small{display:block}.permissionModuleHead b{font-size:12px}.permissionModuleHead small{margin-top:2px;font-size:9px}.permissionOptions{display:grid}.permissionOption{position:relative;align-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0}.permissionOption:last-child{border-bottom:0}.permissionOption input{order:2}.permissionOption .switch{display:none}
/* toast */
#toast{position:fixed;left:50%;bottom:28px;z-index:2000;transform:translateX(-50%);max-width:min(420px,calc(100vw - 32px));padding:10px 14px;border-radius:999px;background:rgba(29,29,31,.94);color:#fff;font-size:12px;font-weight:600;box-shadow:0 10px 35px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}
/* responsive */
@media(max-width:1100px){.ricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.filterBar{grid-template-columns:repeat(2,minmax(0,1fr))}.userGrid{grid-template-columns:1fr}.locationGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body{background:#f7f7f9}.shell{display:block;padding-bottom:76px}aside{display:none}main{padding:0 16px 40px}main>header{min-height:78px;margin:0 -16px 20px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.04)}.mobileBrand{display:flex;align-items:baseline;flex:none}.mobileBrand:before{font-size:20px}.mobileBrand:after{font-size:11px}.pageTitle{margin-left:2px}.pageTitle .eyebrow{display:none}.pageTitle h1{font-size:21px}.search{width:44px;margin-left:auto;padding:0 12px}.search input{display:none}.mobileNav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);min-height:68px;padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(250,250,252,.94);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.mobileNav button{display:grid;place-items:center;gap:2px;border:0;background:transparent;color:var(--muted);font-size:10px}.mobileNav button.active{color:var(--red)}.mobileNav small{font-size:9px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.adminHub{grid-template-columns:1fr}.ricGrid{grid-template-columns:1fr 1fr}.filterBar{grid-template-columns:1fr 1fr}.matrixTop{align-items:flex-start}.swipeHint{display:block}.modal{align-items:end;padding:0;background:rgba(0,0,0,.22)}.modalBox{width:100%;max-height:94dvh;padding:22px 18px max(24px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:0 -14px 50px rgba(0,0,0,.14);scrollbar-gutter:auto}.modalBox:before{content:"";display:block;width:38px;height:5px;margin:-10px auto 14px;border-radius:999px;background:#d1d1d6}.modalBox h2{margin-right:40px;font-size:23px}.x{top:17px;right:16px}.dialogChrome{position:sticky;top:-22px;z-index:4;margin:-4px 34px 18px -2px;padding:8px 0 12px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}.modalBox .form{grid-template-columns:1fr}.modalBox .field.full{grid-column:auto}.modalBox input:not([type=checkbox]):not([type=radio]),.modalBox select,.modalBox textarea{font-size:16px}.modalBox input:not([type=checkbox]):not([type=radio]),.modalBox select{min-height:48px}.metaGrid{grid-template-columns:1fr 1fr}.permissionModuleGrid{grid-template-columns:1fr}.configMembers{grid-template-columns:1fr 1fr}.peopleLetter,.agtHead{top:84px}.toolbar{align-items:flex-start;flex-direction:column}.toolbar>div:last-child{width:100%}.toolbar>button.primary,.toolbar>div:last-child .primary{width:100%}.locationDashboardHead{align-items:flex-start}.fileVersion{grid-template-columns:1fr auto}.fileVersion .danger{grid-column:1/-1}.ricChooser,.checkList,.locationChooser{max-height:none}}
@media(max-width:640px){main{padding-left:12px;padding-right:12px}main>header{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.mobileBrand:after{display:none}.pageTitle h1{font-size:20px}.stats,.stats3{grid-template-columns:1fr 1fr;gap:9px}.stat{min-height:102px;padding:14px}.stat strong{margin-top:12px;font-size:25px}.stat span{font-size:9px}.ricGrid{grid-template-columns:1fr}.ricCard{padding:16px}.ricCard>p{min-height:0}.filterBar{grid-template-columns:1fr;padding:12px}.matrixTop{display:grid}.matrixActions{width:100%}.matrixActions button{flex:1}.peopleGroup,.agtAlphaGroup{display:block}.peopleLetter,.agtHead{position:static;margin:0 0 7px;padding:0 0 0 4px;text-align:left}.peopleTable,.peopleTable tbody,.peopleTable tr,.peopleTable td{display:block;width:100%}.peopleTable tr{position:relative;padding:13px 14px;border-bottom:1px solid var(--line);background:#fff}.peopleTable tr:last-child{border-bottom:0}.peopleTable td{padding:0!important;border:0!important;white-space:normal!important}.peopleTable td:first-child{padding-right:78px!important}.peopleTable td:first-child b{font-size:14px}.peopleTable td:first-child small{display:block;margin-top:2px;font-size:11px}.peopleTable td:nth-child(2){margin-top:6px;font-size:11px;color:var(--muted)}.peopleTable td:nth-child(3){display:none}.peopleTable td:nth-child(4){position:absolute;right:14px;top:13px;width:auto}.peopleTable td:nth-child(5),.peopleTable td:nth-child(6){display:inline-block;width:auto;margin:8px 5px 0 0}.locationGrid{grid-template-columns:1fr}.modalBox{padding-left:16px;padding-right:16px}.dialogChrome{margin-left:0}.metaGrid{grid-template-columns:1fr}.configGroup summary{grid-template-columns:1fr 20px;gap:6px 10px}.configGroup summary>div:first-child{grid-column:1}.memberPreview{grid-column:1}.configGroup summary .chevron{grid-column:2;grid-row:1/3}.configMembers{grid-template-columns:1fr}.analysisCard{grid-template-columns:1fr auto}.userCard{grid-template-columns:minmax(0,1fr) 18px}.userAvatar{display:none}.agtTable{min-width:660px}.usageTable{min-width:560px}.modalBox .actions{display:grid;grid-template-columns:1fr}.modalBox .actions button{width:100%}.ricPeopleList button{min-height:58px}}

/* v36 interaction + detail polish */
html.modalOpen,body.modalOpen{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none}
.modal{overscroll-behavior:contain}
.modalBox{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.modalBox .ricChooser{max-height:min(48vh,520px);overflow-y:auto;overscroll-behavior:contain;padding:3px 5px 8px 2px;scrollbar-gutter:stable}
.pagerJump{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;max-width:430px;margin:12px 0 14px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--text);text-align:left}.pagerJump span{font-size:11px;color:var(--muted)}.pagerJump b{font-size:11px;color:var(--red)!important}.pagerJump:hover{background:#fff;border-color:var(--line2)}
.pagerHero{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 14px}.pagerHero>div,.pagerNote{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.pagerHero small,.pagerNote>small{display:block;margin-bottom:5px;font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--faint)!important}.pagerHero b{display:block;font-size:13px}.pagerMeta{margin-top:0}.inlineDetailLink{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;border:0;background:transparent;text-align:left}.inlineDetailLink b{font-size:12px}.inlineDetailLink span{font-size:10px;color:var(--red)}.pagerNote p{margin:0!important;font-size:12px!important;line-height:1.55}.pagerTimeline{margin-top:2px}
/* Administration: never concatenate labels, metadata or controls */
.adminPanel .cardHead>div,.usagePanel .cardHead>div,.adminIntro>div,.sessionRow>div,.functionName{min-width:0}.adminPanel .cardHead b,.adminPanel .cardHead small,.usagePanel .cardHead b,.usagePanel .cardHead small,.adminIntro h2,.adminIntro p,.sessionRow b,.sessionRow small,.adminList button b,.adminList button small{display:block;white-space:normal;overflow-wrap:anywhere}.adminList button{gap:8px}.adminList button small{margin-top:3px;line-height:1.35}
/* RIC analysis: person, pager id and location each get their own visual line */
.configMembers button b,.configMembers button small{display:block}.configMembers button small{margin-top:4px;line-height:1.45;white-space:normal}.similarityGroup td b,.similarityGroup td small{display:block}.similarityGroup td small{margin-top:3px}
/* AGT: quieter hierarchy and more separation between editable marks */
.agtLocation{margin-bottom:28px}.agtActionbar{padding:14px 16px}.agtTable th,.agtTable td{padding-top:11px;padding-bottom:11px}.agtCheckCell{min-width:74px;text-align:center;border-left:1px solid var(--line)}.agtCheckCell+.agtCheckCell{border-left:1px solid #ededf0}.agtCheck{margin:auto}.agtStatusCell{width:58px;text-align:center}.agtAlphaGroup{margin-top:14px}
@media(max-width:900px){.modalBox .ricChooser{max-height:46dvh!important;overflow-y:auto!important}.pagerHero{grid-template-columns:1fr}.pagerJump{max-width:none}.agtTable{min-width:720px}.agtCheckCell{min-width:86px}}
@media(max-width:640px){.modalBox .ricChooser{max-height:42dvh!important}.pagerMeta{grid-template-columns:1fr}.adminPanel .cardHead,.usagePanel .cardHead{align-items:flex-start}.adminPanel .cardHead button{flex:none}.configMembers button{padding:12px 13px}}

/* v37 precision fixes */
.matrixPersonName,.matrixPagerId,.matrixPersonStatus{display:block}
.matrixPersonName{font-weight:700;color:var(--text);line-height:1.25}
.matrixPagerId{margin-top:4px;font-size:11px;color:var(--text2);line-height:1.25}
.matrixPersonStatus{margin-top:2px;font-size:10px;color:var(--muted);line-height:1.25}
.agtMobileLabel{display:none}
.ricLegend button span{margin-right:6px}
@media(max-width:640px){
 .agtTable,.agtTable tbody,.agtTable tr,.agtTable td{display:block;width:100%;min-width:0}
 .agtTable thead{display:none}
 .agtTable tr{padding:0 14px;background:#fff;border-bottom:1px solid var(--line)}
 .agtTable td{border:0!important;padding:0!important}
 .agtTable .agtPerson{padding:14px 0 10px!important}
 .agtTable .agtPersonText b{font-size:14px}
 .agtTable .agtCheckCell{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;border-top:1px solid #ededf0!important}
 .agtMobileLabel{display:flex;min-width:0;flex-direction:column;text-align:left}
 .agtMobileLabel b{font-size:12px!important;line-height:1.25}
 .agtMobileLabel small{margin-top:2px!important;font-size:10px!important;color:var(--muted)}
 .agtCheck{flex:none;margin:0}
 .agtTable .agtStatusCell{display:flex;width:100%;min-height:38px;align-items:center;justify-content:flex-end;border-top:1px solid #ededf0!important}
}

/* v38 precision polish */
.ricDistribution{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(220px,.85fr);align-items:center;gap:22px;min-height:280px;padding:18px 22px!important}
.ricDonutSvg{position:relative;display:grid;place-items:center;min-height:240px}
.ricDonutSvg svg{width:min(240px,100%);height:auto;overflow:visible}
.ricDonutCenter{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
.ricDonutCenter strong{font-size:28px;line-height:1}.ricDonutCenter small{max-width:100px;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.25}
.ricLegend{display:grid;align-content:center;gap:5px}.ricLegend button{width:100%}
.agtCheck input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border:1.5px solid #c7c7cc;border-radius:6px;background:#fff;display:grid;place-content:center;cursor:pointer}
.agtCheck input[type="checkbox"]:checked{border-color:var(--red);background:var(--red)}
.agtCheck input[type="checkbox"]:checked:after{content:"✓";color:#fff;font-size:14px;font-weight:800;line-height:1}
.agtTable{table-layout:fixed}.agtTable th:first-child,.agtTable td:first-child{width:32%}.agtTable th:last-child,.agtTable td:last-child{width:72px}
.agtTable td,.agtTable th{vertical-align:middle}.agtPersonText{min-height:22px;display:flex;align-items:center}
.userRoleGroups{display:grid;gap:24px}.userRoleGroup{display:grid;gap:9px}.userRoleGroupHead{display:flex;align-items:center;justify-content:space-between;padding:0 3px}.userRoleGroupHead b{font-size:13px}.userRoleGroupHead span{font-size:10px;color:var(--muted)}
.userCard{grid-template-columns:minmax(0,1fr) 18px}.userAvatar{display:none!important}
@media(max-width:900px){.ricDistribution{grid-template-columns:1fr;min-height:0}.ricDonutSvg{min-height:220px}}
@media(max-width:640px){
 .configMembers button b{color:#111!important}
 .agtAlphaGroups{gap:18px}.agtAlphaGroup{margin-top:8px}.agtTable tr{padding:0 14px}.agtTable .agtPerson{min-height:48px;display:flex;align-items:center;padding:12px 0!important}.agtTable .agtCheckCell{min-height:50px}.agtTable .agtStatusCell{min-height:42px}
 .ricDistribution{padding:12px 14px!important;gap:8px}.ricDonutSvg{min-height:205px}.ricDonutSvg svg{width:205px}
}

/* v40: Kamerad-Formular zeigt die vollständige RIC-Liste; nur das Modal selbst scrollt. */
.ricChooser.groupedChooser{max-height:none!important;overflow:visible!important;padding:0!important;}
/* v40: veraltete AGT-Statusspalte vollständig neutralisieren. */
.agtStatusCell{display:none!important;}

/* v41 — AGT deep cleanup: no wide table, no clipping */
.agtAlphaGroup{grid-template-columns:34px minmax(0,1fr);align-items:start}
.agtPeopleList{min-width:0;display:grid;gap:10px}
.agtPersonCard{min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.agtPersonName{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:#fafafa;border-bottom:1px solid var(--line)}
.agtPersonName b{min-width:0;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.agtPersonName>span{flex:none;padding:4px 8px;border-radius:999px;background:#fff1f0;color:var(--red);font-size:10px;font-weight:700}
.agtRicRows{min-width:0}
.agtRicRow{min-width:0;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 16px;border-bottom:1px solid #ededf0;cursor:pointer}
.agtRicRow:last-child{border-bottom:0}
.agtRicRow>span:first-child{min-width:0;display:flex;flex-direction:column}
.agtRicRow b{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.agtRicRow small{margin-top:2px;font-size:10px;color:var(--muted);line-height:1.25;overflow-wrap:anywhere}
.agtRicRow .agtCheck{flex:none;margin:0}
.agtActionbar.hasChanges{position:sticky;top:86px;z-index:8;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
@media(max-width:640px){.agtAlphaGroup{display:block}.agtPeopleList{gap:9px}.agtPersonCard{border-radius:14px}.agtPersonName{padding:12px 14px}.agtRicRow{min-height:50px;padding:8px 14px}.agtActionbar.hasChanges{top:78px;display:grid}.agtActionbar.hasChanges>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}}

/* v42 — AGT table restored, responsive without page clipping */
.agtTableFrame{width:100%;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.agtTableScroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.agtTable{width:100%;min-width:max-content;table-layout:auto}
.agtTable th,.agtTable td{box-sizing:border-box}
.agtTable .agtNameCol{position:sticky;left:0;z-index:2;width:clamp(160px,24vw,250px);min-width:160px;max-width:250px;background:#fff!important}
.agtTable thead .agtNameCol{z-index:4;background:#fafafa!important}
.agtTable .agtRicCol{min-width:104px;max-width:150px;text-align:center;white-space:normal}
.agtTable .agtRicCol span,.agtTable .agtRicCol small{display:block;overflow-wrap:anywhere}
.agtTable .agtRicCol small{margin-top:3px;font-size:9px;color:var(--faint)}
.agtTable .agtCheckCell{min-width:104px;text-align:center}
.agtTable .agtCheck{display:inline-grid;place-items:center;width:28px;height:28px;margin:auto}
.agtTable .agtCheck input{margin:0}
.agtTable tr.agtChanged td{background:#fffaf9}
.agtTable tr.agtChanged .agtNameCol{background:#fffaf9!important}
.agtLocation,.agtLocation .sectionTitle{min-width:0;max-width:100%}

/* v42 — location dashboard cards must contain all copy on mobile */
.locationDashboard,.locationDashboard .stats,.locationDashboard .stat,.locationDashboard .statTop{min-width:0;max-width:100%}
.locationDashboard .stat{overflow:hidden}
.locationDashboard .statTop{align-items:flex-start}
.locationDashboard .statTop>span:last-child,.locationDashboard .stat small,.locationDashboard .stat em{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.3}
.locationDashboardHead>div{min-width:0}.locationDashboardHead h2{min-width:0;overflow-wrap:anywhere}
@media(max-width:640px){
 .agtTable{min-width:max-content!important}
 .agtTable .agtNameCol{width:150px;min-width:150px;max-width:150px}
 .agtTable .agtRicCol,.agtTable .agtCheckCell{min-width:88px;max-width:108px;padding-left:9px;padding-right:9px}
 .agtTable .agtPersonText b{font-size:12px;white-space:normal;overflow-wrap:anywhere}
 .locationDashboard .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .locationDashboard .stat{min-height:108px;padding:12px}
 .locationDashboard .statTop{gap:6px}
 .locationDashboard .statTop>span:last-child{font-size:8.5px;letter-spacing:0;hyphens:auto}
 .locationDashboard .stat strong{font-size:24px}
 .locationDashboard .stat small,.locationDashboard .stat em{font-size:9.5px}
 .locationDashboardHead{gap:8px}.locationDashboardHead h2{font-size:18px}.locationDashboardHead>span{flex:none;font-size:10px}
}
@media(max-width:390px){
 .locationDashboard .stats{grid-template-columns:1fr 1fr}
 .locationDashboard .stat{padding:11px;min-height:104px}
 .locationDashboard .statTop>span:last-child{font-size:8px}
}
/* Funktechnik: vorhandene piep-Designsprache */
.ftRoot{display:grid;gap:18px}.ftTop,.ftDetailHead,.ftPanelHead{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.ftTop h2,.ftDetailHead h2{margin:0 0 5px}.ftActions{display:flex;gap:8px;flex-wrap:wrap}.ftStats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ftStat,.ftPanel{background:var(--card,#fff);border:1px solid var(--line,#e4e6eb);border-radius:16px}.ftStat{padding:18px;display:flex;flex-direction:column;gap:6px}.ftStat b{font-size:27px}.ftStat span{font-size:12px;color:var(--muted,#777)}.ftPanel{overflow:hidden}.ftPanelHead{padding:16px 18px;border-bottom:1px solid var(--line,#eee)}.ftPanelHead select{max-width:230px}.ftPanelBody{padding:16px 18px}.ftFleet{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;padding:16px}.ftFleetCard{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;padding:15px;border:1px solid var(--line,#e4e6eb);border-radius:13px;background:var(--card,#fff);color:inherit;cursor:pointer;min-height:160px}.ftFleetCard.chosen{border:2px solid #df3648;background:#fff8f9}.ftFleetCard small{color:#777}.ftFleetIcon{font-size:25px}.ftBadge{display:inline-block;padding:5px 10px;border-radius:99px;background:#eef1f5;color:#475467;font-size:11px;font-weight:700;white-space:nowrap}.ft-einsatzbereit{background:#dcfce7;color:#166534}.ft-defekt,.ft-ausgemustert{background:#fee2e2;color:#991b1b}.ft-pruefung,.ft-reparatur{background:#ffedd5;color:#9a3412}.ftDetailHead{padding:20px}.ftDetailHead small{color:#999}.ftDetailHead p{margin:0;color:#777}.ftRicPanel{border-top:1px solid var(--line,#eee);padding:16px 20px;display:grid;gap:10px}.ftRic{display:inline-block;margin:3px;padding:7px 10px;border-radius:8px;background:#f1f4f8;font-size:12px}.ftScroll{overflow-x:auto}.ftTable{width:100%;border-collapse:collapse;min-width:900px;font-size:12px}.ftTable th,.ftTable td{text-align:left;padding:13px;border-bottom:1px solid #eef0f3;vertical-align:middle}.ftTable th{background:#f7f8fa;font-weight:700}.ftTable small{color:#777}.ftTwo{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ftHistory{padding:9px 0;border-bottom:1px solid #eee;font-size:12px}.ftHistory small{color:#777}.ftFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.ftField{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650}.ftField input,.ftField select,.ftField textarea{width:100%;box-sizing:border-box}.ftWide{grid-column:1/-1}.ftRicChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px;overflow:auto;gap:7px;padding:12px;background:#f8f9fb;border-radius:12px}.ftRicChoices label{font-size:12px}.ftDetails{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.ftDetails>div{padding:10px;background:#f8f9fb;border-radius:9px;display:grid;gap:4px;overflow-wrap:anywhere}.ftDetails span{color:#777;font-size:11px}.ftDetails b{font-size:13px}@media(max-width:850px){.ftStats{grid-template-columns:repeat(2,1fr)}.ftTwo{grid-template-columns:1fr}}@media(max-width:500px){.ftFormGrid,.ftRicChoices,.ftDetails{grid-template-columns:1fr}.ftFleet{grid-template-columns:1fr 1fr}.ftFleetCard{min-height:145px;padding:10px}.ftStat{padding:12px}}

/* v44 · Funktechnik: Fahrzeuge / Typkatalog / Gruppen / Bild- und Komponentendokumentation */
.ftRoot{gap:16px;min-width:0}.ftEyebrow{font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--red,#d8203a);margin-bottom:6px}.ftTop{align-items:flex-start}.ftTop h2{font-size:clamp(21px,2.1vw,28px);letter-spacing:-.035em}.ftTop p{max-width:680px;line-height:1.5;margin:3px 0}.ftActions,.ftVehicleActions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ftActions button{min-height:37px}.ftStat{min-height:86px;padding:15px 17px}.ftStat b{font-size:25px;letter-spacing:-.06em}.ftStat span{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.ftNavTabs{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:5px;background:#f0f1f4;border-radius:12px;scrollbar-width:thin}.ftNavTabs button{min-height:36px;flex:0 0 auto;padding:8px 18px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text,#25262b);font-size:12px;font-weight:700;cursor:pointer}.ftNavTabs button:hover{background:#fff8fa}.ftNavTabs button.active{background:#fff;color:var(--red,#cf2138);box-shadow:0 2px 8px #0000000b;border-color:#e7e7eb}.ftPanel{border-radius:14px;min-width:0}.ftPanelHead{min-height:57px}.ftPanelHead>div{min-width:0}.ftPanelHead p{margin:5px 0 0}.ftFilters{display:flex;gap:8px;flex-wrap:wrap;max-width:100%}.ftFilters select{font-size:12px;min-width:130px;max-width:220px;min-height:36px}.ftLocationSection{padding:12px 17px 17px;border-bottom:1px solid var(--line,#eee)}.ftLocationSection:last-child{border-bottom:0}.ftLocationTitle{display:flex;align-items:center;justify-content:space-between;margin:5px 1px 10px}.ftLocationTitle h3{margin:0;font-size:13px}.ftLocationTitle span{font-size:10px;color:var(--muted)}.ftFleet{padding:0;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.ftFleetCard{padding:0;gap:0;min-height:0;overflow:hidden;border-color:var(--line);border-radius:14px;align-items:stretch;box-shadow:0 2px 9px #00000005;transition:border-color .15s,box-shadow .15s}.ftFleetCard:hover{border-color:#df5664;box-shadow:0 6px 17px #0000000c}.ftFleetCard.chosen{border:2px solid var(--red,#d8203a)}.ftFleetImage{height:136px;background:linear-gradient(135deg,#eef1f4,#fafafa);overflow:hidden;display:grid;place-items:center}.ftFleetPicture{width:100%;height:100%;object-fit:cover}.ftImagePlaceholder{display:grid;place-items:center;background:linear-gradient(145deg,#ecedf0,#f6f7f8)}.ftVehicleGlyph{font-size:50px;line-height:1}.ftFleetCardContent{padding:12px 14px 14px;display:grid;gap:6px;min-width:0}.ftFleetCardContent b{font-size:14px;line-height:1.2}.ftFleetCardContent small{font-size:11px;line-height:1.4}.ftFleetCard .ftBadge{justify-self:start;margin-top:1px}.ftFleetCounts{display:flex;flex-wrap:wrap;gap:9px;font-size:10px;color:var(--muted)}.ftDetailStack{display:grid;gap:15px;margin-top:2px}.ftVehicleHero{display:grid;grid-template-columns:minmax(190px,265px) minmax(0,1fr) minmax(120px,180px);align-items:center;gap:21px;padding:19px}.ftVehicleHeroVisual{position:relative;min-height:185px;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:#eff0f2}.ftVehicleHeroVisual img{height:190px;width:100%;object-fit:cover}.ftVehicleHeroVisual .ftVehicleGlyph{font-size:100px}.ftVehicleHeroVisual .ftUploadBtn{position:absolute;bottom:8px;left:8px;right:8px;justify-content:center;max-width:calc(100% - 16px);text-align:center;background:#fff;box-shadow:0 2px 8px #00000030;font-size:10px}.ftHeroHint{position:absolute;top:7px;right:7px;font-size:9px;color:#555;background:#fffffff0;padding:4px 7px;border-radius:7px}.ftVehicleHeroInfo{min-width:0}.ftVehicleHeroInfo h2{font-size:27px;line-height:1.15;margin:4px 0 8px}.ftVehicleHeroInfo p{margin:0 0 11px}.ftChipRow{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 13px}.ftQuickCounts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ftQuickCounts>div{text-align:center;display:grid;gap:2px;background:#f6f7f8;border:1px solid #eceef2;border-radius:9px;padding:10px 5px}.ftQuickCounts b{font-size:23px}.ftQuickCounts small{font-size:9px;color:var(--muted)}.ftRicWrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ftRic{margin:0;font-size:11px;background:#f1f2f6;color:#344052}.ftClickable{cursor:pointer;border:1px solid #dde1e8}.ftClickable:hover{background:#fff1f2;border-color:#d14457}.ftTable{min-width:1020px}.ftTable td{white-space:normal}.ftTable th{font-size:10px;white-space:nowrap}.ftTable td b{font-size:12px}.ftTwo{gap:14px}.ftHistoryList{max-height:270px;overflow-y:auto}.ftHistory{display:grid;gap:3px}.ftHistory b{font-size:11px}.ftHistory small{display:block;font-size:10px}.ftHistory p{margin:1px 0 0;font-size:11px;color:var(--muted)}.ftUploadBtn{min-height:35px;display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:8px 12px;border:1px solid #d5d9e2;border-radius:10px;background:#fff;color:#242e40;font-size:11px;font-weight:700;cursor:pointer;white-space:normal}.ftUploadBtn:hover{background:#fff5f6;border-color:#e48490}.ftPhotoGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;align-items:start}.ftPhoto{overflow:hidden;border:1px solid var(--line,#eee);border-radius:10px;background:#fff}.ftPhoto>a{display:block}.ftPhoto img{height:116px;width:100%;object-fit:cover}.ftPhoto>div{display:flex;align-items:center;gap:5px;justify-content:space-between;padding:6px 8px;min-height:34px}.ftPhoto small{font-size:10px;overflow-wrap:anywhere;color:var(--muted)}.ftDeletePhoto{display:grid;place-items:center;flex:none;cursor:pointer;width:23px;height:23px;padding:0;border:1px solid #ffd7dd;background:#fff3f4;border-radius:7px;color:#bd1533}.ftTypeGrid{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.ftTypeCard{border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;padding:0 0 14px;overflow:hidden;display:grid;gap:6px;cursor:pointer}.ftTypeCard:hover{border-color:var(--red)}.ftTypeVisual{height:125px;display:grid;place-items:center;background:#f2f3f6}.ftTypeVisual img{width:100%;height:125px;object-fit:cover}.ftTypeCard b,.ftTypeCard small,.ftTypeCard>span{margin:0 12px}.ftTypeCard b{font-size:13px}.ftTypeCard small{font-size:10px;color:var(--muted);min-height:15px}.ftTypeCard>span{font-size:10px;color:var(--muted)}.ftTypeDetailHero{min-height:160px;max-height:260px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#f0f1f4;display:grid;place-items:center;margin:14px 0}.ftTypeDetailHero img{width:100%;height:245px;object-fit:contain}.ftTypeDetailHero .ftVehicleGlyph{font-size:100px}.ftTypeDetailHero~.ftActions{margin:14px 0}.ftGroupList{display:grid;gap:10px}.ftGroupItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #eaecf0;border-radius:11px}.ftGroupItem>div{min-width:0}.ftGroupItem b,.ftGroupItem small{display:block}.ftGroupItem b{font-size:13px}.ftGroupItem small{margin-top:3px;color:var(--muted);font-size:10px}.ftGroupItem p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.ftExportButtons{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.ftExportButtons button{font-size:11px}.ftEmpty{padding:30px;text-align:center;color:var(--muted)}.ftHint{padding:16px 20px;background:#fff8f9;border:1px solid #f9dce0;border-radius:13px;color:#5f3540;font-size:12px;line-height:1.5}.ftHint p{margin-bottom:0}.ftModalSectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:23px 0 12px}.ftModalSectionHead h3{margin:0}.ftComponentList{display:grid;gap:8px;margin:0 0 14px}.ftComponentItem{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.ftComponentItem:hover{background:#faf7f8}.ftComponentItem b,.ftComponentItem small{display:block}.ftComponentItem b{font-size:12px}.ftComponentItem small{color:var(--muted);font-size:10px;margin-top:3px}.ftRicVehicleFoot{font-size:10px;color:var(--muted);padding-top:9px;margin-top:8px;border-top:1px solid var(--line)}.ftFormGrid{min-width:0}.ftField select,.ftField input{min-height:41px}.ftUploadBtn input{display:none}.ftPhotoGrid .muted{font-size:11px}.ftGroupItem button{flex:none}
@media(max-width:1100px){.ftVehicleHero{grid-template-columns:200px minmax(0,1fr)}.ftQuickCounts{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.ftFleet{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
@media(max-width:750px){.ftStats{grid-template-columns:repeat(3,minmax(0,1fr))}.ftVehicleHero{grid-template-columns:1fr}.ftVehicleHeroVisual{min-height:210px}.ftVehicleHeroVisual img{height:210px}.ftQuickCounts{grid-column:auto;grid-template-columns:repeat(4,minmax(0,1fr))}.ftFilters{width:100%}.ftFilters select{flex:1;min-width:150px;max-width:none}.ftFleet{grid-template-columns:repeat(2,minmax(0,1fr))}.ftTwo{grid-template-columns:1fr}}
@media(max-width:510px){.ftStats{grid-template-columns:repeat(2,minmax(0,1fr))}.ftFleet{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ftFleetImage{height:105px}.ftFleetCardContent{padding:11px}.ftVehicleHero{padding:13px}.ftVehicleHeroInfo h2{font-size:23px}.ftLocationSection{padding:12px}.ftNavTabs button{padding:8px 12px;font-size:11px}.ftQuickCounts{gap:5px}.ftQuickCounts b{font-size:18px}.ftQuickCounts small{font-size:8px}.ftFilters select{min-width:100%}.ftTypeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ftTypeVisual{height:95px}.ftTypeVisual img{height:95px}.ftGroupItem{flex-wrap:wrap}.ftPhotoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Datei-Eingabefeld im Upload-Button niemals sichtbar darstellen */
.ftUploadBtn input[type="file"],.ftVehicleHeroVisual .ftUploadBtn input[type="file"]{display:none!important;width:0!important;height:0!important}

/* v45 Fahrzeugakte / Kameraden / Gerätetypen */
.ftDetailBack{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px}
.ftDetailBack .secondary{min-height:42px}
.ftPersonGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:10px}
.ftPersonCard{display:flex;align-items:flex-start;text-align:left;gap:10px;min-width:0;padding:12px;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:12px;cursor:pointer}
.ftPersonCard:hover{border-color:var(--red,#c9233d);background:#fff9fa}
.ftPersonAvatar{flex:none;width:37px;height:37px;display:grid;place-items:center;background:#f3e8eb;border-radius:11px;color:#ab1f3b;font-weight:800;font-size:16px}
.ftPersonContent{display:grid;gap:5px;min-width:0;flex:1}
.ftPersonContent>b{font-size:12px;line-height:1.3}
.ftPersonContent>small{font-size:10px;color:var(--muted)}
.ftPersonRics{display:flex;gap:4px;flex-wrap:wrap}
.ftPersonRics>span{font-size:9px;border-radius:6px;background:#f1f2f5;border:1px solid #e6e7eb;padding:3px 6px;color:#485162}
.ftPersonCard>strong{font-size:18px;color:#838c99}
.ftDashboardFleet{padding:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px}
.ftDashVehicleCard{display:flex;align-items:center;gap:12px;text-align:left;min-width:0;padding:10px;border:1px solid var(--line,#e7e8ed);background:#fff;border-radius:12px;cursor:pointer}
.ftDashVehicleCard:hover{border-color:var(--red,#cf2138)}
.ftDashVehicleCard .ftDashVehiclePicture{width:80px;height:70px;object-fit:cover;border-radius:8px;flex:none}
.ftDashVehicleCard>span{min-width:0;flex:1;display:grid;gap:4px}
.ftDashVehicleCard b{font-size:13px}.ftDashVehicleCard small{font-size:10px;color:var(--muted)}
.ftDashVehicleCard>strong{font-size:18px;color:#8a8f9a}
@media(max-width:510px){.ftPersonGrid,.ftDashboardFleet{grid-template-columns:1fr}.ftDetailBack{flex-direction:column;align-items:flex-start}}


/* v46: Funkgeräte im Vordergrund; kompakte Kameradenliste am Ende der Fahrzeugakte */
.ftAccordion{min-width:0}
.ftAccordion>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 19px;cursor:pointer;user-select:none;background:#fff}
.ftAccordion>summary::-webkit-details-marker{display:none}
.ftAccordion>summary:hover{background:#fbf8f9}
.ftAccordion>summary:focus-visible{outline:3px solid #d73954;outline-offset:-3px}
.ftAccordion>summary>span:first-child{display:grid;gap:4px;min-width:0}
.ftAccordion>summary b{font-size:13px}
.ftAccordion>summary small{font-size:11px;color:var(--muted)}
.ftAccordionCount{display:flex;align-items:center;gap:9px;flex:none;font-size:11px;font-weight:700;color:#666}
.ftAccordionCount>span{font-size:16px;transition:transform .18s}
.ftAccordion[open] .ftAccordionCount>span{transform:rotate(180deg)}
.ftAccordionBody{padding:4px 18px 16px;border-top:1px solid var(--line,#ebedf1)}
.ftCompactPeople{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:7px;padding-top:12px}
.ftMiniPerson{display:flex;align-items:center;gap:8px;text-align:left;padding:9px;border:1px solid var(--line,#e6e8eb);border-radius:10px;background:#fff;cursor:pointer;min-width:0}
.ftMiniPerson:hover{border-color:#d75162;background:#fff9fa}
.ftMiniPerson .ftPersonAvatar{width:30px;height:30px;border-radius:9px;font-size:12px}
.ftMiniPerson>span:last-child{display:grid;gap:3px;min-width:0}
.ftMiniPerson b{font-size:11px;overflow-wrap:anywhere}
.ftMiniPerson small{font-size:10px;color:#777}
.ftCompactFootnote{font-size:10px;margin:13px 0 0}
.ftRadioCell{display:flex;align-items:center;gap:10px;min-width:155px}
.ftRadioCell>span:last-child{display:grid;gap:3px}
.ftRadioCell small{font-size:10px}
.ftRadioIcon{flex:none;width:42px;height:42px;object-fit:contain;border:1px solid #e9e9ec;background:#fafafa;border-radius:10px;padding:4px;box-sizing:border-box}
.ftRadioFallback{display:grid;place-items:center;font-size:21px}
.ftDetailIconHeading{display:flex;align-items:center;gap:13px;margin:9px 0 12px}
.ftRadioDetailIcon{width:60px;height:60px;object-fit:contain;padding:6px;border:1px solid var(--line);border-radius:12px;background:#f8f9fb;box-sizing:border-box}
.ftRadioDetailIcon.ftRadioFallback{font-size:28px}
.ftDetailIconHeading h2{margin:4px 0}
.ftFormPhoto{display:flex;flex-wrap:wrap;align-items:flex-start;flex-direction:column;gap:9px;padding:15px;background:#f8f9fa;border:1px solid #e8eaee;border-radius:12px}
.ftFormPhoto>b{font-size:13px}
.ftFormPhoto>p{font-size:11px;margin:0}
.ftFormPhoto>.ftField{width:100%;max-width:380px}
.ftFormPhoto input[type=file]{font-size:12px;padding:9px;background:white;border:1px solid var(--line);border-radius:9px;max-width:100%}
.ftEditPhotoPreview{width:100%;height:160px;max-width:300px;object-fit:cover;border-radius:10px;background:#e8eaec}
.ftEditIconPreview{width:72px;height:72px;object-fit:contain;background:white;padding:8px;border:1px solid var(--line);border-radius:10px;box-sizing:border-box}
.ftAdminCatalogHead{margin:23px 0 12px}
.ftAdminCatalogHead h2{font-size:20px;margin:0 0 5px}
.ftAdminCatalogHead p{font-size:12px;margin:0}
.ftCatalogGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:13px}
.ftCatalogAdmin{min-width:0}
.ftCatalogAdmin .cardHead{align-items:flex-start;gap:10px}
.ftCatalogAdmin .cardHead>div{display:grid;gap:5px;min-width:0}
.ftCatalogAdmin .cardHead small{color:var(--muted);font-size:10px}
.ftCatalogAdmin .cardHead .primary{font-size:11px;padding:10px}
.ftAdminCatalogItem{display:flex;gap:9px;align-items:center;min-width:0}
.ftAdminCatalogItem img,.ftAdminCatalogItem .ftVehicleGlyph,.ftAdminCatalogItem .ftRadioFallback{width:35px;height:35px;object-fit:contain;border-radius:8px;flex:none;display:grid;place-items:center;background:#f4f5f7;padding:4px;box-sizing:border-box}
.ftAdminCatalogItem .ftVehicleGlyph{font-size:24px}
.ftAdminCatalogItem .ftRadioFallback{font-size:21px}
.ftAdminCatalogItem b{font-size:12px;overflow-wrap:anywhere}
@media(max-width:600px){.ftCompactPeople{grid-template-columns:repeat(2,minmax(0,1fr))}.ftAccordionCount{font-size:10px}.ftCatalogGrid{grid-template-columns:1fr}}
@media(max-width:390px){.ftCompactPeople{grid-template-columns:1fr}}
/* Kataloglisten verwenden eigene linke/rechte Rasterspalten statt der Standard-Admin-Spanausrichtung. */
.ftCatalogAdmin .adminList button{grid-template-columns:minmax(0,1fr) auto;min-height:57px;gap:8px;padding:10px 14px}
.ftCatalogAdmin .adminList button>span:first-child{grid-column:1;grid-row:1;color:var(--text);font-size:12px}
.ftCatalogAdmin .adminList button>span:last-child{grid-column:2;grid-row:1;color:var(--red);font-size:10px;white-space:nowrap}
.ftCatalogAdmin .adminList button .ftAdminCatalogItem{display:flex;align-items:center;gap:9px;min-width:0}
.ftCatalogAdmin .adminList button .ftAdminCatalogItem span{grid-column:auto;grid-row:auto;color:inherit;margin:0}
.ftCatalogAdmin .adminList button .ftAdminCatalogItem b{color:var(--text);font-size:12px}
@media(max-width:1130px){.ftCatalogGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:710px){.ftCatalogGrid{grid-template-columns:1fr}}
/* Sechs Kennzahlen ohne alleinstehende Restkachel */
.ftStats{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1200px){.ftStats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.ftStats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v47: Komponenten je Funkgerät direkt in der Fahrzeugübersicht */
.ftComponentToggle{display:inline-flex;align-items:center;gap:8px;justify-content:space-between;min-width:113px;padding:8px 10px;color:#9a2338;background:#fff5f6;border:1px solid #f1cbd2;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
.ftComponentToggle:hover,.ftComponentToggle.isOpen{background:#fce9ec;border-color:#ce6275}
.ftComponentToggle:focus-visible,.ftInlineComponent:focus-visible{outline:3px solid #cf3652;outline-offset:2px}
.ftComponentChevron{font-size:16px;display:inline-block;line-height:1;transition:transform .15s}
.ftComponentToggle.isOpen .ftComponentChevron{transform:rotate(180deg)}
.ftComponentCount{color:var(--muted,#777);font-size:11px}
.ftTable .ftDeviceComponentRow[hidden]{display:none!important}
.ftTable .ftDeviceComponentRow>td{padding:0 14px 14px;background:#f8f9fb;border-bottom:2px solid #e7e8ec}
.ftInlineComponents{padding:15px 17px;background:#fff;border:1px solid #e8e9ed;border-radius:12px;min-width:0}
.ftInlineComponentsHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.ftInlineComponentsHead>div{display:grid;gap:4px}
.ftInlineComponentsHead b{font-size:13px}
.ftInlineComponentsHead small{font-size:11px;color:var(--muted,#777)}
.ftInlineComponentsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px}
.ftInlineComponent{display:flex;align-items:center;gap:10px;min-width:0;text-align:left;padding:12px;border:1px solid #e6e8ed;border-radius:10px;background:#fff;color:inherit;cursor:pointer}
.ftInlineComponent:hover{border-color:#d4596a;background:#fffafa}
.ftInlineComponentSymbol{flex:none;width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#f2f3f6;font-size:18px;color:#545e70}
.ftInlineComponentInfo{flex:1;display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.ftInlineComponentInfo strong{font-size:12px}
.ftInlineComponentInfo small{font-size:10px;color:var(--muted,#777);line-height:1.4}
.ftInlineComponentArrow{font-size:19px;color:#a5aab3}
@media(max-width:640px){.ftInlineComponents{padding:12px}.ftInlineComponentsGrid{grid-template-columns:1fr}.ftInlineComponent{flex-wrap:wrap}.ftInlineComponentInfo{flex-basis:65%}}

.ftStats{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1250px){.ftStats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.ftStats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.ftStats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* piep 4.8: Klickbarer Gerätebestand, gut lesbarer Zuordnungsfilter und Modellbilder */
.ftStatButton{display:flex;flex-direction:column;justify-content:center;text-align:left;cursor:pointer;font:inherit;border:1px solid #f2cad0;background:#fff4f5;color:inherit;transition:border-color .15s,background .15s,transform .15s}
.ftStatButton:hover,.ftStatButton:focus-visible{border-color:#d6455a;background:#ffedef;transform:translateY(-1px)}
.ftInventoryFilter{margin:0 0 16px}
.ftInventoryControls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px 18px}
.ftFilterPills{display:flex;flex-wrap:wrap;gap:7px}
.ftFilterPill{border:1px solid #d7e0eb;border-radius:9px;background:white;padding:10px 13px;font-weight:600;color:#344054;cursor:pointer}
.ftFilterPill b{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#edf3fa;font-size:12px;min-width:26px;margin-left:5px;padding:3px 6px}
.ftFilterPill.active{background:var(--red,#ce213c);border-color:var(--red,#ce213c);color:#fff}
.ftFilterPill.active b{background:#ffffff2a;color:#fff}
.ftInventoryControls select,.ftSearchField input{height:42px;border:1px solid #d7e0eb;border-radius:9px;background:#fff;color:#344054;padding:0 12px;max-width:100%}
.ftInventoryControls select{min-width:160px}
.ftSearchField{flex:1;min-width:190px}.ftSearchField input{width:100%}
.ftUnassignedRow{background:#fffcf4}
.ftAdminCatalogItem small{display:block;margin-top:3px;color:#667085;font-size:12px;font-weight:400}
.ftModelCatalog .ftAdminCatalogItem{gap:12px}
.ftModelCatalog .ftAdminCatalogItem>span:last-child{text-align:left}
@media(max-width:700px){.ftInventoryControls{align-items:stretch;flex-direction:column}.ftInventoryControls select,.ftSearchField{width:100%}.ftFilterPills{width:100%}.ftFilterPill{flex:1;white-space:nowrap}.ftModelCatalog .cardHead{gap:8px;flex-wrap:wrap}}

/* v4.9: Komponenten sind unter dem Funkgerät hierarchisch eingerückt.
   Nicht die rote Alarm-/Fehlerfarbe für normale Navigation verwenden. */
.ftComponentToggle{color:#344054;background:#f5f7fa;border-color:#d7dfe9}
.ftComponentToggle:hover,.ftComponentToggle.isOpen{background:#ebf1f8;border-color:#9eb3cd;color:#253a53}
.ftComponentToggle:focus-visible,.ftInlineComponent:focus-visible{outline:3px solid #6b93c3;outline-offset:2px}
.ftTable .ftDeviceComponentRow>td{padding:0 16px 15px 38px;background:#f9fafc;border-bottom:1px solid #dfe5ed}
.ftInlineComponents{padding:12px 14px 14px 18px;background:#fff;border:0;border-left:3px solid #cbd7e6;border-radius:0 10px 10px 0;box-shadow:0 1px 3px #132b4f08}
.ftInlineComponentsHead{padding-bottom:9px;margin-bottom:7px;border-bottom:1px solid #edf0f4}
.ftInlineComponentsGrid{display:flex;flex-direction:column;gap:6px}
.ftInlineComponent{display:flex;width:100%;align-items:center;gap:13px;padding:10px 13px;text-align:left;border:1px solid #e5eaf0;background:#fff;border-radius:9px;transition:background .15s,border-color .15s}
.ftInlineComponent:hover{background:#f3f7fc;border-color:#a7bbd5}
.ftInlineComponentImage{flex:none;width:56px;height:56px;box-sizing:border-box;object-fit:contain;display:grid;place-items:center;padding:5px;border-radius:10px;background:#f5f7fa;border:1px solid #e4eaf1}
.ftInlineComponentFallback{font-size:26px}
.ftInlineComponentInfo{display:grid;flex:1;gap:5px;min-width:0}
.ftInlineComponentInfo strong{font-size:13px;color:#253247}
.ftInlineComponentInfo small{font-size:11px;color:#667085}
.ftInlineComponentArrow{color:#8291a5;font-size:21px}
@media(max-width:640px){
 .ftTable .ftDeviceComponentRow>td{padding:0 9px 12px 22px}
 .ftInlineComponents{padding:11px 9px 11px 13px}
 .ftInlineComponent{gap:9px;padding:9px}
 .ftInlineComponentImage{width:51px;height:51px}
 .ftInlineComponentInfo{flex-basis:auto}
}

/* v5.0: Ein einziger feiner Bildrahmen, keine zweite innere Umrandung oder Padding.
   Deutlichere Modellbilder ohne die kompakte Tabellenansicht zu überladen. */
.ftRadioIcon,
.ftRadioDetailIcon,
.ftInlineComponentImage,
.ftComponentListImage,
.ftComponentDetailImage {
  display:grid;
  place-items:center;
  flex:none;
  box-sizing:border-box;
  object-fit:contain;
  object-position:center;
  padding:0;
  background:transparent;
  border:1px solid #dbe2eb;
  border-radius:10px;
  overflow:hidden;
}
.ftRadioIcon {width:62px;height:62px}
.ftRadioIcon.ftRadioFallback {font-size:29px;background:#f5f7fb}
.ftRadioDetailIcon {width:88px;height:88px;border-radius:13px}
.ftRadioDetailIcon.ftRadioFallback {font-size:38px;background:#f5f7fb}
.ftInlineComponentImage {width:72px;height:72px;border-radius:11px}
.ftInlineComponentFallback {font-size:31px;background:#f5f7fb}
.ftComponentListImage {width:60px;height:60px;border-radius:10px}
.ftComponentListImage.ftInlineComponentFallback {font-size:27px}
.ftComponentDetailImage {width:92px;height:92px;border-radius:14px}
.ftComponentDetailImage.ftInlineComponentFallback {font-size:38px}
.ftComponentItem {display:flex;align-items:center;gap:12px}
.ftComponentItem>span:not(.ftComponentListImage){flex:1;min-width:0}
.ftRadioCell {gap:13px}
.ftInlineComponent {gap:15px;min-height:94px}
@media(max-width:640px){
 .ftRadioIcon {width:54px;height:54px}
 .ftInlineComponentImage {width:64px;height:64px}
 .ftComponentListImage {width:54px;height:54px}
 .ftInlineComponent {min-height:82px;gap:11px}
}
/* Genug Platz für Namen und Bildvorschauen der sechs Admin-Kataloge. */
.ftCatalogGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1150px){.ftCatalogGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:710px){.ftCatalogGrid{grid-template-columns:1fr}}
