/* SIMAJAR V6.4.3 — Branding Madrasah + Kop Resmi */

/* App branding */
.brand-logo-wrap{
  overflow:hidden;
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
  padding:3px!important;
}
.brand-logo-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.login-brand-mark.brand-logo-wrap{
  width:58px!important;
  height:58px!important;
  border-radius:16px!important;
}
.login-logo.brand-logo-wrap{
  width:72px!important;
  height:72px!important;
  border-radius:18px!important;
  margin:auto;
}
.brand-icon.brand-logo-wrap{
  width:58px!important;
  height:58px!important;
  border-radius:16px!important;
}
.topbar-school-logo{
  width:42px;
  height:42px;
  object-fit:contain;
  background:#fff;
  border-radius:12px;
  padding:3px;
  border:1px solid #d8e4ec;
}
.topbar-left{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.tmh-logo{
  background:#fff!important;
  padding:3px!important;
  overflow:hidden;
}
.tmh-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* Official letterhead / kop */
.official-print-sheet{
  background:#fff;
  color:#111;
  border-radius:16px;
}
.official-kop{
  display:grid;
  grid-template-columns:86px 1fr 86px;
  align-items:center;
  gap:12px;
  text-align:center;
  margin:0 auto 16px;
  padding:8px 12px 0;
}
.official-kop-logo{
  width:82px;
  height:82px;
  display:grid;
  place-items:center;
}
.official-kop-logo img{
  max-width:78px;
  max-height:78px;
  object-fit:contain;
}
.official-kop-center{
  min-width:0;
}
.official-kop-ministry{
  font-weight:900;
  font-size:1.02em;
  letter-spacing:.01em;
  color:#111;
}
.official-kop-school{
  font-weight:900;
  font-size:1.28em;
  margin-top:3px;
  color:#111;
}
.official-kop-address{
  margin-top:4px;
  font-size:.84em;
  font-style:italic;
  color:#333;
}
.official-kop-rule{
  grid-column:1/-1;
  border-top:3px solid #111;
  border-bottom:1px solid #111;
  height:5px;
  margin-top:4px;
}
.official-kop-title{
  grid-column:1/-1;
  font-weight:900;
  font-size:1.05em;
  letter-spacing:.02em;
  text-transform:uppercase;
  margin-top:2px;
}
.official-kop-subtitle{
  grid-column:1/-1;
  font-weight:700;
  font-size:.82em;
  margin-top:-5px;
  color:#333;
}
.official-signature{
  display:grid;
  grid-template-columns:1fr minmax(230px,320px);
  margin-top:24px;
  font-size:.92em;
}
.official-signature-box{
  text-align:center;
  line-height:1.45;
}
.official-signature-space{
  height:62px;
}
.official-signature-box strong{
  display:block;
  text-decoration:underline;
}
.official-signature-box span{
  display:block;
}
.journal-official-card textarea{
  width:100%;
}

/* Better print output for schedule/journal pages */
@media print{
  @page{
    size:A4;
    margin:10mm;
  }
  body{
    background:#fff!important;
  }
  body .sidebar,
  body .topbar,
  body .page-head,
  body .teacher-mobile-header,
  body .teacher-bottom-nav,
  body .no-print,
  body #toasts,
  body #loading{
    display:none!important;
  }
  body .app,
  body .main,
  body .content{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  body .content > *{
    display:none!important;
  }
  body .content > .card:has(.print-area),
  body .content > .print-area,
  body .content #jrBody:has(.print-area),
  body .content #tjBody:has(.print-area),
  body .content #reportBody:has(.print-area){
    display:block!important;
  }
  .print-area,
  .print-area *{
    visibility:visible!important;
  }
  .print-area{
    width:100%!important;
    max-width:none!important;
    border:none!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
  }
  .official-print-sheet{
    border:none!important;
    box-shadow:none!important;
  }
  .official-kop{
    grid-template-columns:25mm 1fr 25mm;
    gap:4mm;
    padding:0 4mm;
    margin-bottom:4mm;
  }
  .official-kop-logo{
    width:24mm;
    height:24mm;
  }
  .official-kop-logo img{
    max-width:22mm;
    max-height:22mm;
  }
  .official-kop-ministry{font-size:11pt}
  .official-kop-school{font-size:13pt}
  .official-kop-address{font-size:8.5pt}
  .official-kop-title{font-size:10pt}
  .official-kop-subtitle{font-size:8pt}
  .schedule-table{
    font-size:8pt!important;
    min-width:0!important;
    width:100%!important;
  }
  .schedule-table th,.schedule-table td{
    padding:2mm 1.2mm!important;
  }
  .table-scroll{
    overflow:visible!important;
  }
  textarea,input,select{
    border:1px solid #999!important;
    background:#fff!important;
    color:#111!important;
  }
  textarea{
    resize:none!important;
    overflow:visible!important;
  }
  .official-signature{
    grid-template-columns:1fr 70mm;
    font-size:9pt;
    break-inside:avoid;
  }
}
@media(max-width:700px){
  .official-kop{
    grid-template-columns:60px 1fr 60px;
    gap:8px;
    padding-left:2px;
    padding-right:2px;
  }
  .official-kop-logo{
    width:58px;
    height:58px;
  }
  .official-kop-logo img{
    max-width:56px;
    max-height:56px;
  }
  .official-kop-ministry{font-size:.78em}
  .official-kop-school{font-size:1em}
  .official-kop-address{font-size:.68em}
  .official-kop-title{font-size:.86em}
}
