/**
 * Paleta dhe fonti perputhen me brandin real te AKKC/nacc.gov.al, te
 * nxjerra nga stilet e formularit origjinal (wpcode-gravity-licenca-stil-
 * final.html): vjollce #48207b + bli #009b93, font Inter. E ngarkuar
 * ketu qe te mos jete gjenerike, te perputhet me pamjen ekzistuese te sajtit.
 */
.akkc {
    --akkc-purple: #48207b;
    --akkc-purple-2: #6d5690;
    --akkc-teal: #009b93;
    --akkc-teal-dark: #00756f;
    --akkc-green: #49a942;
    --akkc-ink: #34313d;
    --akkc-muted: #6b6875;
    --akkc-line: #e7e4ed;
    --akkc-soft: #f5f3f8;
    --akkc-soft-2: #fbfafc;
    --akkc-danger: #c93838;
    --akkc-danger-bg: #fff7f7;
    --akkc-ok: #18865f;
    --akkc-ok-bg: #eefaf8;
    --akkc-radius: 8px;
    --akkc-ring: 0 0 0 2px rgba(0, 155, 147, .12);
    --akkc-shadow: 0 8px 20px rgba(72, 32, 123, .08);
    /* Vlerat qe redaktori i pamjes (Akkc_Style) mbishkruan. Te gjitha kane
       pikerisht vlerat e meparshme te koduara, keshtu qe pa nderhyrje te
       adminit pamja nuk ndryshon as per nje piksel. */
    --akkc-bg: #ffffff;
    --akkc-field-radius: 6px;
    --akkc-gap: 16px;
    /* 1400 (jo 1280): kreu i formularit rri jashte `.akkc-shell` dhe merr
       gjithe gjeresine, ndersa hapat rrine brenda saj minus shiriti anesor -
       me 1280 hapat dilnin ~20% me te ngushte se kreu ("eshte shume i ngushte,
       ka ndrruar formati"). Rregullohet nga Ndertuesi -> Pamja. */
    --akkc-max-width: 1400px;
    --akkc-font: 'Inter', -apple-system, 'Segoe UI', sans-serif;
    --akkc-font-size: 14px;
    --akkc-title-size: 20px;
    --akkc-heading-size: 15px;
    color: var(--akkc-ink);
    font-family: var(--akkc-font);
    font-size: var(--akkc-font-size);
    line-height: 1.45;
    /* Stilet globale te bllokut (Twenty Twenty-Five etj.) e kufizojne cdo
       femije te permbajtjes ne ~645px permes nje max-width qe fiton
       barazimin e specifikes - prandaj !important. Prindi eshte tashme i
       plote (alignfull), keshtu qe thjesht centrohemi brenda tij me
       margin-inline:auto (pa hile transform-i qe e zhvendos/pret formen). */
    width: 100% !important;
    max-width: var(--akkc-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.akkc * {
    box-sizing: border-box;
}

.akkc h2, .akkc h3, .akkc h4, .akkc h5 {
    margin: 0 0 .5em;
    line-height: 1.25;
    color: var(--akkc-ink);
}

.akkc h3 {
    color: var(--akkc-purple);
    font-weight: 600;
    margin: 24px 0 14px;
}

.akkc-step-panel > h3:first-child { margin-top: 6px; }

/* Reusable section header (title + optional action, purple, hairline) */
.akkc-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    flex-wrap: wrap;
    margin: 24px 0 14px;
}

.akkc-section-head h3,
.akkc-section-head > :first-child {
    margin: 0;
    color: var(--akkc-purple);
    font-weight: 600;
}

.akkc a {
    color: var(--akkc-teal);
}

.akkc a:hover {
    color: var(--akkc-teal-dark);
}

.akkc-panel {
    background: #fff;
    border: 1px solid var(--akkc-line);
    border-radius: var(--akkc-radius);
    box-shadow: var(--akkc-shadow);
    padding: 22px;
    margin-bottom: 18px;
}

.akkc-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.akkc-panel-head h2,
.akkc-panel-head h3 {
    color: var(--akkc-purple);
    font-weight: 600;
    margin: 0;
}

.akkc-muted {
    color: var(--akkc-muted);
    font-size: .92em;
}

.akkc-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: .82em;
    font-weight: 600;
    background: var(--akkc-soft);
    color: var(--akkc-purple);
    white-space: nowrap;
}

.akkc-badge--accent { background: var(--akkc-soft); color: var(--akkc-purple); }
.akkc-badge--good { background: var(--akkc-ok-bg); color: var(--akkc-ok); }
.akkc-badge--warn { background: #fbf1dd; color: #9a6400; }
.akkc-badge--bad { background: var(--akkc-danger-bg); color: var(--akkc-danger); }

/* --- Shtrati me shirit anesor (permbajtja + aside) --- */

.akkc-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 16px;
    align-items: start;
}

.akkc-main { min-width: 0; }

.akkc-side {
    position: sticky;
    top: 20px;
    display: grid;
    gap: 16px;
    min-width: 0;
}

.akkc-side-panel {
    background: #fff;
    border: 1px solid var(--akkc-line);
    border-radius: var(--akkc-radius);
    box-shadow: var(--akkc-shadow);
    overflow: hidden;
}

.akkc-side-panel .akkc-panel-head {
    margin: 0;
    padding: 14px 18px;
    border-bottom: 1px solid var(--akkc-line);
    background: var(--akkc-soft);
    color: var(--akkc-purple);
    font-weight: 600;
}

.akkc-side-panel--brand .akkc-panel-head {
    background: linear-gradient(135deg, #48207b, #6d5690);
    color: #fff;
    border-bottom: 0;
}

.akkc-side-body { padding: 18px; }

/* Numeruesi i progresit: madhesi teksti normale, 600, vjollce - si
   `.akkc-progress-big` e origjinalit (paneli anesor aty eshte i gjithi 14px). */
.akkc-side-big {
    font-weight: 600;
    color: var(--akkc-purple);
    margin: 0;
}

.akkc-side-bar {
    height: 8px;
    border-radius: 20px;
    background: #ece8f1;
    overflow: hidden;
    margin: 10px 0 12px;
}

.akkc-side-bar span {
    display: block;
    height: 100%;
    background: var(--akkc-teal);
    transition: width .2s;
}

.akkc-side-note {
    color: var(--akkc-muted);
    font-size: .85em;
    line-height: 1.5;
}

.akkc-side-label {
    font-weight: 600;
    color: var(--akkc-ink);
    font-size: .85em;
    margin: 14px 0 8px;
}

.akkc-side-panel .akkc-btn--block { margin-top: 12px; }

.akkc-side-saved {
    min-height: 1em;
    color: var(--akkc-ok);
    font-size: .82em;
    font-weight: 600;
    text-align: center;
    margin-top: 6px;
}

.akkc-review-sub {
    color: var(--akkc-ink);
    font-weight: 600;
    font-size: .95em;
    margin: 16px 0 6px;
}

.akkc-review-row.akkc-review-indent {
    padding-left: 18px;
    border-bottom: 1px dotted var(--akkc-line);
}

.akkc-review-row.akkc-review-indent .akkc-review-label {
    color: var(--akkc-muted);
    font-weight: 400;
}

.akkc-missing-list {
    display: grid;
    gap: 8px;
}

.akkc-missing-item {
    border: 1px solid var(--akkc-line);
    border-radius: 6px;
    padding: 8px 10px;
    color: var(--akkc-purple);
    font-weight: 600;
    font-size: .85em;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}

.akkc-missing-item:hover {
    border-color: var(--akkc-teal);
    background: var(--akkc-soft-2);
}

@media (max-width: 1060px) {
    .akkc-shell { grid-template-columns: 1fr; }
    .akkc-side { position: static; }
}

/* --- Stepper --- */

.akkc-stepper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
    margin: 0 0 20px;
    counter-reset: akkcstep;
}

