/* Только раздел Security: общие цвета и типографика BI не переопределяются. */
.an-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.an-tabs{display:flex;gap:5px;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.an-tabs button{border-color:transparent;background:transparent;min-width:112px}
.an-tabs button[aria-pressed=true]{background:var(--green-soft);color:var(--green-dim)}
.an-period{color:var(--muted);font-size:13px}
.an-period-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.an-period-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);min-width:140px;flex:1 1 150px}
.an-period-form input,.an-period-form select{min-height:42px;width:100%;min-width:0;box-sizing:border-box;color:var(--ink);background:var(--panel)}
.an-period-form button{min-height:42px;flex:none}.an-period-form .error{flex:1 0 100%;margin:0}
#analytics-body .an-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}
#analytics-body .an-metrics article{padding:20px 24px;border:1px solid var(--line);box-shadow:none}
#analytics-body .an-metrics article:has(.an-metric-action){padding:0}
.an-metric-action{display:flex;flex-direction:column;text-align:left;width:100%;height:100%;padding:20px 24px;background:transparent;border:0;border-radius:inherit;color:var(--ink);box-shadow:none;white-space:normal}
.an-metric-action:hover{background:var(--green-soft);transform:none!important}.an-metric-action:focus-visible{outline:2px solid var(--green);outline-offset:-3px}
#analytics-body .an-metrics strong{font-size:36px;line-height:1.3;letter-spacing:-1px;margin:9px 0 6px}
#analytics-body .an-metrics small{line-height:1.5}
.an-card{padding:22px 24px!important;margin:0 0 20px!important;min-width:0;box-shadow:none!important;border:1px solid var(--line)}
.an-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.an-heading h3{margin:0 0 5px;font-size:17px}
.an-heading p{max-width:680px}
.an-heading button{font-size:12px}
.an-chart-wrap{width:100%;min-width:0}
.an-chart{width:100%;height:auto;display:block;min-height:170px;overflow:visible}
.an-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}
.an-axis{fill:var(--muted);font-size:12px;font-family:var(--sans)}
.an-value{fill:var(--ink);font-size:13px;font-weight:650;font-family:var(--sans)}
.an-bar{fill:var(--green)}
.an-bar-warning{fill:#d99535}
.an-line{stroke:var(--green);stroke-width:2.5;fill:none;stroke-linejoin:round;stroke-linecap:round}
.an-area{fill:var(--green);fill-opacity:.12}
.an-cursor{stroke:var(--green-dim);stroke-width:1.5;stroke-dasharray:4 4}
.an-column{cursor:pointer;outline-offset:3px}
.an-column:hover .an-bar,.an-column:focus .an-bar{fill:var(--green-dim)}
.an-time-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}
.an-time-controls input{flex:1;min-width:140px;accent-color:var(--green);border:none;padding:0;min-height:32px}
.an-time-controls output{font-size:13px;font-weight:650;min-width:185px}
.an-time-controls button{font-size:12px}
.an-roster{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;min-height:48px}
.an-person{font-size:12px;background:var(--green-soft);border-color:transparent;min-height:32px;padding:6px 10px}
.an-identity{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.an-person-link{background:transparent;border:0;color:var(--green-dim);font-size:inherit;text-align:left;padding:3px 0;min-height:26px;box-shadow:none;white-space:normal;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.an-person-link:hover{transform:none!important;color:var(--ink);border-color:transparent}
.an-person-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.an-person-organization{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.an-roster>.an-identity{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);max-width:100%;flex:0 1 240px}
.an-point{outline-offset:3px;cursor:pointer}.an-point-mark{fill:var(--panel);stroke:var(--green);stroke-width:2;transition:fill .14s ease,r .14s ease}
.an-point:hover .an-point-mark,.an-point:focus .an-point-mark{fill:var(--green);stroke:var(--green-dim);r:6}
.an-column .an-bar{transition:fill .14s ease}
.an-lower{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}
.an-lower>.an-card{height:fit-content}
.an-emphasis{color:var(--ink);font-size:15px;font-weight:600;margin-bottom:12px}
.an-positive{color:var(--green-dim)}
.an-warning{color:#946218}
.an-stat-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}
.an-stat-row:last-of-type{border:0;margin-bottom:10px}
.an-details{border:1px solid var(--line);border-radius:14px;padding:15px 18px;margin-bottom:16px;background:var(--panel);min-width:0}
.an-details summary{cursor:pointer;font-weight:600;color:var(--ink);padding:3px 0}
.an-details[open]>summary{margin-bottom:18px}
.an-details .an-card{margin-bottom:0!important}
.an-card>.an-details:last-child{margin-bottom:0}
.an-readout{min-height:24px;font-size:12px;margin-top:4px}
.an-legend{display:flex;gap:20px;font-size:12px;margin-bottom:4px}
.an-legend span:before{content:'●';margin-right:6px}
@media(max-width:700px){
 #analytics-body .an-metrics{grid-template-columns:1fr;gap:10px}
 #analytics-body .an-metrics article{padding:14px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px}
 #analytics-body .an-metrics article:has(.an-metric-action){display:block;padding:0}.an-metric-action{padding:14px 18px;display:grid;grid-template-columns:1fr auto;gap:0 12px}
 #analytics-body .an-metrics strong{grid-column:2;grid-row:1/3;margin:0;font-size:30px}
 #analytics-body .an-metrics small{grid-column:1}
 .an-lower{grid-template-columns:1fr;gap:0}
 .an-card{padding:18px 14px!important}
 .an-tabs{width:100%}.an-tabs button{flex:1;min-width:0;padding:8px}
 .an-time-controls label{width:100%}.an-time-controls output{min-width:0}
 .an-chart{min-height:140px}
 .an-heading{gap:10px}.an-heading h3{font-size:16px}
 .an-details{padding:12px}
 .an-period-form{padding:12px;gap:10px}.an-period-form label{min-width:0;flex-basis:calc(50% - 5px)}.an-period-form label:first-child{flex-basis:100%}.an-period-form button{width:100%}
}
@media(prefers-reduced-motion:reduce){.an-point-mark,.an-column .an-bar{transition:none}}
