/* Complaints dashboard + management */
.cmp-kpi-grid,.cmpm-summary{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin-bottom:16px}
.cmp-kpi-grid{align-items:stretch}
.cmp-kpi{--cmp-accent:#1cc8f2;--cmp-rgb:28,200,242;position:relative;min-height:108px;border:1px solid rgba(var(--cmp-rgb),.28);border-radius:20px;padding:14px 14px 12px;display:flex;gap:10px;align-items:flex-start;background:linear-gradient(145deg,#08283c,#071f31);overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.16)}
.cmp-kpi.tone-success{--cmp-accent:#20d5a1;--cmp-rgb:32,213,161}.cmp-kpi.tone-warning{--cmp-accent:#ffb43b;--cmp-rgb:255,180,59}.cmp-kpi.tone-danger{--cmp-accent:#ff5d73;--cmp-rgb:255,93,115}.cmp-kpi.tone-info{--cmp-accent:#20c4f1;--cmp-rgb:32,196,241}.cmp-kpi.tone-good{--cmp-accent:#20d5a1;--cmp-rgb:32,213,161}
.cmp-kpi-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;color:var(--cmp-accent)}
.cmp-kpi>div{min-width:0;display:flex;flex-direction:column;gap:4px}.cmp-kpi small{font-size:11px;font-weight:800;color:#b8cedd;line-height:1.35}.cmp-kpi b{font-size:24px;line-height:1;color:var(--cmp-accent);font-weight:900}.cmp-kpi em{font-style:normal;font-size:10px;color:#8faebf;font-weight:700;line-height:1.35}
.cmp-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.cmp-panel{min-height:310px}.cmp-status-donut{--closed:0;--processing:0;--open:0;width:176px;height:176px;border-radius:50%;margin:16px auto;display:grid;place-items:center;background:conic-gradient(#20d5a1 0 calc(var(--closed)*1%),#ffb43b 0 calc((var(--closed) + var(--processing))*1%),#21c4f3 0 calc((var(--closed) + var(--processing) + var(--open))*1%),#ff5d73 0 100%);position:relative}.cmp-status-donut:before{content:"";position:absolute;inset:18px;border-radius:50%;background:#0a2639}.cmp-status-donut>div{position:relative;z-index:1;text-align:center}.cmp-status-donut b{display:block;font-size:34px;color:#fff}.cmp-status-donut small{color:#9fbccc}.cmp-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:12px;color:#bad0dc}.cmp-legend span{display:flex;align-items:center;gap:7px}.cmp-legend i{width:10px;height:10px;border-radius:50%;display:block}.cmp-legend i.good{background:#20d5a1}.cmp-legend i.warn{background:#ffb43b}.cmp-legend i.info{background:#21c4f3}.cmp-legend i.danger{background:#ff5d73}
.cmp-bars{display:flex;flex-direction:column;gap:14px;padding:12px 0}.cmp-bar-row{display:grid;grid-template-columns:minmax(90px,1.2fr) 2fr 32px;align-items:center;gap:10px}.cmp-bar-row span{font-size:12px;font-weight:800;color:#c5dbe7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-bar-row b{font-size:12px;color:#edfaff;text-align:center}.cmp-bar-track{height:12px;border-radius:999px;background:#10354e;overflow:hidden}.cmp-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16bde9,#27d5b0)}
.cmp-trend-panel{margin-bottom:16px}.cmp-trend{height:220px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;align-items:end;padding:22px 20px 10px}.cmp-trend-col{height:100%;display:grid;grid-template-rows:24px 1fr 24px;align-items:end;text-align:center;gap:6px}.cmp-trend-col b{font-size:12px;color:#c7dce7}.cmp-trend-col i{display:block;width:min(62%,50px);justify-self:center;min-height:8px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#24cef5,#128bbf);box-shadow:0 0 16px rgba(36,206,245,.16)}.cmp-trend-col span{font-size:11px;color:#8fabbc}.cmp-desc-cell{max-width:300px;white-space:normal!important;line-height:1.5}
.cmpm-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;margin-bottom:16px}.cmpm-hero h2{margin:4px 0 6px;font-size:25px}.cmpm-hero p{margin:0;color:var(--muted);line-height:1.7}.cmpm-eyebrow{font-size:10px;font-weight:900;letter-spacing:1.2px;color:#24c8f2}.cmpm-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.cmpm-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:16px}.cmpm-upload-panel{min-height:420px}.cmpm-dropzone{min-height:235px;border:1.5px dashed rgba(38,190,237,.38);border-radius:18px;background:rgba(21,164,210,.035);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:20px;transition:.18s}.cmpm-dropzone.dragover{border-color:#27d5ff;background:rgba(39,213,255,.08);transform:translateY(-1px)}.cmpm-upload-icon{width:62px;height:62px;display:grid;place-items:center;color:#24c8f2}.cmpm-dropzone h3{margin:0;font-size:18px}.cmpm-dropzone p,.cmpm-dropzone small{margin:0;color:#8faebf}.cmpm-file-btn{position:relative;overflow:hidden;cursor:pointer}.cmpm-file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.cmpm-import-actions{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;align-items:end;margin-top:14px}.cmpm-import-actions label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#9cb7c7}.cmpm-import-actions select{height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:0 10px}.cmpm-import-msg{margin-top:12px;min-height:28px}.cmpm-schema{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:6px}.cmpm-schema>div{border:1px solid var(--line);border-radius:12px;padding:11px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:4px}.cmpm-schema b{font-size:12px}.cmpm-schema span{font-size:10px;color:var(--muted)}.cmpm-current-stats{display:flex;gap:12px;flex-wrap:wrap;padding:8px 0}.cmpm-current-stats span{padding:9px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}.cmpm-current-stats b{color:var(--text);margin-inline-start:6px}
body[data-theme="light"] .cmp-kpi,body.theme-light .cmp-kpi,body.secura-light .cmp-kpi{background:linear-gradient(145deg,#fff,#f6fbfd);box-shadow:0 10px 24px rgba(18,67,94,.08)}body[data-theme="light"] .cmp-kpi small,body.theme-light .cmp-kpi small,body.secura-light .cmp-kpi small{color:#4c6879}body[data-theme="light"] .cmp-kpi em,body.theme-light .cmp-kpi em,body.secura-light .cmp-kpi em{color:#6d8797}body[data-theme="light"] .cmp-status-donut:before,body.theme-light .cmp-status-donut:before,body.secura-light .cmp-status-donut:before{background:#fff}body[data-theme="light"] .cmp-status-donut b,body.theme-light .cmp-status-donut b,body.secura-light .cmp-status-donut b{color:#15384b}body[data-theme="light"] .cmp-status-donut small,body.theme-light .cmp-status-donut small,body.secura-light .cmp-status-donut small{color:#607d8d}body[data-theme="light"] .cmp-legend,body.theme-light .cmp-legend,body.secura-light .cmp-legend{color:#4f6b7a}body[data-theme="light"] .cmp-bar-row span,body.theme-light .cmp-bar-row span,body.secura-light .cmp-bar-row span{color:#315568}body[data-theme="light"] .cmp-bar-row b,body.theme-light .cmp-bar-row b,body.secura-light .cmp-bar-row b{color:#17394a}body[data-theme="light"] .cmp-bar-track,body.theme-light .cmp-bar-track,body.secura-light .cmp-bar-track{background:#dcebf2}body[data-theme="light"] .cmp-trend-col b,body.theme-light .cmp-trend-col b,body.secura-light .cmp-trend-col b{color:#355b6e}body[data-theme="light"] .cmp-trend-col span,body.theme-light .cmp-trend-col span,body.secura-light .cmp-trend-col span{color:#627f90}
@media(max-width:1650px){.cmp-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cmpm-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.cmp-dashboard-grid{grid-template-columns:1fr 1fr}.cmp-dashboard-grid>.cmp-panel:first-child{grid-row:span 2}.cmpm-grid{grid-template-columns:1fr}}
@media(max-width:900px){.cmp-kpi-grid,.cmpm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-dashboard-grid{grid-template-columns:1fr}.cmp-dashboard-grid>.cmp-panel:first-child{grid-row:auto}.cmpm-hero{align-items:flex-start;flex-direction:column}.cmpm-import-actions{grid-template-columns:1fr}.cmpm-schema{grid-template-columns:1fr}}
@media(max-width:560px){.cmp-kpi-grid,.cmpm-summary{grid-template-columns:1fr}.cmp-trend{gap:7px;padding-inline:8px}.cmp-bar-row{grid-template-columns:90px 1fr 26px}}


/* V224 — apply polished donut treatment to complaints status donut */
.cmp-status-donut{width:190px;height:190px;margin:18px auto 14px;border-radius:50%;background:conic-gradient(from -90deg,#20d5a1 0 calc(var(--closed)*1%),#ffb43b 0 calc((var(--closed) + var(--processing))*1%),#21c4f3 0 calc((var(--closed) + var(--processing) + var(--open))*1%),#ff5d73 0 100%);box-shadow:0 10px 22px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.03);overflow:hidden;isolation:isolate}
.cmp-status-donut:before{inset:22px;box-shadow:inset 0 0 20px rgba(0,0,0,.18)}
.cmp-status-donut:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);pointer-events:none}
.cmp-status-donut>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
.cmp-status-donut b{font-size:36px;line-height:1.05}
.cmp-status-donut small{font-size:11px}
.cmp-legend{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;text-align:center}
.cmp-legend span{padding:6px 10px;border-radius:10px;background:rgba(9,39,58,.42);border:1px solid rgba(127,185,209,.10)}
body[data-theme="light"] .cmp-status-donut:after,body.theme-light .cmp-status-donut:after,body.secura-light .cmp-status-donut:after{box-shadow:inset 0 0 0 1px rgba(16,58,82,.08)}
body[data-theme="light"] .cmp-legend span,body.theme-light .cmp-legend span,body.secura-light .cmp-legend span{background:#f8fcfd;border-color:#e0edf2}
@media(max-width:700px){.cmp-status-donut{width:176px;height:176px}.cmp-status-donut:before{inset:20px}}

/* V226 — fully interactive complaint-status donut matching monitoring donut standard */
.cmp-donut-modern{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:6px 12px 12px;min-height:235px;direction:rtl}
.cmp-donut-stage{position:relative;width:190px;height:190px;display:grid;place-items:center;isolation:isolate;outline:none;cursor:pointer;margin:0 auto}
.cmp-donut-stage:before{content:"";position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle at 50% 46%,rgba(34,200,239,.10),rgba(32,213,161,.03) 56%,transparent 73%);z-index:-1;transition:.3s ease}
.cmp-donut-ring,.cmp-hover-pie{position:absolute;inset:0;margin:auto;width:184px;height:184px;overflow:visible}
.cmp-donut-ring{transform:rotate(-90deg);opacity:1;transition:opacity .25s ease,transform .42s cubic-bezier(.2,.8,.2,1)}
.cmp-donut-base{fill:none;stroke:#103b55;stroke-width:25;opacity:.86;shape-rendering:geometricPrecision}
.cmp-donut-seg{fill:none;stroke-width:25;stroke-linecap:butt;shape-rendering:geometricPrecision;transition:opacity .2s ease,stroke-width .2s ease}
.cmp-donut-seg.c0,.cmp-pie-slice.c0{stroke:#20d5a1;fill:#20d5a1}
.cmp-donut-seg.c1,.cmp-pie-slice.c1{stroke:#ffb43b;fill:#ffb43b}
.cmp-donut-seg.c2,.cmp-pie-slice.c2{stroke:#21c4f3;fill:#21c4f3}
.cmp-donut-seg.c3,.cmp-pie-slice.c3{stroke:#ff5d73;fill:#ff5d73}
.cmp-hover-pie{opacity:0;transform:scale(.72) rotate(-8deg);transition:opacity .28s ease,transform .46s cubic-bezier(.18,.86,.22,1);pointer-events:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22))}
.cmp-pie-part{transform-box:fill-box;transform-origin:center;transition:transform .2s ease,opacity .2s ease,filter .2s ease}
.cmp-pie-slice{stroke:#082236 !important;stroke-width:1.8;stroke-linejoin:round;shape-rendering:geometricPrecision}
.cmp-pie-value{fill:#fff;font-size:11px;font-weight:900;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-family:inherit}
.cmp-donut-core{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;z-index:3;transition:transform .28s ease,opacity .22s ease}
.cmp-donut-core strong{font-size:36px;line-height:1;color:#effbff;text-shadow:0 0 16px rgba(34,200,239,.18)}
.cmp-donut-core span{font-size:10px;color:#8aaaba;margin-top:5px;font-weight:800}
.cmp-donut-stage:hover .cmp-donut-ring,.cmp-donut-stage:focus-visible .cmp-donut-ring{opacity:0;transform:rotate(-90deg) scale(.72)}
.cmp-donut-stage:hover .cmp-hover-pie,.cmp-donut-stage:focus-visible .cmp-hover-pie{opacity:1;transform:scale(1) rotate(0);pointer-events:auto}
.cmp-donut-stage:hover .cmp-donut-core,.cmp-donut-stage:focus-visible .cmp-donut-core{opacity:0;transform:scale(.72)}
.cmp-donut-stage:hover:before,.cmp-donut-stage:focus-visible:before{transform:scale(1.06);border-radius:24%}
.cmp-hover-pie .cmp-pie-part:hover{transform:translate(var(--dx),var(--dy)) scale(1.045);filter:drop-shadow(0 6px 9px rgba(0,0,0,.24));z-index:3}
.cmp-hover-pie:hover .cmp-pie-part:not(:hover){opacity:.76}
.cmp-donut-legend{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center !important;justify-content:center !important;gap:8px !important;width:100% !important;margin:0 auto !important;padding-top:8px !important;font-size:11px !important}
.cmp-donut-legend span{display:flex !important;align-items:center !important;justify-content:center !important;gap:6px !important;min-height:34px !important;padding:7px 10px !important;border-radius:10px !important;background:rgba(9,39,58,.42) !important;border:1px solid rgba(127,185,209,.10) !important;white-space:nowrap !important}
.cmp-donut-legend i{width:8px !important;height:8px !important;flex:0 0 8px;border-radius:50% !important}
.cmp-donut-legend i.c0{background:#20d5a1}.cmp-donut-legend i.c1{background:#ffb43b}.cmp-donut-legend i.c2{background:#21c4f3}.cmp-donut-legend i.c3{background:#ff5d73}
.cmp-donut-legend em{font-style:normal;font-weight:800;color:#b6d0da;font-size:9px}
.cmp-donut-legend b{font-size:11px;color:#fff}
.cmp-donut-legend small{font-size:8px;color:#7197a8}
body[data-theme="light"] .cmp-donut-base,body.theme-light .cmp-donut-base,body.secura-light .cmp-donut-base{stroke:#e3eef3}
body[data-theme="light"] .cmp-donut-core strong,body.theme-light .cmp-donut-core strong,body.secura-light .cmp-donut-core strong{color:#15364a;text-shadow:none}
body[data-theme="light"] .cmp-pie-slice,body.theme-light .cmp-pie-slice,body.secura-light .cmp-pie-slice{stroke:#f8fbfc !important}
body[data-theme="light"] .cmp-donut-legend span,body.theme-light .cmp-donut-legend span,body.secura-light .cmp-donut-legend span{background:#f8fcfd !important;border-color:#e0edf2 !important}
body[data-theme="light"] .cmp-donut-legend em,body.theme-light .cmp-donut-legend em,body.secura-light .cmp-donut-legend em{color:#31576a}
body[data-theme="light"] .cmp-donut-legend b,body.theme-light .cmp-donut-legend b,body.secura-light .cmp-donut-legend b{color:#17394a}
@media(max-width:1050px){.cmp-donut-legend{flex-wrap:wrap !important}.cmp-donut-stage{width:180px;height:180px}.cmp-donut-ring,.cmp-hover-pie{width:174px;height:174px}}
@media(max-width:620px){.cmp-donut-stage{width:170px;height:170px}.cmp-donut-ring,.cmp-hover-pie{width:164px;height:164px}.cmp-donut-legend{gap:6px !important}.cmp-donut-legend span{padding:6px 8px !important}}


/* V227 — stretch horizontal bar cards and pull right-side labels inward across complaints pages */
.cmp-dashboard-grid>.cmp-panel{display:flex;flex-direction:column}
.cmp-dashboard-grid>.cmp-panel .cmp-bars{flex:1 1 auto;min-height:210px;height:100%;justify-content:space-evenly;padding:18px 12px 18px 10px}
.cmp-dashboard-grid>.cmp-panel .cmp-bar-row{grid-template-columns:40px minmax(0,1fr) minmax(96px,132px);gap:12px;padding-inline:8px;min-height:30px}
.cmp-dashboard-grid>.cmp-panel .cmp-bar-row span{text-align:right;padding-inline-end:12px;overflow:visible;text-overflow:clip;max-width:none}
.cmp-dashboard-grid>.cmp-panel .cmp-bar-row b{width:40px}
@media(max-width:560px){.cmp-dashboard-grid>.cmp-panel .cmp-bars{min-height:190px;padding:14px 8px}.cmp-dashboard-grid>.cmp-panel .cmp-bar-row{grid-template-columns:32px minmax(0,1fr) minmax(82px,112px);gap:10px;padding-inline:4px}.cmp-dashboard-grid>.cmp-panel .cmp-bar-row span{padding-inline-end:8px}}