.akkc-step {
    display: flex;
    align-items: center;
    border: 1px solid var(--akkc-line);
    background: #fff;
    border-radius: var(--akkc-radius);
    padding: 12px;
    min-height: 58px;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
    counter-increment: akkcstep;
    color: var(--akkc-purple);
    font-weight: 600;
    line-height: 1.15;
}

.akkc-step::before {
    content: counter(akkcstep) '. ';
    font-weight: 600;
    margin-right: 2px;
}

.akkc-step:hover {
    border-color: var(--akkc-teal);
    box-shadow: 0 0 0 2px rgba(0, 155, 147, .10);
}

.akkc-step.is-active {
    border-color: var(--akkc-teal);
    box-shadow: 0 0 0 2px rgba(0, 155, 147, .08);
    background: var(--akkc-soft-2);
}

@media (max-width: 1060px) {
    .akkc-stepper { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .akkc-stepper { grid-template-columns: 1fr; }
}

.akkc-step-panel {
    scroll-margin-top: 20px;
}

.akkc-progress-wrap {
    margin-top: 12px;
}

.akkc-progress-label {
    font-size: .82em;
    color: var(--akkc-muted);
    margin-bottom: 4px;
}

.akkc-progress-bar {
    height: 8px;
    border-radius: 20px;
    background: var(--akkc-soft);
    overflow: hidden;
}

.akkc-progress-bar span {
    display: block;
    height: 100%;
    background: var(--akkc-teal);
    transition: width .2s;
}

/* --- Grupe te palosshme (akordion), si origjinali - fillojne te mbyllura --- */

.akkc-collapsible-header {
    border: 1px solid var(--akkc-line);
    border-radius: var(--akkc-radius);
    background: var(--akkc-soft);
    padding: 14px 16px;
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px 14px;
    margin: 14px 0;
    color: var(--akkc-purple);
    font-weight: 600;
}

.akkc-collapsible-header .akkc-collapse-label {
    font-size: .85em;
    font-weight: 600;
    color: var(--akkc-teal-dark);
}

.akkc-collapsible-body.akkc-collapsed {
    display: none;
}

/* Trekendeshi qe hap/mbyll karten. Kutia e klikimit eshte e zgjeruar (28x28)
   qe klikimi te kapet edhe kur kursori nuk bie pikerisht mbi trekendesh;
   trekendeshi vizatohet ne qender permes ::after. */
.akkc-card-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0 2px;
    transition: transform .2s;
    cursor: pointer;
    vertical-align: middle;
}

.akkc-card-chevron::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid var(--akkc-muted);
}

.akkc-card-chevron:hover::after {
    border-top-color: var(--akkc-purple);
}

.akkc-card-chevron.is-collapsed {
    transform: rotate(-90deg);
}

.akkc-card-body.akkc-collapsed {
    display: none;
}

.akkc-doc-uploading {
    font-size: .85em;
    color: var(--akkc-muted);
    font-style: italic;
}

.akkc-doc-error {
    font-size: .85em;
    color: var(--akkc-danger);
    margin-top: 4px;
}

/* --- Forma --- */

.akkc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /* Hapesira vertikale eshte 3/4 e asaj horizontale, si me pare (12/18). */
    gap: calc(var(--akkc-gap) * .75) calc(var(--akkc-gap) * 1.125);
}

/* Fusha ne gjeresi te plote: origjinali i jep `layoutGridColumnSpan: 6`
   (gjysme rreshti) VETEM disa fushave; te tjerat zene rreshtin e tyre. */
.akkc-field--full {
    grid-column: 1 / -1;
}

@media (max-width: 640px) {
    .akkc-grid { grid-template-columns: 1fr; }
}

.akkc-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
    min-width: 0;
}

.akkc-field label {
    font-size: .88em;
    font-weight: 600;
    color: #403b49;
    margin-bottom: 0;
}

.akkc-req { color: var(--akkc-danger); }

.akkc-field input[type=text],
.akkc-field input[type=email],
.akkc-field input[type=tel],
.akkc-field input[type=date],
.akkc-field input[type=number],
.akkc-field select,
.akkc-field textarea,
[data-shpsf-field] {
    min-height: 46px;
    border: 1px solid #d9d4e3;
    border-radius: var(--akkc-field-radius);
    padding: 10px;
    font-size: var(--akkc-font-size);
    font-family: inherit;
    color: var(--akkc-ink);
    background: #fff;
    width: 100%;
}

.akkc-field select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 38px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2348207b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
}

.akkc-field input:focus,
.akkc-field select:focus,
.akkc-field textarea:focus {
    outline: none;
    border-color: var(--akkc-teal);
    box-shadow: var(--akkc-ring);
}

.akkc-field textarea {
    min-height: 80px;
    resize: vertical;
}

input[type=checkbox], input[type=radio] {
    accent-color: var(--akkc-teal);
}

/* --- Disa skedare per nje pozicion dokumenti --- */

.akkc-doc-files {
    list-style: none;
    margin: 0;
    padding: 0;
}

.akkc-doc-file {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 2px 0;
}

.akkc-doc-file + .akkc-doc-file {
    border-top: 1px dashed var(--akkc-line);
    padding-top: 5px;
    margin-top: 4px;
}

.akkc-doc-fileactions {
    display: inline-flex;
    gap: 8px;
    margin-left: auto;
}

/* Veprimet per skedar te vetem jane lidhje teksti, jo butona: butonat i takojne
   rreshtit (Ngarko/Shto skedar) dhe s'duhet te konkurrojne me ta. */
.akkc-linkbtn {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    font-size: 12px;
    color: var(--akkc-purple);
    text-decoration: underline;
    cursor: pointer;
}

.akkc-linkbtn--danger {
    color: #b32d2e;
}

/* Veglat ne krye te detajit te stafit (eksport + mbyll) qendrojne bashke. */
.akkc-detail-tools {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

/* --- Choice cards (radio/checkbox si karta, si origjinali) --- */

/**
 * Mbeshtjellesi i nje grupi radio/checkbox te renduar nga skema. Nuk shton
 * asnje pamje: ekziston vetem qe fusha te kete nje element te vetin per
 * `data-condition` dhe per klasat per-fushe. Pa margina/kufij, marzhi i
 * poshtem i `.akkc-choice-grid` bashkohet jashte tij, prandaj rezultati eshte
 * pamje-per-pamje i njejte me shabllonin qe e jep grupin pa mbeshtjelles.
 */
.akkc-choice-field {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
}

.akkc-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.akkc-choice-grid--wide {
    grid-template-columns: 1fr;
}

.akkc-choice-card {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    border: 1px solid var(--akkc-line);
    border-radius: var(--akkc-radius);
    padding: 13px;
    background: #fff;
    cursor: pointer;
    font-size: .92em;
    transition: border-color .15s, background .15s;
    min-width: 0;
}

.akkc-choice-card:hover {
    border-color: var(--akkc-teal);
}

.akkc-choice-card:has(input:checked) {
    border-color: var(--akkc-teal);
    background: var(--akkc-soft-2);
}

.akkc-choice-card input {
    accent-color: var(--akkc-teal);
    margin-top: 3px;
    flex-shrink: 0;
}

/* --- Butonat --- */

.akkc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid var(--akkc-teal);
    background: var(--akkc-teal);
    color: #fff;
    min-height: 44px;
    padding: 9px 20px;
    border-radius: 6px;
    font-size: .92em;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.2;
    transition: background .15s, border-color .15s, box-shadow .15s;
}

/* Butonat-link: temat e bllokut i ngjyrosin te gjitha <a>-te me ngjyren e tyre
   te linkut, e cila mbyste `color:#fff` te .akkc-btn dhe e linte tekstin
   jeshil-mbi-jeshil (te padukshem) te pilulat e "Aplikimet e mia". Rregullat
   me poshte kane specificitet me te larte se rregulli i temes per <a>. */
