/* Systém · přístupový audit */
.system-intro { position: relative; min-height: 142px; display: flex; align-items: center; justify-content: space-between; padding: 28px 34px; color: #edf5f1; background: linear-gradient(135deg,#263a37,#35524c); overflow: hidden; }
.system-intro:after { content:""; position:absolute; width:230px; height:230px; right:-105px; top:-135px; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018); }
.system-intro h2 { margin: 4px 0 4px; font-size: 27px; }
.system-intro p:last-child { margin: 0; color: #b5c8c2; font-size: 13px; }
.system-intro .eyebrow { color: #93b6ac; }
.system-shield { position: relative; z-index: 1; width: 66px; height: 66px; display:grid; place-items:center; flex:none; border:1px solid rgba(255,255,255,.18); border-radius:20px; background:rgba(255,255,255,.08); font-size:31px; }
.system-stat-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin:16px 0; }
.system-stat { min-width:0; min-height:94px; display:flex; align-items:center; gap:11px; padding:17px; border-radius:17px; }
.system-stat > span { width:36px; height:36px; display:grid; place-items:center; flex:none; border-radius:11px; background:rgba(255,255,255,.58); font-weight:800; }
.system-stat div { min-width:0; }
.system-stat strong { display:block; overflow:hidden; font-size:22px; line-height:1.1; letter-spacing:-.6px; text-overflow:ellipsis; white-space:nowrap; }
.system-stat small { display:block; margin-top:4px; color:#60706c; font-size:9px; font-weight:700; text-transform:uppercase; }
.system-stat.mint { background:var(--mint); }.system-stat.blue { background:var(--blue); }.system-stat.peach { background:var(--peach); }.system-stat.lavender { background:var(--lavender); }
.system-stat.warning { background:#f8e5e1; }.system-stat.neutral { background:#e9eeeb; }
.system-insights { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr); gap:16px; margin-bottom:16px; }
.access-chart-card,.access-top-card { padding:23px; }
.access-chart { height:175px; display:grid; grid-template-columns:repeat(14,1fr); align-items:end; gap:6px; padding-top:10px; }
.access-chart-column { height:100%; display:grid; grid-template-rows:18px 1fr 20px; align-items:end; justify-items:center; gap:4px; }
.access-chart-column b { color:#6d7c78; font-size:9px; }
.access-chart-column i { width:min(25px,68%); min-height:2px; border-radius:7px 7px 3px 3px; background:linear-gradient(#6ba995,#9dcbba); transition:.2s ease; }
.access-chart-column:hover i { background:#2f7668; }
.access-chart-column small { color:#899591; font-size:8px; transform:rotate(-35deg); transform-origin:center; white-space:nowrap; }
.access-top-card { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.access-top-group { min-width:0; }
.access-top-group + .access-top-group { padding-left:18px; border-left:1px solid #e6ebe8; }
.access-top-group .eyebrow { margin-bottom:8px; font-size:8px; }
.access-top-group > div { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 0; border-top:1px solid #edf0ee; font-size:10px; }
.access-top-group > div span,.access-top-group > div code { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.access-top-group > div b { color:#47756c; font-size:9px; }
.access-filter-panel { margin-bottom:16px; padding:20px; }
.access-filters { display:grid; grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(130px,.7fr)); gap:12px; align-items:end; }
.access-filters label { min-width:0; display:flex; flex-direction:column; gap:5px; }
.access-filters label > span { color:#75847f; font-size:9px; font-weight:750; letter-spacing:.5px; text-transform:uppercase; }
.access-filters input,.access-filters select { width:100%; height:39px; padding:0 11px; border:1px solid #dbe3df; border-radius:10px; outline:0; color:var(--ink); background:#fafbf9; font-size:11px; }
.access-filters input:focus,.access-filters select:focus { border-color:#72a99c; box-shadow:0 0 0 3px rgba(74,137,123,.11); }
.access-filter-actions { display:flex; align-items:center; gap:14px; }
.access-filter-actions .button { min-height:39px; font-size:11px; }
.access-filter-actions .text-link { font-size:11px; }
.access-log-card { padding:24px; }
.access-log-card .section-heading > small { color:#7e8c88; font-size:9px; }
.access-log-card h2 .soft-pill { vertical-align:middle; }
.access-table { font-size:11px; }
.access-table th { padding:10px 9px; font-size:8px; }
.access-table td { padding:12px 9px; white-space:nowrap; }
.access-table time { font-variant-numeric:tabular-nums; }
.access-state { display:inline-flex; align-items:center; gap:6px; min-height:25px; padding:0 8px; border-radius:999px; color:#5e6b68; background:#eef1ef; font-size:8px; font-weight:750; }
.access-state i { width:6px; height:6px; border-radius:50%; background:#96a19e; }
.access-state.active { color:#26654f; background:#e0f1e8; }.access-state.active i { background:#45a778; box-shadow:0 0 0 3px rgba(69,167,120,.13); }
.access-state.ended { color:#526c88; background:#e6edf5; }.access-state.ended i { background:#7595b7; }
.access-state.expired { color:#655a7b; background:#eee9f5; }.access-state.expired i { background:#8b78ad; }
.access-state.inactive { color:#766d57; background:#f3efe4; }.access-state.inactive i { background:#b39b63; }
.access-state.failed { color:#994e48; background:#fae8e5; }.access-state.failed i { background:#cc665d; }
.request-count { min-width:28px; height:28px; display:inline-grid; place-items:center; border-radius:9px; color:#416a62; background:#edf4f1; font-family:var(--mono); font-size:9px; }
.access-detail { position:relative; }
.access-detail summary { width:32px; height:28px; display:grid; place-items:center; border-radius:9px; color:#59746e; background:#f0f4f2; cursor:pointer; list-style:none; letter-spacing:1px; }
.access-detail summary::-webkit-details-marker { display:none; }
.access-detail[open] summary { color:white; background:#356f65; }
.access-detail > div { position:absolute; z-index:15; right:0; top:34px; width:min(430px,80vw); padding:16px; border:1px solid #dce5e0; border-radius:14px; background:white; box-shadow:0 18px 55px rgba(31,48,45,.18); white-space:normal; }
.access-detail dl { display:grid; grid-template-columns:105px 1fr; gap:8px 12px; margin:0; }
.access-detail dt { color:#899591; font-size:8px; font-weight:750; letter-spacing:.5px; text-transform:uppercase; }
.access-detail dd { min-width:0; margin:0; overflow-wrap:anywhere; font-size:9px; }
.access-detail dd code { white-space:normal; }
.access-retention-note { display:flex; align-items:center; gap:8px; margin:14px 4px 0; color:#73827e; font-size:9px; }
.access-retention-note span { color:#4d897b; }

@media (max-width: 1300px) {
  .system-stat-grid { grid-template-columns:repeat(3,1fr); }
  .system-insights { grid-template-columns:1fr; }
  .access-filters { grid-template-columns:repeat(3,1fr); }
  .access-search { grid-column:span 2; }
}
@media (max-width: 800px) {
  .system-stat-grid { grid-template-columns:repeat(2,1fr); }
  .access-top-card { grid-template-columns:1fr; }
  .access-top-group + .access-top-group { padding:15px 0 0; border-left:0; border-top:1px solid #e6ebe8; }
  .access-filters { grid-template-columns:1fr 1fr; }
  .access-search { grid-column:1/-1; }
  .access-log-card .section-heading { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 520px) {
  .system-intro { min-height:130px; padding:24px; }.system-shield { display:none; }
  .system-stat-grid,.access-filters { grid-template-columns:1fr; }
  .access-search { grid-column:1; }
  .access-chart { gap:2px; }.access-chart-column small { display:none; }
  .access-filter-actions { justify-content:space-between; }
}

