/* =====================================================================
   NIZU — isometric donut (pairs with assets/js/isometric-donut.js)
   =====================================================================

   Only the segment colours come from the data; everything else — the
   ground shadow, the centre figure, the callout text — is themed here,
   which is the whole reason the chart is SVG and not a canvas.
   `.form-text` / `text-muted` are deliberately not used: neither is
   themed for body.color-1E202D.
   ===================================================================== */

.nz-isod {
    position: relative;
    width: 100%;
}

/* app.all.css carries a blanket `svg:not(.gantt) { margin-top: -3px;
   pointer-events: none }` from the feather-icon days. It inherits into
   every path, so the ring was unhoverable and sat 3px high. Undo it here
   — the selector needs two classes to outweigh `svg:not(.gantt)`. */
.nz-isod .nz-isod-svg {
    display: block;
    width: 100%;
    margin-top: 0;
    overflow: visible;
    pointer-events: auto;
}

/* the blur lives on the element (an SVG filter in user units, so it scales
   with the ring); a CSS `filter` here would override it */
.nz-isod-shadow {
    fill: rgba(17, 24, 39, 0.34);
    pointer-events: none;
}

.nz-isod-top,
.nz-isod-wall {
    transition: filter .18s ease, opacity .18s ease;
}

.nz-isod-top {
    cursor: pointer;
}

.nz-isod-top.is-hover,
.nz-isod-wall.is-hover {
    filter: brightness(1.09) saturate(1.06);
}

/* a ring drawn because there is no data yet answers no question, so it
   does not invite a hover either */
.nz-isod-inert {
    cursor: default;
    pointer-events: none;
}

/* ------------------------------------------------------------ text --- */

/* NO font-size here: the renderer sizes both centre lines to the part of
   the hole the inner wall leaves, and a CSS rule beats the presentation
   attribute it sets. A stray `font-size: xx-small` in this block pinned the
   figure at 9px in every ring on the dashboard. */
.nz-isod-center-value {
    fill: #1d1d1f;
    font-weight: 600;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: xx-small !important;
}

.nz-isod-center-label {
    fill: #6e6e73;
    font-weight: 500;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* the sizes of these lines are set per ring by the renderer (they scale
   with it) — a font-size here would override the attribute, which is the
   trap that pinned the centre figure at 9px */
.nz-isod-callout-label {
    fill: #6e6e73;
    font-weight: 500;
}

.nz-isod-callout-share {
    font-weight: 700;
}

.nz-isod-callout-value {
    fill: #1d1d1f;
    font-weight: 500;
}

.nz-isod-slice-share {
    font-weight: 700;
    pointer-events: none;
}

.nz-isod-leader,
.nz-isod-leader-dot {
    pointer-events: none;
}

/* --------------------------------------------------------- tooltip --- */

.nz-isod-tip {
    position: absolute;
    z-index: 5;
    display: none;
    padding: 6px 10px;
    border: 1px solid rgba(17, 24, 39, .10);
    border-radius: 10px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 24px rgba(17, 24, 39, .12);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    font-size: 12px;
    line-height: 1.35;
    white-space: nowrap;
    pointer-events: none;
}

.nz-isod-tip.is-on {
    display: block;
}

.nz-isod-tip-label {
    display: block;
    color: #6e6e73;
}

.nz-isod-tip-value {
    display: block;
    color: #1d1d1f;
    font-weight: 600;
}

/* ------------------------------------------ dark (body.color-1E202D) --- */

body.color-1E202D .nz-isod-shadow {
    fill: rgba(0, 0, 0, .55);
}

body.color-1E202D .nz-isod-center-value,
body.color-1E202D .nz-isod-callout-value {
    fill: #eef0f6;
}

body.color-1E202D .nz-isod-center-label,
body.color-1E202D .nz-isod-callout-label {
    fill: #aeb4cc;
}

/* a wall shaded to 46% black disappears into a dark card; lift the whole
   solid instead of re-deriving every gradient in JS */
body.color-1E202D .nz-isod-wall {
    filter: brightness(1.28);
}

body.color-1E202D .nz-isod-wall.is-hover {
    filter: brightness(1.38) saturate(1.06);
}

body.color-1E202D .nz-isod-tip {
    border-color: rgba(255, 255, 255, .12);
    background: rgba(28, 30, 38, .92);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
}

body.color-1E202D .nz-isod-tip-label {
    color: #aeb4cc;
}

body.color-1E202D .nz-isod-tip-value {
    color: #eef0f6;
}