.akkc a.akkc-btn,
.akkc a.akkc-btn:hover,
.akkc a.akkc-btn:focus,
.akkc a.akkc-btn:visited {
    color: #fff;
    text-decoration: none;
}

.akkc a.akkc-btn.akkc-btn--ghost,
.akkc a.akkc-btn.akkc-btn--ghost:hover,
.akkc a.akkc-btn.akkc-btn--ghost:focus,
.akkc a.akkc-btn.akkc-btn--ghost:visited {
    color: var(--akkc-purple);
}

.akkc-btn:hover { background: var(--akkc-teal-dark); border-color: var(--akkc-teal-dark); }
.akkc-btn:focus-visible { outline: none; box-shadow: var(--akkc-ring); }
.akkc-btn:disabled { opacity: .5; cursor: not-allowed; }

.akkc-btn--ghost {
    background: #fff;
    color: var(--akkc-purple);
    border-color: var(--akkc-line);
}

.akkc-btn--ghost:hover { background: var(--akkc-soft); border-color: var(--akkc-purple-2); }

.akkc-btn--danger {
    background: var(--akkc-danger);
    border-color: var(--akkc-danger);
    color: #fff;
}

.akkc-btn--danger:hover { background: #b02f2f; border-color: #b02f2f; }

.akkc-btn--danger.akkc-btn--ghost {
    background: transparent;
    color: var(--akkc-danger);
}

.akkc-btn--danger.akkc-btn--ghost:hover { background: var(--akkc-danger-bg); }

/* --- Mbrojtje nga sfondi i temes pritese ne :focus/:active ---
   Disa tema (p.sh. ajo e nacc.gov.al) vendosin nje rregull gjenerik
   `button:focus, button:hover, [type=button]:focus... { background:#c36 }`.
   Ne kishim vetem `:hover` dhe `:focus-visible` (unaze), kurse `:focus`
   e thjeshte (klik me maus / tab me tastiere) e linte sfondin ne duart e
   temes -> butonat "ndriconin" roze. Rregullat me poshte ripohojne ngjyren
   baze ne :focus/:active. `:not(:hover)` siguron qe hover-i yne fiton kur
   butoni edhe rri pezull, edhe eshte i fokusuar (specificitet 0,3,0 > 0,1,1
   i temes, por nuk perplaset me .akkc-btn:hover 0,2,0). */
.akkc-btn:focus:not(:hover),
.akkc-btn:active:not(:hover) { background: var(--akkc-teal); border-color: var(--akkc-teal); }
.akkc-btn--ghost:focus:not(:hover),
.akkc-btn--ghost:active:not(:hover) { background: #fff; border-color: var(--akkc-line); }
.akkc-btn--danger:focus:not(:hover),
.akkc-btn--danger:active:not(:hover) { background: var(--akkc-danger); border-color: var(--akkc-danger); }
.akkc-btn--danger.akkc-btn--ghost:focus:not(:hover),
.akkc-btn--danger.akkc-btn--ghost:active:not(:hover) { background: transparent; }
.akkc-icon-btn:focus:not(:hover),
.akkc-icon-btn:active:not(:hover) { background: #fff; }
button.akkc-kpi:focus:not(:hover),
button.akkc-kpi:active:not(:hover) { background: #fff; }
.akkc-console-link:focus:not(:hover),
.akkc-console-link:active:not(:hover) { background: #fff; }
.akkc-console-link.is-active:focus:not(:hover),
.akkc-console-link.is-active:active:not(:hover) { background: var(--akkc-soft-2); }
/* Rrjeta e sigurise: cdo <button>/input i pastilizuar (pa klasen tone) brenda
   .akkc te mos marre ngjyren e temes ne hover/focus. */
.akkc button:not([class*="akkc-"]):hover,
.akkc button:not([class*="akkc-"]):focus,
.akkc [type=button]:not([class*="akkc-"]):hover,
.akkc [type=button]:not([class*="akkc-"]):focus,
.akkc [type=submit]:not([class*="akkc-"]):hover,
.akkc [type=submit]:not([class*="akkc-"]):focus { background-color: transparent; color: inherit; }

.akkc-btn--small {
    min-height: 0;
    padding: 5px 11px;
    font-size: .82em;
}

.akkc-btn--block {
    width: 100%;
    justify-content: center;
    padding-top: 12px;
    padding-bottom: 12px;
}

.akkc-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 22px;
}

/* --- Karta / persona / subjekte te treta --- */

.akkc-card,
.akkc-person-card {
    border: 1px solid var(--akkc-line);
    border-radius: var(--akkc-radius);
    background: #fff;
    margin: 14px 0;
    overflow: hidden;
}

.akkc-card--add {
    background: var(--akkc-soft-2);
}

.akkc-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--akkc-soft);
    border-bottom: 1px solid var(--akkc-line);
    padding: 10px 16px;
    cursor: pointer;
}

.akkc-card-head strong {
    color: var(--akkc-purple);
    font-weight: 600;
    font-size: 15px;
}

/* E gjithe koka klikohet per hap/mbyll; hover-i i lehte e ben te qarte. */
.akkc-card-head--toggle:hover {
    background: #eef0f3;
}

/* "Subjekti i tretë: …" ne te njejtin rresht me emrin dhe rolin (jo poshte). */
.akkc-card-tp {
    color: var(--akkc-muted);
    font-size: 13px;
}

.akkc-card-sub {
    color: #6b6875;
    font-size: 13px;
    font-weight: 600;
}

.akkc-card-body {
    padding: 14px 16px;
}

.akkc-card-tools {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
}

.akkc-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--akkc-line);
    background: #fff;
    color: var(--akkc-purple);
    border-radius: 7px;
    cursor: pointer;
    padding: 0;
    transition: background .15s, border-color .15s;
}

.akkc-icon-btn:hover {
    background: var(--akkc-soft);
    border-color: var(--akkc-purple-2);
}

.akkc-icon-btn--danger {
    color: var(--akkc-danger);
}

.akkc-icon-btn--danger:hover {
    background: var(--akkc-danger-bg);
    border-color: var(--akkc-danger);
}

.akkc-name-edit {
    gap: 8px;
}

.akkc-name-input {
    flex: 1;
    min-width: 0;
    border: 1px solid var(--akkc-teal);
    border-radius: 7px;
    padding: 8px 10px;
    font-size: .95em;
    font-family: inherit;
    color: var(--akkc-ink);
    box-shadow: var(--akkc-ring);
}

.akkc-name-actions {
    display: inline-flex;
    gap: 6px;
    flex-shrink: 0;
}

/* Note-blloqe ndihmese (helper teal) */

.akkc-annex-note,
.akkc-section-note {
    margin-top: 10px;
    color: #275f5a;
    background: #eefaf8;
    border-left: 4px solid var(--akkc-teal);
    border-radius: 0 6px 6px 0;
    padding: 10px 12px;
    font-weight: 500;
}

.akkc-doc-notes {
    background: var(--akkc-soft-2);
    border: 1px solid var(--akkc-line);
    border-left: 4px solid var(--akkc-teal);
    border-radius: 0 6px 6px 0;
    padding: 11px 14px;
    color: #4d4858;
    margin-top: 14px;
    font-size: .9em;
}

.akkc-doc-notes sup {
    font-size: .72em;
    font-weight: 700;
    color: var(--akkc-teal-dark);
}

/* --- Titujt, pershkrimet dhe shenjat e detyrueshmerise (si origjinali) --- */

/* Rripi i plote mbi titullin e formularit
   (`.gform_title::before{content:"Formular aplikimi online"}`): sfond i lehte
   qe shtrihet gjer ne skajet e panelit, tekst vjollce 15px/600. */
