body{background:#f4f6f9;color:#243447}.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;background:#17365d;color:#fff;flex-shrink:0;padding:18px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:8px 4px 20px;border-bottom:1px solid rgba(255,255,255,.15)}.brand-mark{width:54px;height:54px;border-radius:14px;background:#fff;color:#17365d;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;margin:auto}.brand-mark.small{width:40px;height:40px;border-radius:10px;font-size:15px;margin:0}.sidebar .nav-link{color:rgba(255,255,255,.8);border-radius:8px;padding:10px 12px;margin:2px 0}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:rgba(255,255,255,.14);color:#fff}.sidebar .nav-link i{width:24px}.nav-section{font-size:11px;letter-spacing:.08em;opacity:.55;margin:18px 12px 6px}.main-content{flex:1;min-width:0}.topbar{height:74px;background:#fff;border-bottom:1px solid #e4e8ed;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.content{padding:28px}.stat-card{border:0;border-radius:14px}.stat-icon{width:46px;height:46px;border-radius:12px;background:#eaf1fb;display:flex;align-items:center;justify-content:center;color:#17365d;font-size:21px}.login-page{background:linear-gradient(135deg,#17365d,#285b92)}.card{border-radius:14px}.table th{white-space:nowrap}.btn{border-radius:8px}.form-control,.form-select{border-radius:8px}.print-only{display:none}@media(max-width:900px){.sidebar{width:78px;padding:12px}.sidebar-brand div:not(.brand-mark),.sidebar .nav-link{font-size:0}.sidebar .nav-link i{font-size:18px}.nav-section{display:none}.content{padding:18px}}@media print{.sidebar,.topbar,.no-print{display:none!important}.app-shell{display:block}.content{padding:0}.print-only{display:block}}


@media(max-width:900px){
}

/* GKI logo layout */
.sidebar-brand{display:flex;align-items:center;gap:10px;min-height:64px}
.gki-sidebar-logo{
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    flex:0 0 52px;
    border-radius:50%;
    overflow:hidden;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
}
.gki-sidebar-logo img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    display:block;
}
.gki-header-logo{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    flex:0 0 44px;
    border-radius:50%;
    overflow:hidden;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:10px;
}
.gki-header-logo img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    display:block;
}
.topbar-title{display:flex;align-items:center;min-width:0}
@media(max-width:900px){
    .gki-sidebar-logo{
        width:42px !important;height:42px !important;
        min-width:42px !important;max-width:42px !important;
        min-height:42px !important;max-height:42px !important;
        flex-basis:42px;
    }
    .sidebar-brand>div:not(.gki-sidebar-logo){display:none}
    .gki-header-logo{display:none}
}


