:root {
    --kfa-black:#1E1414;
    --kfa-red:#D21E1E;
    --kfa-white:#FFFFFF;
    --kfa-green:#288246;
    --kfa-azraq:#0B5EA8;
    --kfa-deep:#063A6B;
    --kfa-sky:#E8F3FC;
    --teal:var(--kfa-deep);
    --green:var(--kfa-azraq);
    --gold:var(--kfa-green);
    --ink:#1e293b;
    --muted:#64748b;
    --line:#c5d9ec;
    --bg:var(--kfa-sky);
}
body {
    font-family:Tajawal,Tahoma,Arial,sans-serif;
    background:var(--kfa-sky);
}
.fed-logo {
    height:36px;
    width:32px;
    object-fit:contain;
    filter:drop-shadow(0 2px 3px #0002);
}
.sidebar {
    top:64px;
    background:var(--kfa-deep);
    width:252px;
    padding:24px 18px;
    border-left:1px solid #ffffff18;
}
.brand {
    font-size:21px;
    padding-bottom:28px;
}
.brand small {
    color:#bae6fd;
    font-size:10px;
}
.nav-caption {
    color:#7dd3fc;
}
nav a {
    color:#bae6fd;
    border-radius:8px;
    font-weight:500;
    padding:13px 12px;
}
nav a span {
    color:#7dd3fc;
}
nav a.selected {
    background:var(--kfa-azraq);
    color:white;
    border-right:3px solid var(--kfa-green);
}
nav a:hover {
    background:#0b5ea8a6;
}
.sidebar-bottom {
    color:#bae6fd;
}
.sidebar-bottom small {
    color:#7dd3fc;
}
.dot {
    background:var(--kfa-green);
}
main {
    padding-top:64px;
}
header {
    position:fixed;
    top:0;
    right:0;
    left:0;
    height:64px;
    background:var(--kfa-deep);
    color:white;
    border-bottom:1px solid #ffffff25;
    padding:0 22px;
    z-index:20;
}
.top-brand {
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    font-size:15px;
}
.top-brand img {
    height:36px;
    width:32px;
}
.top-center {
    position:absolute;
    right:50%;
    transform:translateX(50%);
    display:flex;
    align-items:center;
    flex-direction:column;
    gap:1px;
    font-size:12px;
    pointer-events:none;
}
.top-center img {
    height:24px;
    width:24px;
    object-fit:contain;
}
.user small {
    color:#bae6fd;
}
.user .ghost {
    color:#fff;
}
.avatar {
    background:#ffffff17;
    color:white;
    border:1px solid #ffffff20;
}
.content {
    padding-top:30px;
}
.page-title h1 {
    color:var(--kfa-deep);
    font-weight:800;
}
.page-title .eyebrow {
    color:var(--kfa-azraq);
}
.hero {
    background:linear-gradient(135deg,#0B5EA8 0%,#063A6B 100%);
    box-shadow:0 4px 18px #063a6b22;
    border-radius:16px;
    position:relative;
    isolation:isolate;
}
.hero:after {
    content:"";
    position:absolute;
    left:-50px;
    top:-60px;
    width:300px;
    height:300px;
    border:1px solid #ffffff14;
    border-radius:50%;
    box-shadow:0 0 0 40px #ffffff04,0 0 0 80px #ffffff03;
    z-index:-1;
}
.hero .eyebrow {
    color:#bae6fd;
}
.hero p {
    color:#d9ecfb;
}
.light {
    background:white;
    color:var(--kfa-deep);
}
.hero-mark {
    color:transparent;
    background:url('/images/kfa-logo.png') center/contain no-repeat;
    width:88px;
    height:98px;
    opacity:.94;
    font-size:0;
    margin-left:15px;
    filter:drop-shadow(0 8px 12px #00192e44);
}
.hero-mark small {
    display:none;
}
.stats article {
    border-radius:16px;
    box-shadow:0 4px 14px #063a6b12;
    border-top:3px solid var(--kfa-azraq);
}
.stats article:nth-child(2) {
    border-top-color:var(--kfa-deep);
}
.stats article:nth-child(3) {
    border-top-color:var(--kfa-green);
}
.stats article:nth-child(4) {
    border-top-color:var(--kfa-red);
}
.stats strong {
    font-weight:800;
    color:var(--kfa-deep);
}
.panel {
    border:1px solid #c5d9ec;
    border-radius:16px;
    box-shadow:0 4px 14px #063a6b12;
}
.panel h2 {
    color:var(--kfa-deep);
    font-weight:800;
}
.panel-title {
    border-bottom:1px solid #e8eef5;
    padding-bottom:16px;
}
.panel-title a {
    color:var(--kfa-azraq);
}
table th {
    background:var(--kfa-sky);
    color:var(--kfa-deep);
    font-weight:700;
    border-bottom:2px solid var(--kfa-azraq);
}
table td {
    border-bottom:1px solid #e8eef5;
}
tbody tr:nth-child(even) {
    background:#f8fbfe;
}
tbody tr:hover {
    background:#edf7ff;
}
button,.button {
    border-radius:8px;
    transition:background .18s,box-shadow .18s;
}
button:hover,.button:hover {
    box-shadow:0 3px 10px #063a6b18;
}
.secondary {
    background:#e8f3fc;
    color:var(--kfa-deep);
    border:1px solid #c5d9ec;
}
.danger {
    background:var(--kfa-red);
}
input,select,textarea {
    border-color:#c5d9ec;
    background:#fff;
}
input:focus,select:focus,textarea:focus {
    outline:2px solid #0b5ea832;
    border-color:var(--kfa-azraq);
}
.badge {
    border-radius:20px;
    font-weight:700;
}
.badge.approved,.badge.posted {
    background:#28824618;
    color:var(--kfa-green);
}
.badge.ordered {
    background:#0b5ea818;
    color:var(--kfa-azraq);
}
.badge.cancelled {
    background:#d21e1e18;
    color:var(--kfa-red);
}
.teal {
    background:var(--kfa-azraq);
}
.gold {
    background:var(--kfa-green);
}
.gray {
    background:#c5d9ec;
}
.ring {
    background:conic-gradient(var(--kfa-azraq) calc(var(--pct)*1%),#e8f3fc 0);
}
.ring strong {
    color:var(--kfa-deep);
}
.follow strong {
    color:var(--kfa-azraq);
}
.timeline i {
    background:var(--kfa-green);
}
.steps b {
    color:var(--kfa-deep);
}
.tag {
    border-color:#c5d9ec;
    color:var(--kfa-deep);
}
.success {
    background:#28824612;
    color:#206b39;
}
.error {
    background:#d21e1e12;
    color:#9b1616;
}
footer {
    color:var(--kfa-deep);
}
dialog.kfa-dialog {
    border:1px solid #bdd5eb;
    padding:0;
    border-radius:18px;
    width:min(760px,94vw);
    max-height:88dvh;
    color:var(--ink);
    box-shadow:0 20px 70px #063a6b40;
    font-family:inherit;
    background:white;
}
dialog.kfa-dialog::backdrop {
    background:#031d39aa;
    backdrop-filter:blur(4px);
}
.dialog-head {
    background:linear-gradient(135deg,var(--kfa-azraq),var(--kfa-deep));
    display:flex;
    align-items:center;
    gap:14px;
    padding:20px 25px;
    color:white;
}
.dialog-head img {
    width:32px;
    height:36px;
    object-fit:contain;
}
.dialog-head h2 {
    font-size:21px;
    font-weight:800;
    margin:5px 0 0;
}
.dialog-head small {
    font-size:11px;
    color:#bae6fd;
}
.dialog-close {
    margin-right:auto;
    background:#ffffff13;
    color:white;
    border:1px solid #ffffff25;
    border-radius:50%;
    width:34px;
    height:34px;
    padding:0;
    font-size:25px;
}
.dialog-content {
    padding:25px;
    max-height:calc(88dvh - 105px);
    overflow:auto;
}
.dialog-content .form-grid {
    gap:8px 18px;
}
.dialog-content .entry-row {
    grid-template-columns:2fr 1fr 1fr 2fr 28px;
    font-size:12px;
}
.dialog-content table {
    font-size:12px;
}
body:has(dialog[open]) {
    overflow:hidden;
}
.kfa-login {
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:100dvh;
    background-color:var(--kfa-deep);
    background-image:repeating-linear-gradient(45deg,#ffffff06 0,#ffffff06 20px,transparent 20px,transparent 40px);
    padding:36px 20px;
}
.login-shell {
    width:min(448px,100%);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 20px 65px #0003;
    border:1px solid #ffffff20;
}
.login-brand-panel {
    background:var(--kfa-azraq);
    padding:27px 25px 22px;
    text-align:center;
    color:white;
}
.login-brand-panel img {
    width:64px;
    height:64px;
    object-fit:contain;
    filter:drop-shadow(0 4px 6px #063a6b66);
}
.login-brand-panel h1 {
    font-size:23px;
    margin:16px 0 6px;
    font-weight:800;
}
.login-brand-panel p {
    font-size:15px;
    margin:0 0 8px;
    color:#d9ecfb;
}
.login-brand-panel span {
    font-size:11px;
    letter-spacing:.5px;
    color:#bae6fd;
}
.login-card {
    border:0;
    border-radius:0;
    box-shadow:none;
    padding:30px 32px;
}
.login-card h2 {
    color:var(--kfa-deep);
    font-size:24px;
    margin:0;
}
.login-card p {
    margin:10px 0 24px;
}
.login-card button {
    margin:8px 0 18px;
}
.login-remember {
    display:flex;
    align-items:center;
    gap:8px;
    margin:-6px 0 14px;
    font-size:13px;
    color:#5d7165;
    cursor:pointer;
}
.login-remember input {
    width:16px;
    height:16px;
    min-width:16px;
    margin-top:0;
    padding:0;
    accent-color:var(--kfa-azraq);
    cursor:pointer;
}
@media(max-width:1100px) {
    .sidebar {
        width:205px;
    }
    main {
        margin-right:205px;
    }
    .top-center {
        display:none;
    }
    .top-brand {
        font-size:14px;
    }
    .dialog-content .entry-row {
        grid-template-columns:repeat(2,1fr);
    }
}
@media(max-width:700px) {
    header {
        height:64px;
        padding:0 12px;
    }
    .top-brand strong {
        font-size:12px;
        max-width:135px;
    }
    .top-brand img {
        height:32px;
        width:28px;
    }
    .user {
        font-size:11px;
        gap:6px;
    }
    .user .avatar {
        width:28px;
        height:28px;
    }
    .user form {
        display:block;
    }
    .sidebar {
        position:static;
        width:100%;
        padding:12px 15px;
        margin-top:64px;
    }
    .sidebar .brand {
        display:none;
    }
    nav a {
        padding:10px 8px;
    }
    nav a.selected {
        border-right:0;
        border-bottom:2px solid var(--kfa-green);
    }
    main {
        margin:0;
        padding-top:0;
    }
    .hero-mark {
        display:block;
        width:70px;
        height:82px;
        flex-shrink:0;
        margin-left:0;
    }
    .hero h2 {
        font-size:19px;
    }
    .hero p {
        font-size:12px;
    }
    .hero {
        gap:12px;
    }
    .dialog-head {
        padding:16px;
    }
    .dialog-content {
        padding:18px;
    }
    .dialog-head h2 {
        font-size:18px;
    }
    .login-card {
        padding:28px;
    }
    .content {
        padding-top:23px;
    }
}
@media print {
    header {
        display:none!important;
    }
    .sidebar {
        display:none!important;
    }
    main {
        padding:0;
        margin:0;
    }
    .hero {
        box-shadow:none;
    }
    .stats article,.panel {
        box-shadow:none;
    }
    .hero-mark {
        display:block;
    }
}
.record-actions {
    display:inline-flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
    vertical-align:middle;
    margin:3px;
}
.record-icon {
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    padding:6px!important;
    border:1px solid #dbe5f0!important;
    border-radius:7px!important;
    background:#f1f7fd!important;
    color:#0B5EA8!important;
    cursor:pointer;
    min-width:32px;
}
.record-icon svg {
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.record-icon:hover {
    background:#dcecff!important;
}
.delete-icon {
    color:#c63030!important;
    background:#fff4f4!important;
}
.record-icon[aria-disabled=true] {
    opacity:.4;
    cursor:help;
}
.record-delete {
    display:inline-block;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
}
.record-delete summary::after,.record-delete summary::marker {
    display:none!important;
    content:none!important;
}
.record-delete summary {
    list-style:none;
}
.record-actions + form {
    display:inline-block;
    margin-inline-start:6px;
}
@keyframes kfa-fed-logo-fade {
    from {
        opacity: 0;
        filter: drop-shadow(0 0 0 transparent);
    }
    to {
        opacity: 1;
        filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.2));
    }
}
@keyframes kfa-fed-logo-soft-pulse {
    0%, 100% {
        filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.12));
        transform: scale(1);
    }
    50% {
        filter: drop-shadow(0 0 10px rgba(232, 243, 252, 0.42));
        transform: scale(1.035);
    }
}
:is(.fed-logo, .top-center img) {
    transform-origin: center center;
    will-change: filter, opacity, transform;
}
@media (prefers-reduced-motion: no-preference) {
    :is(.fed-logo, .top-center img) {
        animation:
            kfa-fed-logo-fade 0.75s ease-out both,
            kfa-fed-logo-soft-pulse 2.8s ease-in-out 0.75s 2;
        transition: filter 0.45s ease, transform 0.45s ease;
    }
    :is(.fed-logo, .top-center img):hover {
        filter: drop-shadow(0 0 12px rgba(232, 243, 252, 0.55));
        transform: scale(1.04);
    }
}
@media (prefers-reduced-motion: reduce) {
    :is(.fed-logo, .top-center img) {
        animation: none !important;
        transition: none !important;
        filter: none;
        transform: none;
    }
}
.header-icon,.kfa-fullscreen-toggle {
    width:34px;
    height:34px;
    min-width:34px;
    padding:7px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid #ffffff33;
    background:#ffffff1a;
    color:white;
    position:relative;
    cursor:pointer;
}
.header-icon:hover,.kfa-fullscreen-toggle:hover {
    background:#ffffff33;
    box-shadow:0 0 0 2px #0b5ea899;
}
.header-icon:focus-visible,.kfa-fullscreen-toggle:focus-visible {
    outline:2px solid #bae6fd;
    outline-offset:2px;
}
.header-icon svg,.kfa-fullscreen-toggle svg {
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.header-icon[hidden],[hidden] {
    display:none!important;
}
.notification-wrap {
    position:relative;
    display:flex;
}
.notification-count {
    position:absolute;
    top:-5px;
    left:-5px;
    background:#D21E1E;
    color:white;
    border-radius:20px;
    font-size:10px;
    font-weight:700;
    min-width:18px;
    height:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:2px;
}
.notification-panel {
    position:absolute;
    inset-inline-end:0;
    top:44px;
    width:min(320px,calc(100vw - 24px));
    background:white;
    color:#1e293b;
    border:1px solid #0b5ea826;
    border-radius:12px;
    box-shadow:0 15px 40px #063a6b30;
    text-align:start;
    overflow:hidden;
    z-index:60;
}
.notification-heading {
    padding:14px 16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #e8eef5;
}
.notification-heading button {
    padding:4px 8px;
    background:#e8f3fc;
    color:#0B5EA8;
    font-size:12px;
}
.notification-hint {
    font-size:11px;
    color:#64748b;
    padding:0 16px;
    margin:12px 0;
}
.notification-item {
    display:block;
    padding:14px 16px;
    border-top:1px solid #edf2f7;
    color:#063A6B;
    background:#f4f9fe;
    font-size:13px;
}
.notification-item:hover {
    background:#e8f3fc;
}
.notification-item small {
    display:block;
    color:#64748b;
    margin-top:6px;
    font-size:11px;
}
.notification-empty {
    padding:24px 16px;
    text-align:center;
    color:#64748b;
    font-size:13px;
}
[data-notification-list] {
    max-height:320px;
    overflow:auto;
}
.user form {
    margin:0;
}
.user {
    gap:10px;
}
@keyframes kfa-badge-pop {
    0% {
        transform:scale(.45);
        opacity:0;
    }
    70% {
        transform:scale(1.18);
        opacity:1;
    }
    100% {
        transform:scale(1);
        opacity:1;
    }
}
@keyframes kfa-panel-enter {
    from {
        opacity:0;
        transform:translateY(-6px) scale(.95);
    }
    to {
        opacity:1;
        transform:translateY(0) scale(1);
    }
}
@media(prefers-reduced-motion:no-preference) {
    .stats article {
        transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;
    }
    .stats article:hover {
        transform:translateY(-6px);
        box-shadow:0 14px 32px #063a6b24;
    }
    .notification-count {
        animation:kfa-badge-pop .45s cubic-bezier(.22,1,.36,1) both;
    }
    .notification-panel:not([hidden]),dialog.kfa-dialog[open] {
        animation:kfa-panel-enter .2s ease-out both;
    }
    button:active,.button:active {
        transform:scale(.96);
    }
    tbody tr {
        transition:background .18s,box-shadow .18s;
    }
    tbody tr:hover {
        box-shadow:inset -3px 0 0 #0B5EA8;
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important;
    }
}
@media(max-width:700px) {
    .user {
        gap:5px;
    }
    .user>.avatar,.user>div:not(.notification-wrap) {
        display:none;
    }
    .header-icon,.kfa-fullscreen-toggle {
        width:32px;
        height:32px;
        min-width:32px;
    }
    .notification-panel {
        position:fixed;
        top:62px;
        left:12px;
        right:auto;
    }
    .top-brand {
        gap:6px;
    }
}
.it-copyright {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:start;
}
.it-seal {
    width:48px;
    height:48px;
    object-fit:contain;
    flex-shrink:0;
}
.it-copyright strong {
    display:block;
    font-size:12px;
    font-weight:700;
    line-height:1.6;
    color:#063A6B;
}
.it-copyright small {
    display:block;
    font-size:11px;
    color:#64748b;
    margin-top:3px;
}
.system-footer {
    display:flex;
    justify-content:center;
    padding:20px;
    border-top:1px solid #c5d9ec;
    background:#fff;
    margin-top:24px;
}
.login-copyright {
    background:#f5faff;
    border-top:1px solid #d7e6f3;
    padding:18px 20px;
}
.login-copyright .it-seal {
    width:42px;
    height:42px;
}
.login-copyright strong {
    font-size:11px;
}
.login-copyright small {
    font-size:10px;
}
@media(max-width:700px) {
    .it-copyright {
        gap:8px;
    }
    .it-seal {
        width:40px;
        height:40px;
    }
    .it-copyright strong {
        font-size:11px;
    }
}
.it-author {
    display:block;
    font-size:12px;
    color:#0B5EA8;
    margin-top:3px;
    font-weight:700;
}
main {
    display:flex;
    flex-direction:column;
    min-height:100dvh;
}
.content {
    flex:1;
    width:100%;
    margin:0 auto;
}
.system-footer {
    flex-shrink:0;
    margin-top:auto;
    width:100%;
    position:static;
}
.kfa-login {
    flex-direction:column;
    gap:32px;
    padding-bottom:0;
}
.kfa-login .login-shell {
    flex-shrink:0;
    margin:auto;
}
.kfa-login>.login-copyright {
    width:calc(100% + 40px);
    flex-shrink:0;
    margin-top:auto;
    padding:18px 20px;
}
@media(max-width:700px) {
    main {
        min-height:calc(100dvh - 135px);
    }
}
.report-options fieldset {
    border:1px solid #d7e6f3;
    border-radius:10px;
    padding:14px;
    margin:16px 0;
}
.report-options legend {
    color:#063A6B;
    font-weight:700;
    padding:0 8px;
}
.report-choices {
    display:flex;
    flex-wrap:wrap;
    gap:12px 24px;
}
.report-choices label {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:#334155;
    cursor:pointer;
}
.report-choices input {
    width:17px;
    height:17px;
    margin:0;
    accent-color:#0B5EA8;
}
.report-options .panel-title {
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.report-options .muted {
    font-size:12px;
}
.report-options small {
    display:block;
    line-height:1.8;
}
@media print {
    .report-options,.report-none {
        display:none!important;
    }
    [data-report-output] [hidden] {
        display:none!important;
    }
    main {
        display:block;
        min-height:0;
    }
    .content {
        flex:none;
    }
}
.user-panel-title {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.user-create {
    border:0;
    padding:0;
    margin:0;
}
.user-create summary {
    list-style:none;
}
.user-create summary::marker {
    content:none;
}
.user-panel-title h2 {
    margin:0;
}
.report-options {
    display:none;
}
.report-shell {
    margin-bottom:24px;
}
.report-shell>.panel {
    margin-bottom:0;
}
.report-shell>.stats {
    margin-bottom:0;
}
.report-box-toolbar {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    padding:10px 14px;
    background:#fff;
    border:1px solid #c5d9ec;
    border-radius:10px;
    margin-bottom:10px;
    font-size:12px;
}
.report-box-toolbar>label {
    display:flex;
    align-items:center;
    gap:8px;
    color:#063A6B;
    font-weight:700;
    margin-inline-end:auto;
}
.report-box-toolbar input {
    width:16px;
    height:16px;
    display:inline-block;
    margin:0;
    accent-color:#0B5EA8;
}
.report-box-toolbar button {
    padding:7px 10px;
    font-size:11px;
}
.report-column-menu {
    position:relative;
}
.report-column-menu>summary {
    padding:7px 12px;
    background:#e8f3fc;
    color:#063A6B;
    border-radius:7px;
    font-size:12px;
}
.report-column-menu>.report-choices {
    position:absolute;
    top:100%;
    inset-inline-end:0;
    min-width:220px;
    padding:16px;
    background:#fff;
    box-shadow:0 10px 30px #063a6b33;
    border:1px solid #c5d9ec;
    border-radius:10px;
    z-index:10;
    display:flex;
    flex-direction:column;
    gap:12px;
}
.report-column-menu[open]>summary {
    margin-bottom:0;
}
@media print {
    .report-box-toolbar {
        display:none!important;
    }
    .report-shell:has(>[data-report-section][hidden]) {
        display:none!important;
    }
    .report-shell {
        margin-bottom:16px;
    }
}
.report-filter-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid #e3edf5;
    margin-bottom:20px;
    padding-bottom:14px;
}
.report-filter-heading h2 {
    margin:0;
    font-size:19px;
}
.report-filter-heading p {
    margin:8px 0 0;
    font-size:12px;
}
.report-filter-fields {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
.report-filter-fields label {
    margin-bottom:12px;
}
.report-filter-actions {
    display:flex;
    align-items:end;
    gap:12px;
    flex-wrap:wrap;
    border-top:1px solid #edf2f7;
    padding-top:14px;
}
.report-year-label {
    margin:0!important;
    min-width:210px;
    margin-inline-end:auto!important;
}
.report-filter-actions button {
    padding:11px 18px;
}
.report-context {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 18px;
    background:#dcecf9;
    color:#063A6B;
    border-radius:10px;
    margin-bottom:20px;
    font-size:12px;
}
.report-scope {
    font-size:12px;
    line-height:1.9;
    color:#64748b;
    margin-bottom:22px;
}
.report-document-heading {
    display:none;
}
.report-box-toolbar {
    border-radius:12px 12px 0 0;
    margin-bottom:0;
    padding:12px 18px;
    background:#f5faff;
    border-bottom:0;
}
.report-shell>.panel {
    border-radius:0 0 12px 12px;
}
.report-shell>.stats {
    padding-top:12px;
}
.report-box-toolbar>label:not(:first-child) {
    font-weight:500;
    margin-inline-end:0;
    font-size:11px;
}
.report-box-toolbar>label:first-child {
    margin-inline-end:auto;
}
.report-table-scroll {
    overflow-x:auto;
}
.report-output table th {
    white-space:nowrap;
}
.report-output table td:not(:first-child) {
    font-variant-numeric:tabular-nums;
}
.report-output tfoot th {
    background:#e8f3fc;
    font-weight:800;
    color:#063A6B;
    border-top:2px solid #0B5EA8;
}
.report-output .stats strong {
    font-size:27px;
}
.report-output .panel>h2 {
    font-size:18px;
    margin-top:0;
    padding-bottom:14px;
    border-bottom:1px solid #edf2f7;
}
.report-column-menu summary {
    list-style:none;
}
.report-column-menu summary::marker {
    content:none;
}
.report-column-menu summary::after {
    content:' ▾';
}
.report-column-menu[open] summary::after {
    content:' ▴';
}
@media(max-width:1000px) {
    .report-filter-fields {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px) {
    .report-filter-fields {
        grid-template-columns:1fr;
    }
    .report-filter-heading {
        align-items:start;
    }
    .report-filter-heading .tag {
        display:none;
    }
    .report-filter-actions button {
        flex:1;
    }
    .report-year-label {
        width:100%;
    }
    .report-context {
        align-items:start;
        flex-direction:column;
    }
    .report-output .stats strong {
        font-size:21px;
    }
    .report-box-toolbar {
        padding:12px;
        gap:10px;
    }
    .report-box-toolbar>label:first-child {
        width:100%;
    }
    .report-column-menu>.report-choices {
        inset-inline-end:auto;
        inset-inline-start:0;
    }
    .report-output table {
        min-width:480px;
    }
}
@media print {
    .report-filter,.report-context {
        display:none!important;
    }
    .report-document-heading {
        display:flex;
        align-items:center;
        gap:14px;
        margin-bottom:20px;
        padding-bottom:14px;
        border-bottom:2px solid #063A6B;
    }
    .report-document-heading img {
        width:45px;
        height:52px;
        object-fit:contain;
    }
    .report-document-heading h2 {
        margin:0 0 5px;
        color:#063A6B;
    }
    .report-document-heading p {
        margin:0 0 4px;
        font-size:12px;
    }
    .report-document-heading span {
        font-size:11px;
    }
    .report-table-scroll {
        overflow:visible;
    }
    .report-output table {
        min-width:0;
    }
    .report-output th {
        font-size:10px;
    }
    .report-output td,.report-output th {
        padding:8px;
    }
    .report-output .stats strong {
        font-size:21px;
    }
    .report-output .panel {
        border:1px solid #ccc;
        padding:14px;
    }
    .report-output thead {
        display:table-header-group;
    }
    .report-output tr {
        break-inside:avoid;
    }
    .system-footer {
        display:flex!important;
        padding:12px;
        margin-top:20px;
    }
    .report-output .panel {
        break-inside:auto;
    }
    .report-output .stats {
        break-inside:avoid;
    }
}
.breakdown-intro {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:14px 0;
}
.breakdown-intro p {
    font-size:12px;
    color:#64748b;
}
.breakdown-intro strong {
    color:#063A6B;
    font-size:21px;
}
.breakdown-intro small {
    font-size:12px;
}
.report-accounting-note {
    font-size:11px;
    line-height:1.8;
}
.report-group-row td {
    background:#e8f3fc;
    font-weight:700;
    color:#063A6B;
}
@media(max-width:700px) {
    .breakdown-intro {
        align-items:start;
        flex-direction:column;
        gap:5px;
    }
}
.report-row-menu>.report-choices {
    width:310px;
    max-width:80vw;
    max-height:360px;
    overflow-y:auto;
}
.report-row-menu label {
    font-size:12px;
}
.panel-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}
.panel-heading h2 {
    margin:0;
}
.panel-heading summary.button {
    padding:10px 16px;
}
.sidebar nav {
    overflow-y:auto;
    min-height:0;
    scrollbar-width:none;
}
.sidebar nav a {
    padding:10px 12px;
    margin:2px 0;
}
.report-template-tools {
    display:flex;
    flex-wrap:wrap;
    align-items:end;
    gap:12px;
}
.report-template-tools h2 {
    width:100%;
}
.report-template-tools label {
    margin:0;
    min-width:180px;
}
.report-template-tools [role=status] {
    width:100%;
    margin:0;
    color:#288246;
}
[data-selected-subtotal] th {
    background:#d6ecff!important;
}
.report-accounting-note {
    max-width:100%;
}
@media print {
    .report-template-tools,.panel-heading details {
        display:none!important;
    }
}
@media(max-width:700px) {
    .panel-heading {
        flex-wrap:wrap;
    }
    .sidebar nav {
        overflow-y:visible;
        overflow-x:auto;
    }
    .report-template-tools label {
        width:100%;
    }
}
/* Sidebar navigation */
html {
    --sidebar-width:260px;
    scrollbar-width:none;
}
* {
    scrollbar-width:none!important;
    -ms-overflow-style:none;
}
*::-webkit-scrollbar {
    display:none!important;
    width:0!important;
    height:0!important;
}
.sidebar {
    position:fixed;
    inset:64px 0 0 auto;
    width:var(--sidebar-width);
    height:calc(100dvh - 64px);
    padding:18px 12px 12px;
    display:flex;
    flex-direction:column;
    background:linear-gradient(180deg,#063a6b,#052f57);
    border-left:1px solid #ffffff16;
    z-index:30;
    transition:width .24s ease,transform .24s ease;
    overflow:hidden;
}
.sidebar-heading {
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 8px 16px;
    margin-bottom:10px;
    border-bottom:1px solid #ffffff15;
    min-height:62px;
    flex-shrink:0;
}
.sidebar .brand {
    display:flex;
    align-items:center;
    gap:10px;
    padding:0;
    min-width:0;
    flex:1;
    font-size:19px;
    white-space:nowrap;
}
.sidebar .brand small {
    font-size:10px;
    letter-spacing:0;
    margin-top:5px;
}
.sidebar .brand .fed-logo {
    width:29px;
    height:35px;
    flex-shrink:0;
}
.sidebar-fold {
    padding:5px;
    width:26px;
    height:30px;
    border-radius:7px;
    flex-shrink:0;
    background:#ffffff0c;
    color:#cce4fa;
    display:grid;
    place-items:center;
}
.sidebar-fold svg {
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    transition:transform .24s;
}
.sidebar nav {
    display:block;
    overflow-y:auto;
    overflow-x:hidden;
    flex:1;
    min-height:0;
    overscroll-behavior:contain;
}
.sidebar-group {
    margin-bottom:13px;
}
.sidebar .nav-caption {
    display:block;
    font-size:10px;
    font-weight:700;
    color:#8fb6d7;
    letter-spacing:0;
    padding:0 14px;
    margin:10px 0 6px;
}
.sidebar nav .sidebar-link {
    display:flex;
    align-items:center;
    gap:12px;
    position:relative;
    min-height:43px;
    padding:10px 13px;
    margin:3px 0;
    border:1px solid transparent;
    border-radius:10px;
    color:#cfe4f6;
    font-size:13px;
    font-weight:500;
    white-space:nowrap;
    transition:background .18s,color .18s;
}
.sidebar .nav-icon {
    width:21px;
    height:21px;
    flex-shrink:0;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.sidebar nav .nav-label {
    display:block;
    flex:1;
    min-width:0;
    width:auto;
    color:inherit;
    font-size:13px;
    line-height:1.6;
    overflow:hidden;
    text-overflow:ellipsis;
}
.sidebar nav .selected {
    background:#ffffff13;
    border:1px solid #ffffff25;
    color:#fff;
    box-shadow:inset -3px 0 0 #55b7ed;
}
.sidebar nav a:hover {
    background:#ffffff0e;
    color:#fff;
}
.sidebar nav a:focus-visible {
    outline:2px solid #8cd4ff;
    outline-offset:-2px;
}
.header-brand-cluster {
    display:flex;
    align-items:center;
    gap:12px;
}
.sidebar-toggle {
    border-radius:9px;
}
.sidebar-backdrop {
    position:fixed;
    inset:64px 0 0;
    background:#031b3480;
    backdrop-filter:blur(2px);
    border-radius:0;
    padding:0;
    z-index:25;
}
.sidebar-backdrop:hover {
    box-shadow:none;
    background:#031b3480;
}
main {
    margin-right:0;
    margin-inline-start:var(--sidebar-width);
    min-width:0;
    transition:margin .24s ease;
}
.content {
    padding:28px 30px 40px;
}
.panel {
    box-shadow:0 3px 16px #063a6b08;
}
.page-title {
    margin-bottom:24px;
}
.panel-heading {
    align-items:center;
}
@media(min-width:901px) {
    html.sidebar-collapsed {
        --sidebar-width:78px;
    }
    .sidebar-collapsed .sidebar {
        padding-inline:10px;
    }
    .sidebar-collapsed .sidebar-heading {
        padding-inline:0;
        justify-content:center;
        position:relative;
        min-height:76px;
        padding-bottom:26px;
    }
    .sidebar-collapsed .brand {
        flex:0;
    }
    .sidebar-collapsed .brand>span,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-caption {
        display:none!important;
    }
    .sidebar-collapsed .sidebar-fold {
        position:absolute;
        bottom:0;
        width:26px;
        height:23px;
    }
    .sidebar-collapsed .sidebar-fold svg {
        transform:rotate(180deg);
    }
    .sidebar-collapsed .sidebar-group {
        margin-bottom:12px;
        padding-bottom:9px;
        border-bottom:1px solid #ffffff12;
    }
    .sidebar-collapsed nav .sidebar-link {
        justify-content:center;
        padding:11px 0;
    }
    .sidebar-collapsed .nav-icon {
        width:22px;
        height:22px;
    }
}
@media(max-width:1100px) {
    .top-center {
        display:none;
    }
}
@media(max-width:900px) {
    main {
        margin:0;
    }
    .sidebar {
        width:260px;
        transform:translateX(100%);
    }
    .sidebar-open .sidebar {
        transform:translateX(0);
    }
    .sidebar-open body {
        overflow:hidden;
    }
    .sidebar .brand>span,.sidebar .nav-label,.sidebar .nav-caption {
        display:block;
    }
    .sidebar nav {
        display:block;
        overflow-y:auto;
        overflow-x:hidden;
    }
    .sidebar nav a span {
        display:block;
    }
    .content {
        padding:24px 20px;
    }
    .top-brand {
        font-size:12px;
        gap:8px;
    }
    .top-brand img {
        height:30px;
        width:26px;
    }
    .header-brand-cluster {
        gap:8px;
    }
}
@media(max-width:700px) {
    header {
        height:64px;
        padding:0 12px;
    }
    .sidebar {
        position:fixed;
        padding:18px 12px 12px;
    }
    .user>div:not(.notification-wrap) {
        display:none;
    }
    .user form {
        display:block;
    }
    .user {
        gap:6px;
    }
    .user .avatar {
        display:none;
    }
    .top-brand strong {
        max-width:125px;
        line-height:1.5;
    }
    .top-brand img {
        display:none;
    }
    .content {
        padding:22px 14px;
    }
    .header-icon,.kfa-fullscreen-toggle {
        width:32px;
        height:32px;
        min-width:32px;
    }
    .system-footer {
        padding:16px;
    }
}
@media(prefers-reduced-motion:reduce) {
    .sidebar,main,.sidebar-fold svg {
        transition:none;
    }
}
@media print {
    main {
        margin:0!important;
        padding-top:0;
    }
    .sidebar-backdrop {
        display:none!important;
    }
    .content {
        padding:0;
    }
}
/* Login signature follows the page's navy identity. */
.kfa-login>.login-copyright {
    width:100%;
    background:transparent;
    border-top:1px solid #ffffff18;
    padding:20px 12px 24px;
}
.login-copyright .it-copyright {
    max-width:448px;
    margin-inline:auto;
    gap:14px;
    text-align:center;
}
.login-copyright .it-seal,.login-copyright .it-author {
    display:none;
}
.login-copyright .it-seal {
    width:64px;
    height:72px;
    object-fit:contain;
    filter:drop-shadow(0 2px 5px #0003);
}
.login-copyright strong {
    color:#e6f2fc;
    font-size:12px;
    line-height:1.8;
}
.login-copyright .it-author {
    color:#91d6ff;
    font-size:12px;
    margin-top:4px;
}
.login-copyright small {
    color:#b6cde0;
    font-size:10px;
    margin-top:5px;
}
@media(max-width:480px) {
    .login-copyright .it-copyright {
        gap:10px;
    }
    .login-copyright .it-seal {
        width:52px;
        height:60px;
    }
    .login-copyright strong {
        font-size:11px;
    }
}

/* ===== Sidebar — mirrors kfa-system layouts/sidebar.blade.php + app.css + partials/sidebar-mobile ===== */
:root { --kfa-ease:cubic-bezier(0.22, 1, 0.36, 1); }
html { --sidebar-width:256px; }
.sidebar.kfa-side {
    background:var(--kfa-deep);
    border-left:0;
    padding:16px;
    overflow-y:auto;
    color:#fff;
    font-family:'Tajawal',Tahoma,Arial,sans-serif;
    font-size:16px;
    font-weight:400;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
.sidebar.kfa-side * { font-family:inherit; letter-spacing:normal; }
.sidebar.kfa-side .kfa-side-brand {
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 24px;
    padding:0 0 12px;
    border-bottom:1px solid rgba(255,255,255,.2);
    color:#fff;
    text-decoration:none;
    flex-shrink:0;
}
.sidebar.kfa-side .kfa-side-brand img {
    width:36px;
    height:36px;
    object-fit:contain;
    flex-shrink:0;
}
.sidebar.kfa-side .kfa-side-brand h2 {
    margin:0;
    color:#fff;
    font-size:14px;
    font-weight:700;
    line-height:1.25;
    white-space:nowrap;
}
.sidebar.kfa-side .kfa-side-nav {
    display:block;
    flex:1;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
}
.sidebar.kfa-side .kfa-side-nav > * + * { margin-top:4px; }
.sidebar.kfa-side .kfa-side-link {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    width:100%;
    margin:0;
    padding:8px 12px;
    min-height:0;
    height:auto;
    border:0;
    border-radius:4px;
    background:transparent;
    box-shadow:none;
    filter:none;
    color:#fff;
    font:inherit;
    font-size:16px;
    font-weight:400;
    line-height:24px;
    text-align:start;
    white-space:nowrap;
    cursor:pointer;
    transition:none;
}
.sidebar.kfa-side .kfa-side-link:hover,
.sidebar.kfa-side .kfa-side-link.is-active {
    background:var(--kfa-azraq);
    color:#fff;
    box-shadow:none;
    filter:none;
}
.sidebar.kfa-side .kfa-side-label {
    display:block;
    flex:1;
    min-width:0;
    color:inherit;
    font-size:inherit;
    overflow:hidden;
    text-overflow:ellipsis;
}
.sidebar.kfa-side .nav-icon { display:none; }
.sidebar.kfa-side .kfa-acc-chev {
    display:inline-grid;
    place-items:center;
    flex-shrink:0;
    width:20px;
    height:20px;
    border-radius:4px;
    font-size:12px;
    line-height:16px;
    background:rgba(255,255,255,.1);
    color:#fff;
}
.sidebar.kfa-side .kfa-acc-chev.is-open { background:rgba(11,94,168,.85); }
.sidebar.kfa-side .kfa-side-sub {
    padding-right:16px;
    margin-top:4px;
}
.sidebar.kfa-side .kfa-side-sub.is-closed { display:none; }
.sidebar.kfa-side .kfa-side-sub > * + * { margin-top:4px; }
.sidebar.kfa-side .kfa-side-sublink {
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    padding:6px 12px;
    min-height:0;
    border:0;
    border-radius:4px;
    background:transparent;
    box-shadow:none;
    color:#bae6fd;
    font-size:14px;
    font-weight:400;
    line-height:20px;
    white-space:nowrap;
    transition:none;
}
.sidebar.kfa-side .kfa-side-sublink:hover,
.sidebar.kfa-side .kfa-side-sublink.is-active {
    background:var(--kfa-azraq);
    color:#fff;
}
.sidebar.kfa-side .kfa-side-dot {
    width:4px;
    height:4px;
    flex-shrink:0;
    border-radius:9999px;
    background:var(--kfa-green);
}
.sidebar.kfa-side a:focus-visible,
.sidebar.kfa-side button:focus-visible {
    outline:2px solid #8cd4ff;
    outline-offset:-2px;
}
@media (prefers-reduced-motion: no-preference) {
    .sidebar.kfa-side .kfa-acc-chev {
        transition:transform .3s var(--kfa-ease), background .2s var(--kfa-ease);
    }
}
/* Desktop collapsed rail (finance-only feature): icons only */
@media (min-width:901px) {
    html.sidebar-collapsed { --sidebar-width:78px; }
    .sidebar-collapsed .sidebar.kfa-side { padding-inline:10px; }
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-brand { justify-content:center; }
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-brand h2,
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-label,
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-dot,
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-toggle { display:none; }
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-sub,
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-sub.is-closed { display:block; padding:0; margin:0; }
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-group {
        padding-top:6px;
        margin-top:6px;
        border-top:1px solid rgba(255,255,255,.12);
    }
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-link,
    .sidebar-collapsed .sidebar.kfa-side .kfa-side-sublink {
        justify-content:center;
        padding:10px 0;
        color:#fff;
    }
    .sidebar-collapsed .sidebar.kfa-side .nav-icon {
        display:block;
        width:22px;
        height:22px;
    }
}
/* Mobile off-canvas — same as kfa-system partials/sidebar-mobile */
@media (max-width:900px) {
    .sidebar.kfa-side {
        position:fixed;
        top:0;
        right:0;
        left:auto;
        bottom:0;
        inset:0 0 0 auto;
        width:256px;
        height:100vh;
        height:100dvh;
        z-index:50;
        margin:0;
        transform:translateX(100%);
        transition:transform .3s ease-in-out;
    }
    .sidebar-open .sidebar.kfa-side { transform:translateX(0); }
    .sidebar-backdrop {
        inset:0;
        z-index:40;
        background:rgba(0,0,0,.4);
        backdrop-filter:none;
    }
    .sidebar-backdrop:hover { background:rgba(0,0,0,.4); }
}
@media (prefers-reduced-motion: reduce) {
    .sidebar.kfa-side,
    .sidebar.kfa-side .kfa-acc-chev { transition:none !important; }
}

/* ===== Kuwait flag stripe under the header — same as kfa-system partials/kuwait-identity (.kfa-kuwait-header::after) ===== */
header { z-index:35; }
header::after {
    content:'';
    position:absolute;
    inset-inline:0;
    bottom:-3px;
    height:3px;
    background:linear-gradient(90deg,#171717 0 12%,#008c45 12% 41%,#fff 41% 70%,#ce1126 70%);
    pointer-events:none;
}
@media print { header::after { display:none; } }

.kfa-sso-login {
    display: block;
    margin: 0 0 1rem;
    padding: .7rem 1rem;
    border: 1px solid #0b5fab;
    border-radius: .75rem;
    background: #eef6fd;
    color: #063a6b;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}
.kfa-sso-login:hover {
    background: #0b5fab;
    color: #fff;
}