.akkc-eyebrow {
    background: var(--akkc-soft);
    color: var(--akkc-purple);
    font-size: 15px;
    font-weight: 600;
    margin: -22px -22px 25px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--akkc-line);
}

.akkc-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

/* Titulli: me shkronja te medha, i zi, 20px/600 - si `.gform_title`. */
.akkc-form-title {
    margin: 0;
    flex: 1 1 auto;
    color: #111;
    font-weight: 600;
    font-size: 20px;
    text-transform: uppercase;
    text-align: center;
}

.akkc-form-sub {
    color: var(--akkc-muted);
    font-size: .92em;
    margin: 0 0 6px;
    /* Teksti shtrihet sa gjeresia e formularit (jo i kufizuar ne gjysme faqe). */
    max-width: none;
}

/* Origjinali detyron 14px per CDO element brenda formularit
   (`font-size:14px !important` mbi wrapper-in dhe te gjithe pasardhesit), me
   perjashtim vetem te titullit (20px) dhe disa etiketave te vogla. Pa keto
   rregulla titujt trashegojne madhesite e temes (22px) dhe formulari del
   jashte peshe. */
.akkc h2,
.akkc h3,
.akkc h4,
.akkc h5 {
    font-size: var(--akkc-heading-size);
    line-height: 1.35;
}

.akkc .akkc-form-title {
    font-size: var(--akkc-title-size);
}

.akkc .akkc-eyebrow {
    font-size: var(--akkc-heading-size);
}

/* Titulli i seksionit riprodhon `.gsection` e origjinalit: vije vjollce 4px
   majtas, vije e holle poshte, tekst vjollce 600. */
.akkc-section-title {
    margin: 24px 0 14px;
    padding: 0 0 8px 12px;
    border-left: 4px solid var(--akkc-purple);
    border-bottom: 1px solid var(--akkc-line);
    color: var(--akkc-purple);
    font-weight: 600;
}

.akkc-step-panel > .akkc-section-title:first-child {
    margin-top: 0;
}

/* Nen-seksionet: pa vije majtas (si `.gsection.akkc-subsection`). */
.akkc-subsection-title {
    margin: 24px 0 12px;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--akkc-line);
    color: var(--akkc-purple);
    font-weight: 600;
}

/* Pershkrimi i seksionit (GF `gsection_description`) - i pjerret, si origjinali. */
.akkc-section-desc {
    color: var(--akkc-muted);
    font-style: italic;
    font-size: .9em;
    margin: 6px 0 12px;
    /* Teksti shtrihet sa gjeresia e faqes (jo i kufizuar ne gjysme). */
    max-width: none;
}

/* Etikete grupi per fusha radio/checkbox qe s'kane nje <label> te vetin. */
.akkc-field-label {
    font-size: .88em;
    font-weight: 600;
    color: #403b49;
    margin: 14px 0 6px;
}

.akkc-req {
    color: var(--akkc-danger);
    font-weight: 700;
}

.akkc-list-count {
    font-size: .85em;
    color: var(--akkc-muted);
    margin: 10px 0 2px;
}

.akkc-extra-note {
    color: var(--akkc-muted);
    font-size: .9em;
    margin: 0 0 12px;
    max-width: none;
}

/* Kolonat e formes se shtimit te subjektit te trete ("Te dhenat e subjektit" /
   "Te dhenat e administratorit"), si ne karten origjinale. */
.akkc-adder-col-title {
    margin: 0 0 8px;
    font-size: .82em;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--akkc-muted);
}

/* --- Njoftimet e faqes se rishikimit --- */

.akkc-notice {
    border: 1px solid var(--akkc-line);
    border-left: 4px solid var(--akkc-teal);
    background: var(--akkc-ok-bg);
    color: #275f5a;
    border-radius: 0 var(--akkc-radius) var(--akkc-radius) 0;
    padding: 11px 14px;
    margin: 0 0 12px;
    font-size: .9em;
}

/* Forma "Ridërgo linkun e aktivizimit" te porta e hyrjes. */
.akkc-auth-resend {
    display: grid;
    gap: 6px;
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px dashed var(--akkc-line);
    border-radius: var(--akkc-radius);
    background: var(--akkc-soft);
}

.akkc-auth-resend label {
    font-weight: 600;
    font-size: .85em;
    color: var(--akkc-ink);
}

.akkc-auth-resend input {
    width: 100%;
}

.akkc-auth-resend button {
    justify-self: start;
}

.akkc-notice.akkc-review-warning {
    border-left-color: var(--akkc-danger);
    background: var(--akkc-danger-bg);
    color: #8f2f2f;
}

/* Konfirmimi pas dorezimit (si `.akkc-confirm` e formularit origjinal). */
.akkc-confirm {
    border: 1px solid var(--akkc-ok);
    background: var(--akkc-ok-bg);
    border-radius: var(--akkc-radius);
    padding: 16px 18px;
    margin: 0 0 14px;
}

.akkc-confirm h3 {
    margin: 0 0 6px;
    color: var(--akkc-ok);
}

.akkc-confirm p {
    margin: 0;
    color: #275f5a;
}

.akkc-print-row {
    text-align: right;
    margin-bottom: 12px;
}

.akkc-review-title {
    margin: 0 0 4px;
    font-size: 1.15em;
    letter-spacing: .02em;
    color: var(--akkc-purple);
}

.akkc-review-lead {
    margin: 0 0 18px;
    font-size: .86em;
    color: var(--akkc-muted);
}

/* Paragrafi mbyilles i vetedeklarimit G (klasa `word-instruction` e origjinalit). */
.akkc-word-instruction {
    margin: 8px 0 0;
    font-style: italic;
    color: #4d4858;
}

/* --- Dokumente --- */

.akkc-doc-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 14px 0;
}

/* Tabela e dokumenteve riprodhon kolonat e origjinalit:
   Nr. | Dokumenti | Statusi | Ngarko (shih injectDocHeads()). Kolonat jane te
   njejta per koken dhe per rreshtat, keshtu qe titujt rrine mbi permbajtjen e
   tyre; nen 780px rreshti shpaloset vertikalisht dhe koka fshihet. */
.akkc-doc-thead,
.akkc-doc-row {
    display: grid;
    grid-template-columns: 55px minmax(0, 1fr) 190px minmax(180px, 255px);
    align-items: start;
    gap: 6px 14px;
}

/* Koka e tabeles: sfond i lehte, tekst i zakonshem 600 - jo me shkronja te
   medha e te harkuara, si `.akkc-doc-thead` e origjinalit. */
.akkc-doc-thead {
    border: 1px solid var(--akkc-line);
    border-radius: 8px 8px 0 0;
    background: var(--akkc-soft);
    padding: 10px 14px;
    font-weight: 600;
    color: #403b49;
}

.akkc-doc-row {
    border: 1px solid var(--akkc-line);
    border-top: 0;
    background: #fff;
    padding: 11px 14px;
}

.akkc-doc-list .akkc-doc-row:first-child {
    border-top: 1px solid var(--akkc-line);
    border-radius: 8px 8px 0 0;
}

.akkc-doc-list .akkc-doc-thead + .akkc-doc-row {
    border-top: 0;
    border-radius: 0;
}

.akkc-doc-list .akkc-doc-row:last-child {
    border-radius: 0 0 8px 8px;
}