/* Tahap 7.1 - Professional print/PDF layout */
@media print{
  @page{size:A4 landscape;margin:12mm 10mm 14mm 10mm}
  body{background:#fff!important;color:#111!important;font-size:9pt!important}
  .sidebar,.topbar,.no-print,.btn,.nav,.navbar,.alert:not(.print-keep),footer{display:none!important}
  .app-shell,.main-content{display:block!important;width:100%!important;min-height:0!important}
  .content{padding:0!important;margin:0!important}
  .card,.card-body{box-shadow:none!important;border:0!important;padding:0!important;margin:0!important}
  .print-only{display:block!important}
  .print-header{text-align:center;margin-bottom:8mm!important}
  .print-brand{display:flex;align-items:center;justify-content:center;gap:10px}
  .print-brand img{width:55px!important;height:55px!important;object-fit:contain!important}
  .print-church{font-size:11pt;font-weight:700;letter-spacing:.4px}
  .print-name{font-size:15pt;font-weight:800;margin-top:1px}
  .print-subtitle{font-size:10pt}
  .print-title{font-size:13pt;font-weight:800;margin-top:5mm;letter-spacing:.5px}
  .print-date{font-size:8pt;margin-top:1mm}
  .print-line{border-top:2px solid #17365d;margin-top:3mm}
  .table-responsive{overflow:visible!important}
  table{width:100%!important;border-collapse:collapse!important;font-size:7.5pt!important}
  table th,table td{padding:3px 4px!important;border:1px solid #555!important;vertical-align:top!important}
  table thead th{background:#e9eef5!important;font-weight:700!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  table tbody tr{page-break-inside:avoid}
  .badge{background:transparent!important;color:#111!important;border:0!important;padding:0!important;font-weight:600!important}
  h5.fw-bold{font-size:11pt!important;margin:0 0 3mm!important}
  .row.g-3.mb-3{margin-bottom:4mm!important}
  .row.g-3.mb-3 .alert{border:1px solid #777!important;background:#fff!important;color:#111!important;padding:5px!important}
}

/* Tahap 7.1 FIX - PDF benar-benar landscape dan tabel tidak terpotong */
@media print{
  @page { size: A4 landscape !important; margin: 8mm 8mm 10mm 8mm !important; }
  html, body { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  body { font-size: 8pt !important; overflow: visible !important; }
  .content > .row.g-3.mb-4 { display:none !important; }
  .table-responsive { width: 100% !important; max-width: 100% !important; overflow: visible !important; display: block !important; }
  .table-responsive table { width: 100% !important; max-width: 100% !important; min-width: 0 !important; table-layout: fixed !important; }
  .table-responsive th,
  .table-responsive td {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    padding: 2px 3px !important;
    font-size: 6.6pt !important;
    line-height: 1.15 !important;
  }
  .table-responsive th { font-size: 6.8pt !important; }
  .print-header { margin-bottom: 4mm !important; }
  .print-brand img { width: 42px !important; height: 42px !important; }
  .print-church { font-size: 10pt !important; }
  .print-name { font-size: 13pt !important; }
  .print-subtitle { font-size: 9pt !important; }
  .print-title { font-size: 11pt !important; margin-top: 2mm !important; }
  .print-date { font-size: 7pt !important; }
  .print-line { margin-top: 2mm !important; }
  h5.fw-bold { font-size: 9pt !important; margin-bottom: 2mm !important; }
}


/* Tahap 7.2 FIX3 - PDF satu halaman dan tabel laporan tidak terpotong */
@media print {
  @page { size: A4 landscape !important; margin: 7mm 7mm 9mm 7mm !important; }
  html, body { width: 100% !important; min-width: 0 !important; max-width: 100% !important; overflow: visible !important; }
  body { margin: 0 !important; padding: 0 !important; background: #fff !important; font-size: 7pt !important; }
  .app-shell, .main-content, main.content { width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; }
  .content > .d-flex { display: none !important; }
  .content > .row.no-print,
  .content > .row.g-3.mb-4.no-print { display: none !important; }
  .no-print { display: none !important; }
  .print-only { display: block !important; }
  .print-header { margin: 0 0 3mm !important; padding: 0 !important; }
  .print-brand { gap: 7px !important; }
  .print-brand img { width: 34px !important; height: 34px !important; }
  .print-church { font-size: 8.5pt !important; }
  .print-name { font-size: 11pt !important; }
  .print-subtitle { font-size: 8pt !important; }
  .print-title { font-size: 10pt !important; margin-top: 1.5mm !important; }
  .print-date { font-size: 6.5pt !important; margin-top: .5mm !important; }
  .print-line { margin-top: 1.5mm !important; }
  .print-table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .print-report-table {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 5.7pt !important;
  }
  .print-report-table th,
  .print-report-table td {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 1.5px 2px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    vertical-align: top !important;
    border: .5px solid #555 !important;
  }
  .print-report-table th { font-size: 5.8pt !important; font-weight: 700 !important; }
  .print-report-table .badge { font-size: 5.5pt !important; white-space: normal !important; }
  .print-report-table thead { display: table-header-group !important; }
  .print-report-table tr { page-break-inside: avoid !important; break-inside: avoid !important; }
  .card, .card-body { box-shadow: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
  .table-responsive { overflow: hidden !important; }
  h5.fw-bold { font-size: 8pt !important; margin: 0 0 1.5mm !important; }
}
