/* Functional portal components; palette, shell and panels come from dashboard.css. */
a.button{font:inherit;color:inherit;border:0;cursor:pointer;text-decoration:none}
.primary:disabled{opacity:.5;cursor:not-allowed}
.eyebrow{color:var(--red);font-weight:800;letter-spacing:.16em;font-size:11px;margin-bottom:4px}
.kpi{font-size:30px;font-weight:800}
.notice{position:relative;border:1px solid #74121e;background:#25080d;padding:14px;border-radius:10px;margin-bottom:18px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.toolbar>*{width:auto}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:13px}
.field{display:grid;gap:5px}
.field span{font-size:12px;color:var(--muted)}
.wide{grid-column:span 2}
.full{grid-column:1/-1}
.table-wrap,.matrix-wrap{position:relative;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
table{width:100%;border-collapse:collapse;min-width:850px}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{position:sticky;top:0;background:#111113;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.plan-link{display:block;color:var(--white);font-weight:700}
.driver-row,.stint-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:8px}
.stint-row{grid-template-columns:repeat(4,1fr) auto}
.admin-page{display:block}
.matrix-select{min-width:92px;padding:6px}
.state-allow{color:#fff;border-color:#555}
.state-deny{color:#fff;border-color:var(--red)}
@media(max-width:980px){.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}
.wide{grid-column:auto}
.stint-row,.driver-row{grid-template-columns:1fr}}
.simulation-banner{position:fixed;z-index:20;top:0;left:0;right:0;padding:6px;text-align:center;background:var(--red);font-size:12px;font-weight:800;letter-spacing:.12em}
.simulation{margin-top:12px;max-width:260px}
.simulation-list{display:grid;gap:7px;margin:9px 0;max-height:180px;overflow:auto}
.simulation-list label{font-size:12px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.metric-card{min-height:120px;text-align:left;color:inherit;display:grid;align-content:space-between}
.metric-card strong{font-size:clamp(22px,3vw,32px)}
.section{margin-top:24px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.attention-list,.timeline{display:grid;gap:10px}
.attention{display:grid;width:100%;gap:3px;padding:14px;text-align:left;color:inherit;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:10px}
.attention span{color:var(--muted)}
.filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(3,minmax(140px,1fr))}
.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.member-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:center;width:100%;padding:15px;text-align:left;color:inherit;background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--radius)}
.avatar img{width:100%;height:100%;object-fit:cover}
.badges{display:flex;gap:5px;flex-wrap:wrap}
.member-stats{display:grid;gap:4px;text-align:right;color:var(--muted);font-size:12px}
.back{margin-bottom:12px;padding:10px 0;color:var(--white);background:transparent}
.profile{display:flex;align-items:center;gap:18px;min-height:auto}
.record-tabs{display:flex;gap:7px;margin:16px 0;overflow:auto}
.periods .ghost{margin:0}
.bar-chart{height:220px;display:flex;align-items:flex-end;gap:3px;padding-top:12px}
.bar{min-width:3px;flex:1;background:var(--red);border-radius:3px 3px 0 0}
.note-form{margin-bottom:14px}
.note-form .primary{margin-top:12px}
.archive-note{display:block;margin-top:12px}
.grid+.grid{margin-top:14px}
.dev-session-banner{position:sticky;z-index:30;top:0;grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:14px;min-height:42px;padding:7px 14px;background:var(--red);color:#fff}
.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dev-login{display:grid;gap:12px}
.dev-login label{display:grid;gap:5px}
.dev-login label:has(input[type=checkbox]){display:flex;align-items:center}
.dev-login input[type=checkbox]{width:auto}
.dev-login fieldset{display:grid;gap:8px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:12px}
.permission-debug{display:grid;gap:8px;margin-top:14px}
.permission-row{min-height:auto}
.permission-row>div{display:flex;justify-content:space-between;gap:10px}
.permission-row.deny{border-left:4px solid var(--red)}
.permission-row.allow{border-left:4px solid #fff}
.plan-card{text-align:left;color:inherit}
.member-card-static{cursor:default}
.profile-stat-groups,.statistics-grid,.activity-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.detail-metrics>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px}
.detail-metrics span,.session-list small,.statistic-kpi small{color:var(--muted)}
.detail-metrics strong{font-size:19px}
.session-list,.ranking-list{display:grid;gap:8px}
.session-list>div,.ranking-list>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.statistics-controls label{display:grid;gap:5px;color:var(--muted);font-size:12px}
.statistic-kpi{display:grid;align-content:space-between;min-height:120px}
.statistic-kpi strong{font-size:clamp(22px,3vw,32px)}
.statistics-grid .card{min-width:0}
.statistic-bars{overflow:hidden}
.ticket-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr))}
.ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ticket-card{display:grid;gap:9px;width:100%;min-height:180px;text-align:left;color:inherit}
.ticket-meta,.ticket-detail-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.ticket-pages{display:flex;gap:8px}
.ticket-pages .ghost{margin:0}
.ticket-hero{min-height:auto}
.ticket-edit{margin:14px 0}
.ticket-edit .primary{margin-top:12px}
.ticket-detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}
.ticket-detail-grid>section:last-child{grid-column:1/-1}
.ticket-messages,.ticket-attachments,.ticket-history{display:grid;gap:10px}
.ticket-messages article,.ticket-attachments>div,.ticket-history>div{padding:10px 0;border-bottom:1px solid var(--line)}
.ticket-attachments small,.ticket-history small{display:block;color:var(--muted)}
.confidentiality-owner{border-color:var(--red)}
.confidentiality-teamlead{border-color:#777}
@media(max-width:980px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.filters,.ticket-filters{grid-template-columns:1fr 1fr}
.member-grid{grid-template-columns:1fr}}
@media(max-width:600px){.metric-grid,.filters,.login-grid,.profile-stat-groups,.statistics-grid,.activity-charts,.ticket-filters,.ticket-grid,.ticket-detail-grid{grid-template-columns:1fr}
.metric-card{min-height:92px}
.member-card{grid-template-columns:46px minmax(0,1fr)}
.member-stats{grid-column:2;text-align:left;display:flex;flex-wrap:wrap;gap:8px}
.profile{align-items:flex-start}
.record-tabs{margin-left:-20px;margin-right:-20px;padding:0 20px}
.attention,.member-card,.ticket-card{min-height:48px}
.bar-chart{height:170px}
.dev-session-banner{flex-wrap:wrap;font-size:12px}
.permission-row>div{display:grid}
.detail-metrics{grid-template-columns:1fr}
.session-list>div,.ranking-list>div{align-items:flex-start;flex-direction:column}
.statistics-controls>*{width:100%}
.ticket-detail-grid>section:last-child{grid-column:auto}
.ticket-edit .form-grid{grid-template-columns:1fr}
.ticket-edit .wide{grid-column:auto}}
.inactivity-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(4,minmax(140px,1fr)) auto}
.inactivity-filters .check{display:flex;align-items:center;gap:8px;white-space:nowrap}
.inactivity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.inactivity-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;width:100%;text-align:left;color:inherit}
.inactivity-main{min-width:0}
.inactivity-activity{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted)}
.inactivity-activity b{color:var(--white)}
.inactivity-summary{margin:14px 0}
@media(max-width:980px){.inactivity-filters{grid-template-columns:1fr 1fr}
.inactivity-grid{grid-template-columns:1fr}}
@media(max-width:600px){.inactivity-filters{grid-template-columns:1fr}
.inactivity-card{grid-template-columns:46px minmax(0,1fr);min-height:48px;padding:14px}
.inactivity-card .section-title{align-items:flex-start}}
.note-toolbar{justify-content:space-between;margin-bottom:12px}
.note{min-height:auto}
.note.archived{opacity:.8}
.note .section-title>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.note-reference{margin:10px 0 0;color:var(--muted);font-size:13px}
.note-text{white-space:pre-wrap}
.note-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.note-actions .ghost{margin:0}
.note-detail{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.note-detail h4{margin:0 0 10px}
.visibility-owner{border-color:var(--red)}
.visibility-teamlead{border-color:#777}
.note-priority{text-transform:capitalize}
@media(max-width:600px){.note-actions>*{min-height:46px;flex:1}
.note-form,.note-edit-form{padding:14px}
.note-toolbar>*{min-height:46px}}
.panel-section{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel2),var(--panel))}
.executive-kpis{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.executive-kpis .metric-card{min-height:105px}
.empty.compact{padding:28px 12px}
.empty.success{color:#c5e8ce}
.live-indicator{padding:3px 8px;border-radius:999px;background:#142719;color:#8ce39d;font-size:10px;font-weight:900;letter-spacing:.12em}
.snapshot{padding:18px;border-top:1px solid var(--line)}
.snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.snapshot-grid>div{display:grid;gap:3px;padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.snapshot-grid span{color:var(--muted);font-size:12px}
.snapshot-grid strong{font-size:20px}
.member-summary{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:13px}
.member-kpis{display:flex;flex-wrap:wrap;gap:7px}
.member-kpis span{display:grid;min-width:66px;padding:7px 10px;text-align:center;color:var(--muted);font-size:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.member-kpis b{color:var(--white);font-size:17px}
.member-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:12px}
.member-filter-panel{padding:14px;margin-bottom:14px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(17,17,19,.9)}
.member-filter-grid{display:grid;grid-template-columns:2fr repeat(5,minmax(125px,1fr));gap:10px}
.member-filter-grid label{display:grid;gap:5px;color:var(--muted);font-size:11px}
.sim-role-filter{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:9px}
.sim-role-filter summary{cursor:pointer;font-weight:700}
.sim-role-options{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 0}
.sim-role-options label,.role-mode label,.filter-footer label{display:flex;align-items:center;gap:6px}
.role-mode{display:flex;gap:14px;color:var(--muted);font-size:12px}
.filter-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:10px;color:var(--muted);font-size:12px}
.filter-footer .ghost{margin:0}
.member-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}
.member-table{min-width:1050px}
.member-table tbody tr[role=button]{cursor:pointer}
.member-table tbody tr[role=button]:hover{background:#211417}
.member-person{display:flex;align-items:center;gap:10px}
.member-person .avatar{width:40px;height:40px;font-size:15px;flex:0 0 auto}
.member-person span{display:grid}
.member-person small{color:var(--muted)}
.member-badges{display:flex;flex-wrap:wrap;gap:5px}
.member-pill{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid var(--line);border-radius:999px;font-size:11px;white-space:nowrap}
.member-pill.team,.member-pill.active{border-color:#4e7559}
.member-pill.rising,.member-pill.watch{border-color:#986e2d}
.member-pill.new,.member-pill.unrated{color:var(--muted)}
.member-pill.former{opacity:.65}
.member-pill.critical,.member-pill.long_term{border-color:var(--red);background:#310a0f}
.open-record{color:#ff8490;font-weight:700;font-size:12px}
.member-mobile-list{display:none}
.member-status-block{display:grid;gap:18px;margin:14px 0;border-left:4px solid var(--line);overflow:hidden}
.member-status-block.active{border-left-color:#4eaa65}
.member-status-block.left{border-left-color:var(--red)}
.member-status-block.unknown{border-left-color:#777}
.member-status-heading{display:flex;align-items:center;gap:13px;min-width:0}
.member-status-heading h2,.member-status-heading p{margin:0}
.member-status-heading h2{text-transform:uppercase}
.member-status-heading .eyebrow{margin-bottom:3px}
.member-status-heading>div{min-width:0}
.member-status-heading p:last-child{color:var(--muted);overflow-wrap:anywhere}
.member-status-icon{font-size:22px;line-height:1;color:#888}
.member-status-block.active .member-status-icon{color:#62d47d}
.member-status-block.left .member-status-icon{color:#ff6170}
.membership-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.membership-metrics>div{display:grid;gap:4px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.membership-metrics span{color:var(--muted);font-size:11px}
.membership-metrics strong{font-size:14px;overflow-wrap:anywhere}
.membership-timeline-list{display:grid;margin-top:6px}
.membership-event{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;position:relative;padding:11px 0;border-bottom:1px solid var(--line)}
.membership-event:last-child{border-bottom:0}
.membership-event-dot{width:10px;height:10px;margin-top:5px;border:2px solid #888;border-radius:50%;background:var(--panel)}
.membership-event.join .membership-event-dot{border-color:#62d47d;background:#1d4327}
.membership-event.leave .membership-event-dot{border-color:#ff6170;background:#4a1118}
.membership-event>div{min-width:0}
.membership-event strong,.membership-event time,.membership-event small{display:block}
.membership-event time,.membership-event small{margin-top:3px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.membership-data-note{margin:0 0 10px;padding:9px 11px;border:1px solid #986e2d;border-radius:9px;color:#e1c58f;background:#251c0f;font-size:12px}
.member-activity-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
.member-activity-item{display:grid;gap:4px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.member-activity-item span{color:var(--muted);font-size:11px}
.member-activity-item small{color:var(--muted);font-size:11px}
.member-activity-item strong{font-size:14px;overflow-wrap:anywhere}
@media(max-width:1180px){.member-filter-grid{grid-template-columns:2fr repeat(2,1fr)}
.snapshot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.membership-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.member-activity-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.member-summary{align-items:flex-start;flex-direction:column}
.member-kpis{width:100%;overflow:auto;flex-wrap:nowrap}
.member-filter-grid{grid-template-columns:1fr 1fr}
.search-wide{grid-column:1/-1}
.filter-footer{align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.member-table-wrap{display:none}
.member-mobile-list{display:grid;gap:10px}
.member-mobile-card{display:grid;gap:11px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel2),var(--panel))}
.member-mobile-card[role=button]{cursor:pointer}
.member-mobile-stats{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:12px}
.record-tabs{position:sticky;top:0;z-index:5;max-width:calc(100vw - 28px);margin-left:0;margin-right:0;padding:0;background:var(--bg)}
.snapshot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.member-status-heading{align-items:flex-start}
.membership-metrics,.member-activity-summary-grid{grid-template-columns:1fr}}
@media(max-width:430px){.member-filter-grid,.snapshot-grid{grid-template-columns:1fr}
.search-wide{grid-column:auto}
.executive-kpis{grid-template-columns:1fr 1fr}
.executive-kpis .metric-card{min-height:86px;padding:13px}
.executive-kpis .metric-card strong{font-size:21px}
.member-tabs{margin-left:-14px;margin-right:-14px;padding:0 14px}}
.racing-plan-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));margin-bottom:14px}
.stint-references{margin-top:18px}
.reference-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.reference-plan:first-child{border-top:0}
.reference-plan small{display:block;margin-top:5px;color:var(--muted)}
@media(max-width:760px){.racing-plan-filters{grid-template-columns:1fr}
.reference-plan{grid-template-columns:1fr}}
.statistics-grid > *,#content,.racing-plan-form,.racing-workspace{ min-width:0; }
.ranking-list > div,.session-list > div{ min-width:0; align-items:start; }
.ranking-list strong,.session-list span{ min-width:0; overflow-wrap:anywhere; }
.ranking-list > div > span{ flex-shrink:0; }
.racing-schedule-panel td small{ display:block; }
@media(max-width:760px){#content{ width:100%; box-sizing:border-box; }
.racing-subnav,.racing-actions{ flex-wrap:wrap; overflow:visible; }
.racing-actions > *{ flex:1 1 130px; white-space:normal; }
.racing-detail-head,.racing-hero,.racing-filters{ flex-wrap:wrap; }
.racing-filters > *{ min-width:0; max-width:100%; }
.racing-breadcrumb,.racing-detail-head{ overflow-wrap:anywhere; }
.racing-plan-form .form-grid{ grid-template-columns:minmax(0,1fr); }
.stint-editor-picker{ flex-wrap:wrap; }}
[hidden]{ display:none !important; }

/* Guided warning workflow: templates, member selection and responsive history. */
.warning-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:auto}
.warning-intro h2,.warning-intro p{margin-bottom:.35rem}
.warning-template-manager{min-height:auto;margin:1rem 0}
.warning-template-manager>summary{cursor:pointer;font-weight:800}
.warning-template-manager[open]>summary{margin-bottom:1rem}
.warning-template-manager form,.warning-step{display:grid;gap:.85rem}
.warning-workspace{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}
.warning-workspace>.card{min-width:0}
.warning-step{display:grid;gap:.85rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.warning-step:first-child{padding-top:.25rem}
.warning-step:last-child{border-bottom:0;padding-bottom:0}
.warning-step h3{display:inline;margin:0}
.warning-step-number{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;margin-right:.45rem;border-radius:50%;background:var(--red);color:#fff;font-weight:900}
.warning-member-tools{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:.5rem}
.warning-member-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.5rem;max-height:18rem;overflow:auto;padding:.75rem;border:1px solid var(--line);border-radius:.75rem}
.warning-member-list label{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.55rem .7rem;border-radius:.55rem;background:var(--panel2);cursor:pointer}
.warning-member-list label:hover,.warning-member-list label:focus-within{outline:1px solid var(--red)}
.warning-member-list input,.check-row input{width:auto}
.check-row{display:flex;align-items:center;gap:.65rem}
.warning-confirm .primary{justify-self:start}
.warning-row{display:grid;gap:.45rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.warning-row>div{display:flex;align-items:center;justify-content:space-between;gap:.65rem}
.warning-row h3,.warning-row p{margin:0}
.warning-row:last-child{border-bottom:0}
.warning-row button{justify-self:start}
@media(max-width:980px){.warning-workspace{grid-template-columns:1fr}}
@media(max-width:680px){
 .warning-intro{align-items:flex-start;flex-direction:column}
 .warning-member-tools,.warning-member-list{grid-template-columns:1fr}
 .warning-member-tools button{width:100%}
 .warning-row{font-size:.95rem}
}

/* Design A: readable driver-record notes. */
.note-form{display:grid;gap:12px}
.note-form h3{margin:0}
.note-form>label,.note-edit-form>label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.note-form input,.note-form textarea,.note-edit-form input,.note-edit-form textarea{font-size:14px;color:var(--text)}
.note-form textarea.long-text,.note-edit-form textarea.long-text{min-height:200px;line-height:1.55;resize:vertical;overflow:hidden}
.note-visibility{display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0;border:0;min-width:0}
.note-visibility legend{font-size:12px;color:var(--muted);margin-bottom:6px}
.note-visibility-option{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);cursor:pointer;flex:1 1 200px;min-width:0}
.note-visibility-option input{width:auto;min-height:0;margin:0}
.note-visibility-option span{display:grid;gap:1px}
.note-visibility-option b{font-size:13px}
.note-visibility-option small{color:var(--muted)}
.note-visibility-option:has(input:checked){border-color:var(--red);background:var(--reds)}
.note-form .primary{justify-self:start;min-width:160px}
.note-edit-form{display:grid;gap:12px}
.note .note-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.note .note-head strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.note .note-text{margin:0 0 10px;white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere}
.note .note-meta{display:block;font-size:12px}
.timeline{gap:12px}
@media(max-width:600px){.note-visibility-option{flex:1 1 100%}.note-form .primary{justify-self:stretch}}
/* Design A: "Berechtigungen prüfen" as a searchable matrix. */
.permission-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;align-items:start}
.permission-search{position:relative;display:grid;gap:8px;min-width:0}
.permission-search>label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.permission-search input{width:100%}
.permission-suggestions{position:absolute;top:66px;left:0;right:0;z-index:30;display:grid;max-height:280px;overflow:auto;padding:6px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 42px #000b}
.permission-suggestions button{display:flex;justify-content:space-between;gap:10px;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:8px;background:transparent;text-align:left}
.permission-suggestions button:hover,.permission-suggestions button:focus-visible{background:var(--reds)}
.permission-suggestions small{color:var(--muted)}
.permission-suggestions p{margin:6px 10px}
.permission-quick{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.permission-pick{display:grid;gap:6px;flex:1 1 200px;font-size:12px;color:var(--muted)}
.permission-pick select{width:100%}
.permission-summary{display:grid;gap:12px;min-width:0}
.permission-identity h2{margin:0 0 4px}
.permission-group-line{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 0}
.permission-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--panel2);font-size:12px;white-space:nowrap}
.permission-chip.group{background:var(--reds);border-color:#71101a;color:#ffd2d6;font-weight:700}
.permission-chip.source-allow{border-color:#2d5c3a;color:#9ed1b2}
.permission-chip.source-deny{border-color:#71101a;color:#ffb8bd}
.permission-chip.nav{background:var(--panel)}
.permission-chip.muted{color:var(--muted)}
.permission-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.permission-kpis div{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);text-align:center}
.permission-kpis b{display:block;font-size:22px;font-variant-numeric:tabular-nums}
.permission-kpis span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.permission-kpis .allow b{color:var(--ok)}.permission-kpis .deny b{color:var(--redt)}.permission-kpis .conflict b{color:var(--warn)}
.permission-navigation,.permission-filters{margin-top:14px}
.permission-nav-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.permission-nav-groups h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.permission-nav-groups>div{display:flex;flex-wrap:wrap;gap:6px;align-content:start}
.permission-nav-groups>div h3{flex:1 1 100%}
.permission-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.permission-filters label{display:grid;gap:6px;flex:1 1 220px;font-size:12px;color:var(--muted)}
.permission-toggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex-wrap:wrap}
.permission-toggle button{min-height:40px;border:0;border-radius:0;background:var(--panel);color:var(--muted);padding:8px 12px}
.permission-toggle button[aria-pressed="true"]{background:var(--panel2);color:#fff;box-shadow:inset 0 -2px var(--red)}
.permission-group{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-top:12px;min-width:0}
.permission-group>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;list-style:none;font-weight:650}
.permission-group>summary::-webkit-details-marker{display:none}
.permission-group>summary::before{content:"▸";color:var(--muted);margin-right:8px}
.permission-group[open]>summary::before{content:"▾"}
.permission-group-name{flex:1;min-width:0}
.permission-group-counts{display:flex;gap:8px;font-size:12px;font-weight:600}
.permission-group-counts .allow{color:var(--ok)}.permission-group-counts .deny{color:var(--redt)}.permission-group-counts .conflict{color:var(--warn)}
.permission-matrix{display:grid;border-top:1px solid var(--line)}
.permission-row{border-bottom:1px solid var(--line);min-width:0}
.permission-row:last-child{border-bottom:0}
.permission-row>summary{display:grid;grid-template-columns:minmax(0,1.4fr) 130px minmax(0,1.6fr);gap:12px;align-items:center;padding:10px 16px;cursor:pointer;list-style:none;font-size:13px}
.permission-row>summary::-webkit-details-marker{display:none}
.permission-label{min-width:0;overflow-wrap:anywhere}
.permission-status{white-space:nowrap;font-weight:600}
.permission-status i{font-style:normal;margin-right:2px}
.permission-row.allow .permission-status{color:var(--ok)}.permission-row.deny .permission-status{color:var(--redt)}.permission-row.conflict .permission-status{color:var(--warn)}
.permission-row.conflict>summary{background:#1d1710}
.permission-sources{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.permission-detail{padding:4px 16px 14px;color:#d5d9e1;font-size:13px;display:grid;gap:6px}
.permission-detail p{margin:0}
@media(max-width:699px){.permission-head,.permission-nav-groups{grid-template-columns:1fr}.permission-row>summary{grid-template-columns:1fr;gap:6px}.permission-status{justify-self:start}.permission-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.permission-kpis b{font-size:18px}.permission-toggle{width:100%}.permission-toggle button{flex:1 1 45%}}

/* Design A: "Mitglied kontaktieren" (clarification tickets). */
.record-tools{margin:0 0 12px}
.contact-notice{margin:0 0 12px;padding:10px 14px;border:1px solid #2d5c3a;border-radius:10px;background:#10201a;font-size:13px}
.contact-notice.warn{border-color:#8b6b28;background:#2a2010}
.contact-dm-failed{display:inline-block;padding:2px 8px;border-radius:999px;background:#3a2a0f;border:1px solid #8b6b28;color:#ffd166;font-weight:600}
.contact-tickets{margin:0 0 14px}
.contact-tickets .section-title{margin-bottom:10px}
.contact-case small{display:block;margin-top:3px}
.contact-case.missing{border-left-color:var(--warn)}
.contact-case.closed{border-left-color:var(--line)}
.contact-status.open{border-color:#2d5c3a;color:var(--ok)}
.contact-status.closing{border-color:#5376a7;color:#9bc2f5}
.contact-status.missing{border-color:#8b6b28;color:#ffd166}
.contact-summary{display:block;margin-top:4px;color:#d5d9e1;white-space:pre-wrap}
.contact-dialog form{display:grid;gap:12px}
.contact-dialog label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.contact-dialog input,.contact-dialog textarea{font-size:14px;color:var(--text)}
.contact-dialog textarea.long-text{min-height:180px;resize:vertical}
.contact-responsibles{display:grid;gap:6px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.contact-responsibles legend{padding:0 4px;font-size:12px;color:var(--muted)}
.contact-responsibles label{display:flex;align-items:center;gap:8px;min-height:36px;font-size:14px;color:var(--text)}
.contact-responsibles input{width:auto;min-height:0;margin:0}
.contact-responsibles small{color:var(--muted)}
.decision.missing{border-left-color:var(--warn)}
@media(max-width:699px){.contact-case .decision-actions{flex-direction:column;align-items:stretch}.contact-case .decision-actions>*{width:100%;text-align:center}}
.contact-dialog .kick-dialog-warning:empty{display:none}

/* Round 3: wide warning recipient picker. */
.warning-member-tools{grid-template-columns:minmax(220px,1fr) auto auto}
.warning-members{margin:0;padding:0;border:0;min-width:0}
.warning-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.warning-chips[hidden]{display:none}
.warning-chips .filter-chip{cursor:pointer;min-height:32px}
.warning-member-list.warning-member-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-height:22rem;gap:.5rem}
.warning-member-grid label{gap:.5rem;min-width:0}
.warning-member-grid .avatar.small{width:28px;height:28px;min-width:28px;font-size:12px}
.warning-member-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.warning-member-grid label:has(input:checked){outline:1px solid var(--red);background:var(--reds)}
@media(max-width:699px){.warning-member-list.warning-member-grid{grid-template-columns:1fr;max-height:18rem}}