.akkc-doc-row .akkc-doc-num {
    color: #6b6875;
    font-weight: 500;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.akkc-doc-row .akkc-doc-label {
    min-width: 0;
    font-weight: 600;
    color: #34313d;
}

.akkc-doc-row .akkc-doc-status {
    min-width: 0;
    font-weight: 600;
    word-break: break-word;
}

/* Emri i skedarit te ngarkuar: jeshile e nenvizuar, si `okf` e origjinalit.
   Rri te kolona "Ngarko" (kerkese e pronarit), jo te "Statusi". */
.akkc-doc-row .akkc-doc-actions a {
    color: var(--akkc-ok);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    overflow-wrap: anywhere;
}

/* Kolona "Ngarko" mban listen e skedareve SIPER butonit te ngarkimit,
   prandaj rreshtohet vertikalisht dhe jo si nje rresht i vetem. */
.akkc-doc-row .akkc-doc-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.akkc-doc-row .akkc-doc-actions .akkc-doc-files {
    width: 100%;
    text-align: right;
}

/* "Mungon" eshte i kuq ne origjinal (`miss`), qe mungesa te bjere ne sy. */
.akkc-doc-missing {
    color: var(--akkc-danger);
    font-weight: 600;
}

/* Rreshti i dokumentit ne panelin e stafit: etiketa merr hapesiren, veprimet
   rrine te vogla ne skajin e djathte. */
.akkc-doc-row--staff {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 14px;
    flex-wrap: wrap;
}

.akkc-doc-row--staff .akkc-doc-label {
    flex: 1 1 260px;
    font-weight: 500;
}

.akkc-doc-row--staff .akkc-doc-actions {
    flex: 0 0 auto;
}

/* Buton shume i vogel - per veprimet dytesore brenda rreshtave. */
.akkc-btn--tiny {
    min-height: 0;
    padding: 4px 10px;
    font-size: .78em;
    border-radius: 5px;
}

/* Rreshti-koke i grupit te anekseve ("Vetëdeklarime") dhe rreshtat e tij te
   zhvendosur - si `.akkc-annex-head` / `.akkc-annex` te origjinalit, ku
   rreshtat e aneksit nuk kane vije ndarese dhe teksti hyn 18px brenda. */
/* Koka e grupit eshte tekst i erret mbi sfond te lehte, ndersa TITUJT E
   ANEKSEVE jane vjollce me identim - pikerisht anasjelltas nga sa dukej me
   pare (krh. `ghead`/`tAnnex` te origjinalit). */
.akkc-doc-row.akkc-annex-head {
    background: var(--akkc-soft-2);
}

.akkc-doc-row.akkc-annex-head .akkc-doc-label strong {
    color: #35313d;
}

.akkc-doc-row.akkc-annex-row .akkc-doc-label strong,
.akkc-doc-row.akkc-annex-row .akkc-annex-dl {
    color: var(--akkc-purple);
    font-weight: 600;
}

.akkc-doc-row.akkc-annex-row {
    border-bottom: 0;
}

.akkc-doc-row.akkc-annex-row + .akkc-doc-row:not(.akkc-annex-row) {
    border-top: 1px solid var(--akkc-line);
}

.akkc-doc-row.akkc-annex-row .akkc-doc-label,
.akkc-doc-row.akkc-annex-row .akkc-doc-help {
    padding-left: 18px;
}

/* Fushe e paplotesuar ne formularet e shtimit: korniza e kuqe + mesazh poshte,
   pikerisht aty ku po shikon perdoruesi. */
.akkc-input-error,
.akkc .akkc-input-error:focus {
    border-color: var(--akkc-danger) !important;
    box-shadow: 0 0 0 2px rgba(201, 56, 56, .12);
}

/* --- Konsola: panel anesor navigimi + permbajtja (shortcode [akkc_paneli]) --- */

.akkc-console {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.akkc-console-nav {
    position: sticky;
    top: 20px;
    border: 1px solid var(--akkc-line);
    border-radius: var(--akkc-radius);
    background: #fff;
    box-shadow: var(--akkc-shadow);
    overflow: hidden;
}

.akkc-console-nav-head {
    padding: 12px 16px;
    background: var(--akkc-soft);
    border-bottom: 1px solid var(--akkc-line);
    color: var(--akkc-purple);
    font-weight: 600;
}

.akkc-console-link {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    border-bottom: 1px solid var(--akkc-line);
    background: #fff;
    padding: 12px 16px;
    cursor: pointer;
    font-family: inherit;
    text-decoration: none;
}

.akkc-console-link:last-child {
    border-bottom: 0;
}

.akkc-console-link:hover {
    background: var(--akkc-soft-2);
}

.akkc-console-link.is-active {
    background: var(--akkc-soft-2);
    box-shadow: inset 3px 0 0 var(--akkc-teal);
}

.akkc-console-link-label {
    display: block;
    color: var(--akkc-purple);
    font-weight: 600;
}

/* `white-space: normal` eshte i detyrueshem: tema e nacc.gov.al vendos
   `nowrap` mbi keto elemente dhe pershkrimi pritej nga kufiri i panelit. */
.akkc .akkc-console-link-label,
.akkc .akkc-console-link-desc {
    white-space: normal;
    overflow-wrap: anywhere;
}

.akkc .akkc-console-link-desc {
    display: block;
    margin-top: 2px;
    color: var(--akkc-muted);
    font-size: 12px;
    line-height: 1.35;
}

.akkc-console-link--action .akkc-console-link-label {
    color: var(--akkc-teal-dark);
}

@media (max-width: 900px) {
    .akkc-console {
        grid-template-columns: minmax(0, 1fr);
    }

    .akkc-console-nav {
        position: static;
    }
}

/* Teksti hyres i portes se hyrjes (si faqja reale nacc.gov.al/apliko-2). */
.akkc-auth-intro {
    margin: 0 0 16px;
    color: var(--akkc-muted);
    font-size: .92em;
    line-height: 1.55;
}

.akkc-field-error {
    color: var(--akkc-danger);
    font-size: .85em;
    font-weight: 600;
    margin-top: 4px;
}

.akkc-group-status {
    color: var(--akkc-danger);
    font-weight: 600;
}

.akkc-group-status.is-ok {
    color: var(--akkc-ok);
}

/* Etiketa te vogla: roli i personit dhe aktivitetet (emrat e shkurter). */
/* Etiketat e aktiviteteve: pilula te bardha me kufi dhe tekst vjollce, ne nje
   rresht te vetin poshte emrit (`badges`/`badge` te origjinalit). */
.akkc-tag {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--akkc-soft-2);
    color: var(--akkc-purple);
    border: 1px solid var(--akkc-line);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.akkc-card-badges {
    flex: 1 1 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
    order: 4;
}

/* Roli eshte tekst i thjeshte gri, jo pilule - si `role` e origjinalit. */
.akkc-tag--role {
    background: none;
    border: 0;
    padding: 0;
    color: #6b6875;
    font-weight: 600;
    font-size: 13px;
}

/* Nen-titull brenda bllokut te te dhenave ne panelin e stafit. */
.akkc-review-sub {
    margin: 14px 0 4px;
    font-size: .9em;
    font-weight: 600;
    color: var(--akkc-purple);
}

.akkc-list-title {
    font-weight: 600;
    color: var(--akkc-purple);
    margin: 16px 0 2px;
}

@media (max-width: 780px) {
    .akkc-doc-thead {
        display: none;
    }

    .akkc-doc-row {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .akkc-doc-row .akkc-doc-status,
    .akkc-doc-row .akkc-doc-actions {
        grid-column: 2;
        justify-content: flex-start;
    }
}

/* Teksti ndihmes: i pjerret dhe i erret (#222), si `h` e origjinalit -
   jo gri i zbehte, sepse permban kushte ligjore qe duhen lexuar. */
.akkc-doc-help {
    color: #222;
    font-style: italic;
    margin: 2px 0 0;
    font-weight: 400;
}

.akkc-doc-row .akkc-doc-dl {
    font-size: .82em;
    font-weight: 400;
}

/* Titulli i aneksit eshte vete linku i shkarkimit te modelit (si origjinali:
   "Klikoni titullin e aneksit per te shkarkuar modelin") - dukje si titull,
   jo si link gjenerik. */
.akkc-annex-dl {
    color: var(--akkc-purple);
    text-decoration: none;
    border-bottom: 1px dotted var(--akkc-teal);
}

.akkc-annex-dl:hover {
    color: var(--akkc-teal-dark);
    border-bottom-style: solid;
}

.akkc-doc-row label.akkc-btn,
.akkc-doc-row .akkc-btn {
    flex: 0 0 auto;
}

/* --- Vetedeklarime (kartat dy-pjesesh, si origjinali) --- */

.akkc-declaration-card {
    border: 1px solid var(--akkc-line);
    border-radius: var(--akkc-radius);
    margin: 14px 0;
    overflow: hidden;
}

.akkc-declaration-head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    background: var(--akkc-soft);
    border-bottom: 1px solid var(--akkc-line);
    cursor: pointer;
    font-weight: 600;
    color: var(--akkc-purple);
    font-size: .92em;
}

.akkc-declaration-head input { margin-top: 3px; }

.akkc-declaration-body {
    padding: 14px 16px;
    font-size: .9em;
    color: #403b49;
    line-height: 1.55;
}

.akkc-declaration-body p { margin: 0 0 10px; }
.akkc-declaration-body p:last-child { margin-bottom: 0; }
.akkc-declaration-body ul { margin: 8px 0; padding-left: 20px; }
.akkc-declaration-body li { margin-bottom: 6px; }

.word-instruction {
    color: var(--akkc-muted);
    font-style: italic;
}

/* --- Rishikimi (hapi 6) --- */

.akkc-review-paper {
    border: 1px solid var(--akkc-line);
    background: #fff;
    border-radius: var(--akkc-radius);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .04);
    padding: 26px;
}

.akkc-review-paper h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    color: var(--akkc-purple);
    border-bottom: 1px solid var(--akkc-line);
    padding-bottom: 10px;
    margin: 24px 0 14px;
}

.akkc-review-paper h3:first-child { margin-top: 0; }

.akkc-review-row {
    display: grid;
    grid-template-columns: 310px 1fr;
    gap: 12px;
    border-bottom: 1px dashed #ddd;
    padding: 6px 0;
    font-size: .9em;
}

.akkc-review-label {
    font-weight: 600;
    color: #4f4a59;
}

.akkc-review-row > :last-child {
    font-weight: 500;
    color: #222;
}

@media (max-width: 1060px) {
    .akkc-review-row { grid-template-columns: 1fr; }
}

.akkc-review-edit {
    border: 1px solid var(--akkc-purple);
    color: var(--akkc-purple);
    background: #fff;
    border-radius: 6px;
    padding: 4px 14px;
    font-weight: 600;
    font-size: .8em;
    cursor: pointer;
    transition: background .15s;
}

.akkc-review-edit:hover { background: var(--akkc-soft); }

/* Vetem kur printimi niset nga butoni "Printo" i rishikimit (JS i shton
   body-t klasen akkc-printing) - nje rregull global do bente qe Ctrl+P ne
   cdo faqe tjeter te dashboard-it te printonte nje flete bosh. */
@media print {
    body.akkc-printing * { visibility: hidden; }
    body.akkc-printing .akkc-review-paper, body.akkc-printing .akkc-review-paper * { visibility: visible; }
    body.akkc-printing .akkc-review-paper { position: absolute; left: 0; top: 0; width: 100%; }
}

/* --- Tabela (staf/admin) --- */

.akkc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .92em;
}

.akkc-table th,
.akkc-table td {
    text-align: left;
    padding: 9px 10px;
    border-bottom: 1px solid var(--akkc-line);
    vertical-align: top;
}

.akkc-table th {
    color: var(--akkc-muted);
    font-weight: 600;
    font-size: .85em;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.akkc-table tr:hover td { background: var(--akkc-soft-2); }

/* Rreshti i klikueshem (paneli i stafit): i gjithe rreshti hap detajin. */
.akkc-row--click { cursor: pointer; }
.akkc-row--click.is-active td {
    background: var(--akkc-soft);
    box-shadow: inset 3px 0 0 var(--akkc-teal);
}

/* --- Numeruesit e krye-panelit (KPI) --- */

.akkc-kpi-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.akkc-kpi {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: left;
    background: #fff;
    border: 1px solid var(--akkc-line);
    border-left: 4px solid var(--akkc-purple);
    border-radius: var(--akkc-radius);
    padding: 12px 14px;
    transition: border-color .15s, box-shadow .15s;
}

/* Vetem numeruesit-buton (paneli i stafit) klikohen; ata te adminit jane
   thjesht informues, prandaj nuk marrin kursor dore. */
button.akkc-kpi { cursor: pointer; }
button.akkc-kpi:hover { box-shadow: var(--akkc-shadow); }
.akkc-kpi.is-active { box-shadow: 0 0 0 2px var(--akkc-teal); }
.akkc-kpi--accent { border-left-color: var(--akkc-teal); }
.akkc-kpi--warn { border-left-color: #9a6400; }
.akkc-kpi--good { border-left-color: var(--akkc-ok); }
.akkc-kpi--bad { border-left-color: var(--akkc-danger); }
.akkc-kpi--good .akkc-kpi-num { color: var(--akkc-ok); }
.akkc-kpi--bad .akkc-kpi-num { color: var(--akkc-danger); }

.akkc-kpi-num {
    font-size: 1.7em;
    font-weight: 700;
    color: var(--akkc-purple);
    line-height: 1.1;
}

.akkc-kpi-label {
    font-size: .82em;
    color: var(--akkc-muted);
    font-weight: 600;
}

/* Përmbledhja "Sipas statusit" (paneli i adminit): pllakëza kompakte ne vend
   te kartave te medha bosh, ne linje me rreshtin e KPI-ve me siper. Vlen si per
   renderimin server-side ashtu edhe per ate me JS (te dy shkruajne ne
   #akkc-summary-content me .akkc-grid > .akkc-card). CSS-only, pa ndryshim markup. */
#akkc-summary-content .akkc-grid {
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
    gap: 12px;
    margin: 6px 0 4px;
}
#akkc-summary-content .akkc-grid .akkc-card {
    margin: 0;
    padding: 11px 14px;
    border-left: 4px solid var(--akkc-line);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
#akkc-summary-content .akkc-grid .akkc-card p { margin: 0; }
#akkc-summary-content .akkc-grid .akkc-card p strong {
    font-size: 1.7em;
    font-weight: 700;
    color: var(--akkc-purple);
    line-height: 1;
}

/* Kuti keshille (p.sh. drejto adminin te ndertuesi i formularit). */
.akkc-note-box {
    background: var(--akkc-soft-2);
    border: 1px solid var(--akkc-line);
    border-left: 4px solid var(--akkc-teal);
    border-radius: 0 var(--akkc-radius) var(--akkc-radius) 0;
    padding: 10px 14px;
    margin-bottom: 14px;
    font-size: .9em;
    line-height: 1.5;
}

/* --- Dokumentet ne detajin e stafit --- */

.akkc-doc-group-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 18px 0 8px;
}

.akkc-doc-group-head h4 { margin: 0; }

.akkc-doc-counts {
    font-size: .82em;
    color: var(--akkc-muted);
    font-weight: 600;
}

.akkc-doc-item { margin-bottom: 6px; }

.akkc-doc-note {
    margin-top: 4px;
    font-size: .85em;
}

/* Kutia e arsyes (rrezim dokumenti / kerko dokumente) - shfaqet ne vend,
   jo si prompt() ne cep te ekranit. */
.akkc-reject-box {
    margin: 6px 0 10px;
    padding: 10px;
    background: var(--akkc-danger-bg);
    border: 1px solid rgba(201, 56, 56, .25);
    border-radius: var(--akkc-radius);
}

.akkc-reject-box textarea {
    width: 100%;
    border: 1px solid #d9d4e3;
    border-radius: 6px;
    padding: 8px;
    font-family: inherit;
    font-size: .9em;
    margin-bottom: 8px;
}

.akkc-errors {
    background: var(--akkc-danger-bg);
    color: var(--akkc-danger);
    border: 1px solid rgba(201, 56, 56, .25);
    border-radius: var(--akkc-radius);
    padding: 12px 14px;
    margin-bottom: 14px;
    font-size: .92em;
}

.akkc-errors ul { margin: 6px 0 0; padding-left: 18px; }

.akkc-toast {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: var(--akkc-ink);
    color: #fff;
    padding: 11px 18px;
    border-radius: 8px;
    font-size: .9em;
    z-index: 9999;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
}

.akkc-toast--error { background: var(--akkc-danger); }
.akkc-toast--good { background: var(--akkc-ok); }

.akkc-hidden { display: none !important; }

.akkc-notes {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.akkc-note {
    border-left: 3px solid var(--akkc-teal);
    padding: 8px 12px;
    background: var(--akkc-soft-2);
    border-radius: 0 6px 6px 0;
    font-size: .9em;
}

.akkc-note-meta {
    font-size: .8em;
    color: var(--akkc-muted);
    margin-top: 4px;
}

.akkc-note--internal { border-left-color: #9a6400; }

.akkc-filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.akkc-filters input,
.akkc-filters select {
    border: 1px solid #d9d4e3;
    border-radius: 6px;
    padding: 7px 10px;
    font-size: .9em;
}

.akkc-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--akkc-line);
    flex-wrap: wrap;
}

.akkc-tab {
    padding: 9px 4px;
    margin-right: 14px;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    color: var(--akkc-muted);
    font-weight: 600;
    font-size: .92em;
}

.akkc-tab.is-active {
    color: var(--akkc-teal);
    border-bottom-color: var(--akkc-teal);
}

.akkc-empty {
    color: var(--akkc-muted);
    font-style: italic;
    font-size: .92em;
    padding: 10px 0;
}

.akkc-json-editor textarea {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .82em;
    min-height: 220px;
}

/* --- Porta e hyrjes/regjistrimit (akkc_apliko / akkc_paneli pa kyçje) ---
   Gradienti i vjollces eshte i njejti i perdorur ne banderolat e sajtit
   real (48207b -> 6d5690) - koka e kartes mban identitetin e agjencise. */

.akkc-auth-wrap {
    max-width: 460px;
    margin: 32px auto;
}

.akkc-auth-card {
    background: #fff;
    border: 1px solid var(--akkc-line);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(72, 32, 123, .10);
}

.akkc-auth-brand {
    background: linear-gradient(135deg, #48207b 0%, #6d5690 100%);
    color: #fff;
    padding: 26px 26px 22px;
}

.akkc-auth-brand .akkc-auth-eyebrow {
    font-size: .72em;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .85;
    margin-bottom: 6px;
}

.akkc-auth-brand h2 {
    color: #fff;
    margin: 0;
    font-size: 1.35em;
    font-weight: 800;
    line-height: 1.2;
}

.akkc-auth-body {
    padding: 22px 26px 26px;
}

.akkc-auth-seg {
    display: flex;
    background: var(--akkc-soft);
    border-radius: 999px;
    padding: 4px;
    margin-bottom: 20px;
}

.akkc-auth-seg .akkc-seg-btn {
    flex: 1;
    text-align: center;
    padding: 9px 12px;
    border-radius: 999px;
    font-size: .9em;
    font-weight: 700;
    color: var(--akkc-muted);
    cursor: pointer;
    border: 0;
    background: transparent;
    font-family: inherit;
}

.akkc-auth-seg .akkc-seg-btn.is-active {
    background: #fff;
    color: var(--akkc-purple);
    box-shadow: 0 2px 8px rgba(52, 49, 61, .12);
}

.akkc-pass-wrap {
    position: relative;
}

.akkc-pass-wrap input {
    padding-right: 64px;
}

.akkc-pass-toggle {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: var(--akkc-teal);
    font-size: .78em;
    font-weight: 700;
    cursor: pointer;
    padding: 6px 8px;
    font-family: inherit;
}

.akkc-auth-help {
    font-size: .8em;
    color: var(--akkc-muted);
    margin: 4px 0 0;
}

.akkc-auth-foot {
    text-align: center;
    font-size: .82em;
    color: var(--akkc-muted);
    margin-top: 16px;
}

/* --- Respekto preferencen per levizje te reduktuar --- */
@media (prefers-reduced-motion: reduce) {
    .akkc *,
    .akkc *::before,
    .akkc *::after {
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
    }
}

/* --- Widget "Keni pyetje?" (vetëm në formularin e aplikuesit) ---
   Pozicionuar lart-majtas nga këndi poshtë-djathtas: tema e nacc.gov.al ka
   tashmë një buton "scroll to top" (#akkc-top, fixed right:37/bottom:22, 48x48,
   z-index 99998) pikërisht aty; pa këtë zhvendosje butonat mbivendoseshin (dhe
   scroll-to-top-i, me z-index shumë të lartë, e mbulonte tonën). z-index këtu
   është mbi të, që modali të mbetet plotësisht i klikueshëm. */
.akkc-ask-floating {
    position: fixed;
    right: 92px;
    bottom: 96px;
    z-index: 100000;
}
.akkc-ask-btn {
    border: 1px solid var(--akkc-teal);
    background: var(--akkc-teal);
    color: #fff;
    border-radius: 999px;
    padding: 12px 20px;
    font-family: var(--akkc-font);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
    cursor: pointer;
}
.akkc-ask-btn:hover { background: var(--akkc-teal-dark); border-color: var(--akkc-teal-dark); }
.akkc-ask-btn:focus:not(:hover),
.akkc-ask-btn:active:not(:hover) { background: var(--akkc-teal); border-color: var(--akkc-teal); }
.akkc-ask-btn:focus-visible { outline: none; box-shadow: 0 8px 22px rgba(0, 0, 0, .18), var(--akkc-ring); }

.akkc-ask-modal {
    position: fixed;
    right: 92px;
    bottom: 156px;
    width: min(420px, calc(100vw - 32px));
    background: #fff;
    border: 1px solid var(--akkc-line);
    border-radius: 10px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, .22);
    z-index: 100001;
    display: none;
    overflow: hidden;
}
.akkc-ask-modal.is-open { display: block; }

.akkc-ask-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    background: var(--akkc-soft);
    border-bottom: 1px solid var(--akkc-line);
    padding: 14px 16px;
    color: var(--akkc-purple);
    font-weight: 700;
}
.akkc-ask-close {
    border: 0;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    color: var(--akkc-purple);
    cursor: pointer;
    padding: 0;
}
.akkc-ask-close:hover { color: var(--akkc-teal-dark); }
.akkc-ask-close:focus:not(:hover),
.akkc-ask-close:active:not(:hover) { background: transparent; }

.akkc-ask-body {
    padding: 16px;
    display: grid;
    gap: 12px;
}
.akkc-ask-field label {
    display: block;
    font-weight: 600;
    color: #403b49;
    margin-bottom: 6px;
}
.akkc-ask-field input,
.akkc-ask-field textarea {
    width: 100%;
    min-height: 42px;
    border: 1px solid #d9d4e3;
    border-radius: var(--akkc-field-radius);
    padding: 9px 10px;
    color: var(--akkc-ink);
    background: #fff;
    font-family: var(--akkc-font);
    font-size: 14px;
    box-sizing: border-box;
}
.akkc-ask-field textarea { min-height: 110px; resize: vertical; }
.akkc-ask-field input:focus,
.akkc-ask-field textarea:focus {
    outline: none;
    border-color: var(--akkc-teal);
    box-shadow: var(--akkc-ring);
}
.akkc-ask-consent {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    color: #403b49;
    font-size: 13px;
}
.akkc-ask-consent input { margin-top: 3px; accent-color: var(--akkc-teal); flex-shrink: 0; }
.akkc-ask-submit {
    min-height: 44px;
    border: 1px solid var(--akkc-teal);
    border-radius: var(--akkc-field-radius);
    background: var(--akkc-teal);
    color: #fff;
    font-family: var(--akkc-font);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}
.akkc-ask-submit:hover { background: var(--akkc-teal-dark); border-color: var(--akkc-teal-dark); }
.akkc-ask-submit:focus:not(:hover),
.akkc-ask-submit:active:not(:hover) { background: var(--akkc-teal); border-color: var(--akkc-teal); }
.akkc-ask-submit:disabled { opacity: .6; cursor: not-allowed; }
.akkc-ask-success {
    display: none;
    border-left: 4px solid var(--akkc-ok);
    background: var(--akkc-ok-bg);
    color: var(--akkc-ok);
    padding: 10px 12px;
    border-radius: 0 6px 6px 0;
    font-weight: 600;
}
.akkc-ask-error {
    display: none;
    color: var(--akkc-danger);
    font-weight: 600;
}
@media (max-width: 640px) {
    .akkc-ask-floating { right: 14px; bottom: 84px; }
    .akkc-ask-modal { right: 14px; bottom: 142px; }
}

/* Numri i personit para emrit (#14). */
.akkc-person-num { color: var(--akkc-teal-dark); font-weight: 700; }

/* Statusi "Ngarkuar" (jeshil) mbi listen e skedareve te ngarkuar (#11). */
.akkc-doc-uploaded {
    display: inline-block;
    color: var(--akkc-ok);
    font-weight: 700;
    font-size: .82em;
    margin-bottom: 4px;
}

/* --- Lista e fushave qe mungojne ---
   E njejta pamje si per nje hap te vetem ashtu edhe per permbledhjen ne dorezim:
   nje kokë me numratorin, pastaj zerat si rreshta te klikueshem qe te çojne
   pikerisht te fusha (jo thjesht te seksioni). */

.akkc-step-errors { margin-bottom: 16px; }

.akkc-missing-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
}

.akkc-missing-count {
    flex: 0 0 auto;
    min-width: 30px;
    height: 30px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--akkc-danger);
    color: #fff;
    font-weight: 700;
    font-size: .9em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.akkc-missing-hint {
    color: var(--akkc-muted);
    font-weight: 400;
    font-size: .85em;
    margin-top: 2px;
    line-height: 1.45;
}

.akkc-missing-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 6px;
}

.akkc-missing-items li { margin: 0; }

.akkc-missing-items .akkc-missing-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--akkc-line);
    border-left: 3px solid var(--akkc-danger);
    border-radius: 6px;
    background: #fff;
    color: var(--akkc-purple);
    font-weight: 600;
    font-size: .87em;
    text-decoration: none;
    transition: border-color .15s, background .15s, transform .15s;
}

/* Shigjeta ndertohet me CSS (pa glife unicode - shih kufizimin 8 te projektit). */
.akkc-missing-items .akkc-missing-link::after {
    content: '';
    margin-left: auto;
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--akkc-teal);
    border-right: 2px solid var(--akkc-teal);
    transform: rotate(45deg);
}

.akkc-missing-items .akkc-missing-link:hover,
.akkc-missing-items .akkc-missing-link:focus {
    border-color: var(--akkc-teal);
    border-left-color: var(--akkc-teal);
    background: var(--akkc-soft-2);
}

.akkc-missing-text { overflow-wrap: anywhere; }

.akkc-missing-group { margin-top: 14px; }

.akkc-missing-step-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: var(--akkc-purple);
    font-size: .9em;
    margin-bottom: 6px;
}

.akkc-missing-step-link {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.akkc-missing-step-link:hover { border-bottom-color: var(--akkc-teal); }

.akkc-missing-badge {
    background: var(--akkc-soft);
    color: var(--akkc-muted);
    border-radius: 999px;
    padding: 1px 8px;
    font-size: .82em;
    font-weight: 600;
}

/* Ndezja e shkurter e fushes tek e cila sapo u shkua. */
.akkc-flash {
    animation: akkc-flash 1.6s ease-out;
    border-radius: 6px;
}

@keyframes akkc-flash {
    0%   { box-shadow: 0 0 0 3px rgba(0, 155, 147, .45); }
    100% { box-shadow: 0 0 0 3px rgba(0, 155, 147, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .akkc-flash { animation: none; box-shadow: 0 0 0 3px rgba(0, 155, 147, .35); }
}

/* --- Zona e zvarritjes per ngarkim / Drag & drop (#13) ---
   Etiketat e ngarkimit (butona "Ngarko" / "+ Shto dokument tjeter" qe
   mbeshtjellin nje <input type=file>) marrin klasen `akkc-dropzone` nga JS-ja,
   dhe `akkc-dragover` sa here nje skedar zvarritet siper tyre. Pamja normale e
   butonit NUK ndryshon; vetem gjendja aktive shfaq nje kornize teal me vija te
   nderprera + sfond te lehte teal, qe perdoruesi te shohe qarte ku bie skedari. */
.akkc-dropzone {
    position: relative;
}

.akkc-dropzone.akkc-dragover {
    outline: 2px dashed var(--akkc-teal);
    outline-offset: 2px;
    background: var(--akkc-soft);
    border-color: var(--akkc-teal);
}

/* --- Fushat e medha te pershkrimit ne hapin 2 (#23) ---
   "2.1. PERSHKRIMI I AKTIVITETIT" (`activity_description`) dhe "Pershkruani
   siperfaqen, koordinatat, zonen kadastrale..." (`units_description`) jane
   textarea-t me te medha te formularit. Ne formularin origjinal (Gravity) ato
   ishin ne gjeresi te plote, nga nje rresht i vetin, dhe mjaftueshem te larta
   per te shkruar disa rreshta. Ketu, meqe `width => 'half'` ne skeme nuk u jep
   `.akkc-field--full`, dhe min-height-i i parazgjedhur i textarea-s eshte vetem
   80px, ato dukeshin te ngushta/te vogla. Sigurojme qe mbeshtjellesi te zere
   gjithe gjeresine (edhe sikur nje dite te futet ne `.akkc-grid`) dhe qe vete
   textarea te jete dukshem me e larte. Synohen me emer, qe textarea-t e tjera
   me te vogla te formes te mos preken. */
.akkc-field:has(> textarea[name="activity_description"]),
.akkc-field:has(> textarea[name="units_description"]) {
    grid-column: 1 / -1;
    width: 100%;
}

.akkc-field textarea[name="activity_description"],
.akkc-field textarea[name="units_description"] {
    width: 100%;
    min-height: 130px;
}

/* Subjektet e treta te riprodhuar (te redaktueshem) nen deklaraten G (#8). */
.akkc-decl-tp-wrap { margin-top: 12px; display: grid; gap: 12px; }
.akkc-decl-tp-card {
    border: 1px solid var(--akkc-line);
    border-radius: var(--akkc-radius);
    background: var(--akkc-soft-2);
    padding: 12px 14px;
}
.akkc-decl-tp-empty { color: var(--akkc-muted); font-style: italic; margin-top: 8px; }

/* Emri i skedarit te zgjedhur ne zonen e ngarkimit (#10/#13). */
.akkc-dropzone-name { display: inline-block; margin-left: 8px; color: var(--akkc-teal-dark); font-size: .9em; }

/* Lista e klikueshme "cfare mungon" ne dorezim (#18). */
.akkc-missing-group { margin: 10px 0; }
.akkc-missing-step-title { font-weight: 700; color: var(--akkc-purple); margin-bottom: 4px; }
.akkc-missing-link { color: var(--akkc-teal-dark); text-decoration: underline; cursor: pointer; }
.akkc-missing-link:hover { color: var(--akkc-purple); }
