/* HORIZON SGE 29.4 — Central institucional, biblioteca e saídas oficiais
   Esta camada é carregada por último para uniformizar módulos legados. */

/* Pesquisa antiga de funcionalidades removida do portal. */
#horizon-sge-app #system-container .h31-menu-search{display:none!important}

/* Ícones das funcionalidades: a cor é semântica/de apoio, enquanto a marca permanece azul. */
#horizon-sge-app #system-container #menu-area nav a i{
  display:inline-grid!important;place-items:center!important;
  width:27px!important;height:27px!important;min-width:27px!important;
  border-radius:8px!important;font-size:13px!important;
  transition:transform .16s ease,background .16s ease,color .16s ease!important;
}
#horizon-sge-app #system-container #menu-area nav a:hover i{transform:translateY(-1px)}
#horizon-sge-app #system-container #menu-area nav a.hsg-icon-azure i{background:rgba(37,132,230,.18)!important;color:#8BC6FF!important}
#horizon-sge-app #system-container #menu-area nav a.hsg-icon-cyan i{background:rgba(6,182,212,.18)!important;color:#67E8F9!important}
#horizon-sge-app #system-container #menu-area nav a.hsg-icon-emerald i{background:rgba(16,185,129,.18)!important;color:#6EE7B7!important}
#horizon-sge-app #system-container #menu-area nav a.hsg-icon-amber i{background:rgba(245,158,11,.19)!important;color:#FCD34D!important}
#horizon-sge-app #system-container #menu-area nav a.hsg-icon-coral i{background:rgba(249,115,96,.19)!important;color:#FDA89C!important}
#horizon-sge-app #system-container #menu-area nav a.hsg-icon-lime i{background:rgba(132,204,22,.18)!important;color:#BEF264!important}
#horizon-sge-app #system-container #menu-area nav a.hsg-icon-teal i{background:rgba(20,184,166,.18)!important;color:#5EEAD4!important}
#horizon-sge-app #system-container #menu-area nav a.hsg-icon-rose i{background:rgba(244,63,94,.18)!important;color:#FDA4AF!important}
#horizon-sge-app #system-container #menu-area nav a.active i{background:#EAF4FF!important;color:#075CAB!important}
@media(min-width:901px){
  #horizon-sge-app #system-container.sidebar-collapsed #menu-area nav a i{width:34px!important;height:34px!important;border-radius:10px!important}
}

/* ---------- Biblioteca Digital ---------- */
#horizon-sge-app .library-hero{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:26px 28px;margin-bottom:16px;border-radius:20px;color:#fff;
  background:linear-gradient(120deg,#004A99 0%,#1A75D3 100%);box-shadow:0 14px 32px rgba(0,74,153,.14)
}
#horizon-sge-app .library-hero:after{content:"";position:absolute;right:-55px;bottom:-100px;width:240px;height:240px;border:1px solid rgba(255,255,255,.14);border-radius:50%}
#horizon-sge-app .library-kicker{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:850;letter-spacing:.12em}
#horizon-sge-app .library-hero .library-kicker{color:rgba(255,255,255,.76)}
#horizon-sge-app .library-hero h2{margin:5px 0 5px!important;color:#fff!important;font-size:25px!important}
#horizon-sge-app .library-hero p{margin:0!important;color:rgba(255,255,255,.82)!important}
#horizon-sge-app .library-hero-icon{display:grid;place-items:center;width:74px;height:74px;flex:0 0 74px;border-radius:20px;background:rgba(255,255,255,.13);font-size:31px;color:#fff;transform:rotate(-3deg)}
#horizon-sge-app .library-official-sources{
  display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:16px
}
#horizon-sge-app .library-source-intro,#horizon-sge-app .library-official-sources>a,#horizon-sge-app .library-mec-add{
  min-height:76px;padding:14px 16px;border:1px solid var(--ws-border,#DCE6F0);border-radius:15px;background:var(--ws-surface,#fff);color:var(--ws-text,#10243E)
}
#horizon-sge-app .library-source-intro{display:flex;flex-direction:column;justify-content:center}
#horizon-sge-app .library-source-intro strong{font-size:13px}#horizon-sge-app .library-source-intro span{margin-top:4px;font-size:11px;color:var(--ws-muted,#65778B);line-height:1.4}
#horizon-sge-app .library-official-sources>a,#horizon-sge-app .library-mec-add{display:flex;align-items:center;gap:11px;text-align:left;text-decoration:none;cursor:pointer;box-shadow:none;transition:.16s ease}
#horizon-sge-app .library-official-sources>a:hover,#horizon-sge-app .library-mec-add:hover{transform:translateY(-2px);border-color:#A9CAE9;box-shadow:0 8px 22px rgba(0,74,153,.08)}
#horizon-sge-app .library-official-sources>a>i:first-child,#horizon-sge-app .library-mec-add>i:first-child{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:#EAF4FF;color:#075CAB}
#horizon-sge-app .library-official-sources>a>i:last-child{margin-left:auto;color:#71869B;font-size:11px}
#horizon-sge-app .library-official-sources b,#horizon-sge-app .library-official-sources small{display:block}#horizon-sge-app .library-official-sources b{font-size:12px}#horizon-sge-app .library-official-sources small{margin-top:3px;color:var(--ws-muted,#65778B);font-size:10px}
#horizon-sge-app .library-mec-add{border-style:dashed!important}
#horizon-sge-app .library-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px auto;gap:10px;align-items:center;margin-bottom:12px;padding:12px;border:1px solid var(--ws-border,#DCE6F0);border-radius:15px;background:var(--ws-surface,#fff)}
#horizon-sge-app .library-search{height:42px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #C8D6E5;border-radius:10px;background:var(--ws-surface-2,#F8FAFC)}
#horizon-sge-app .library-search i{color:#1A75D3}#horizon-sge-app .library-search input{width:100%!important;height:auto!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#horizon-sge-app .library-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 2px;color:var(--ws-muted,#65778B);font-size:11px}#horizon-sge-app .library-summary strong{color:var(--ws-text,#10243E);font-size:14px}
#horizon-sge-app .library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#horizon-sge-app .library-card{display:grid;grid-template-columns:78px 1fr;min-height:190px;overflow:hidden;border:1px solid var(--ws-border,#DCE6F0);border-radius:16px;background:var(--ws-surface,#fff);box-shadow:0 5px 20px rgba(18,52,86,.045)}
#horizon-sge-app .library-cover{display:grid;place-items:center;background:linear-gradient(180deg,#EAF4FF,#F5FAFF);color:#075CAB;font-size:27px;overflow:hidden}#horizon-sge-app .library-cover img{width:100%;height:100%;object-fit:cover}
#horizon-sge-app .library-card.type-apostila .library-cover{background:#ECFDF5;color:#047857}#horizon-sge-app .library-card.type-documento .library-cover{background:#FFF7ED;color:#C2410C}#horizon-sge-app .library-card.type-artigo .library-cover{background:#F0FDFA;color:#0F766E}#horizon-sge-app .library-card.type-video .library-cover{background:#FFF1F2;color:#BE123C}#horizon-sge-app .library-card.type-link .library-cover{background:#EEF2FF;color:#4F46E5}
#horizon-sge-app .library-card-body{display:flex;flex-direction:column;min-width:0;padding:15px}#horizon-sge-app .library-card-body h3{margin:8px 0 5px!important;font-size:14px!important;color:var(--ws-text,#10243E)!important}#horizon-sge-app .library-card-body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 7px!important;font-size:11px!important;color:var(--ws-muted,#65778B)!important;line-height:1.45}#horizon-sge-app .library-card-body>small{margin-top:auto;color:var(--ws-muted,#65778B);font-size:10px}
#horizon-sge-app .library-meta{display:flex;gap:5px;flex-wrap:wrap}#horizon-sge-app .library-meta>span{padding:3px 7px;border-radius:99px;background:#EEF4FA;color:#536B82;font-size:9px;font-weight:750}#horizon-sge-app .library-meta .library-source-badge{background:#E9F7F5;color:#08776D}
#horizon-sge-app .library-actions{display:flex;gap:6px;margin-top:11px}#horizon-sge-app .library-actions .btn-sys-primary{flex:1;text-align:center;text-decoration:none}
#horizon-sge-app .library-empty{grid-column:1/-1;display:grid;place-items:center;gap:6px;min-height:200px;padding:30px;text-align:center;border:1px dashed var(--ws-border,#DCE6F0);border-radius:16px;background:var(--ws-surface,#fff);color:var(--ws-muted,#65778B)}#horizon-sge-app .library-empty>i{font-size:28px;color:#1A75D3}
#horizon-sge-app .library-editor-backdrop{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:20px;background:rgba(7,25,44,.54);backdrop-filter:blur(5px)}
#horizon-sge-app .library-editor{width:min(850px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--ws-border,#DCE6F0);border-radius:20px;background:var(--ws-surface,#fff);box-shadow:0 24px 70px rgba(2,18,35,.26)}
#horizon-sge-app .library-editor>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid var(--ws-border,#DCE6F0);background:var(--ws-surface,#fff)}#horizon-sge-app .library-editor header h3{margin:4px 0 0!important}#horizon-sge-app .library-editor header button{width:36px;height:36px;border:1px solid var(--ws-border,#DCE6F0);border-radius:10px;background:var(--ws-surface-2,#F8FAFC);color:var(--ws-text,#10243E)}
#horizon-sge-app .library-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:20px}#horizon-sge-app .library-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:650;color:var(--ws-text,#10243E)}#horizon-sge-app .library-form-grid label.full,#horizon-sge-app .library-form-grid fieldset.full{grid-column:1/-1}#horizon-sge-app .library-form-grid small{color:var(--ws-muted,#65778B);font-weight:450}#horizon-sge-app .library-form-grid fieldset{border:1px solid var(--ws-border,#DCE6F0);border-radius:12px;padding:11px 13px}#horizon-sge-app .library-check{display:inline-flex!important;flex-direction:row!important;margin:4px 14px 4px 0!important;align-items:center!important}
#horizon-sge-app .library-upload-label{padding:13px;border:1px dashed #AFC7DF;border-radius:12px;background:var(--ws-surface-2,#F8FAFC)}#horizon-sge-app [data-library-upload-status].is-loading{color:#B45309}#horizon-sge-app [data-library-upload-status].is-success{color:#047857}#horizon-sge-app [data-library-upload-status].is-error{color:#B91C1C}
#horizon-sge-app .library-editor form>footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid var(--ws-border,#DCE6F0);background:var(--ws-surface,#fff)}

/* ---------- Carteirinhas e documentos dentro do portal ---------- */
#horizon-sge-app .carteirinha,#horizon-sge-app .hsg18-student-card{
  position:relative;overflow:hidden!important;border:1px solid #BED7EC!important;border-radius:20px!important;
  background:linear-gradient(145deg,#FFFFFF 0%,#F1F7FD 100%)!important;box-shadow:0 14px 36px rgba(0,74,153,.10)!important
}
#horizon-sge-app .carteirinha:before,#horizon-sge-app .hsg18-student-card:before{content:"";position:absolute;right:-60px;top:-75px;width:180px;height:180px;border-radius:50%;background:rgba(26,117,211,.08);pointer-events:none}
#horizon-sge-app .carteirinha .cabecalho,#horizon-sge-app .hsg18-card-top{background:linear-gradient(115deg,#004A99,#1A75D3)!important;color:#fff!important}
#horizon-sge-app .hsg18-card-stage{border:1px solid var(--ws-border,#DCE6F0)!important;border-radius:19px!important;background:linear-gradient(135deg,#EAF4FF,#F8FBFF)!important}
#horizon-sge-app .hsg18-doc-preview{max-width:760px;margin:auto;padding:30px!important;border:1px solid #C9DDEB!important;border-radius:18px!important;background:#fff!important;box-shadow:0 16px 40px rgba(18,52,86,.08)!important;text-align:left!important}
#horizon-sge-app .hsg18-doc-brand{display:inline-flex;align-items:baseline;gap:4px;padding-bottom:12px;margin-bottom:18px;border-bottom:3px solid #1A75D3;color:#004A99!important;font-weight:850;letter-spacing:.04em}
#horizon-sge-app .hsg18-doc-status{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;background:#ECFDF5;color:#047857}
#horizon-sge-app .hsg18-doc-status small{display:block;color:#4B6B61!important}
#horizon-sge-app .hsg18-code{margin:18px 0;padding:10px 12px;border-radius:10px;background:#EEF4FA;color:#536B82;font-size:11px}
#horizon-sge-app .report-card,#horizon-sge-app .hsg19-report-card,#horizon-sge-app .hsg281-doc-card,#horizon-sge-app .hsg281-emit-card,#horizon-sge-app .hsg281-issued-row{
  border-color:var(--ws-border,#DCE6F0)!important;background:var(--ws-surface,#fff)!important;box-shadow:0 6px 22px rgba(18,52,86,.05)!important
}
#horizon-sge-app .report-card-header{background:linear-gradient(115deg,#004A99,#1A75D3)!important}
#horizon-sge-app .hsg19-report-card{position:relative;overflow:hidden!important}
#horizon-sge-app .hsg19-report-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#004A99,#1A75D3)}
#horizon-sge-app .hsg281-doc-icon,#horizon-sge-app .hsg281-emit-icon,#horizon-sge-app .hsg15-doc-icon{background:#EAF4FF!important;color:#075CAB!important}

/* ---------- Dark mode coverage for new/legacy document surfaces ---------- */






/* ---------- Responsive library/docs ---------- */
@media(max-width:1180px){#horizon-sge-app .library-official-sources{grid-template-columns:repeat(2,minmax(0,1fr))}#horizon-sge-app .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){
 #horizon-sge-app .library-hero{padding:20px;border-radius:16px}#horizon-sge-app .library-hero-icon{width:56px;height:56px;flex-basis:56px;font-size:24px}#horizon-sge-app .library-hero h2{font-size:21px!important}
 #horizon-sge-app .library-official-sources{grid-template-columns:1fr}#horizon-sge-app .library-toolbar{grid-template-columns:1fr}#horizon-sge-app .library-grid{grid-template-columns:1fr}
 #horizon-sge-app .library-form-grid{grid-template-columns:1fr}#horizon-sge-app .library-form-grid label.full,#horizon-sge-app .library-form-grid fieldset.full{grid-column:auto}#horizon-sge-app .library-editor-backdrop{padding:8px}#horizon-sge-app .library-editor{max-height:calc(100dvh - 16px);border-radius:16px}
 #horizon-sge-app .library-summary{align-items:flex-start;flex-direction:column}
 #horizon-sge-app .hsg18-doc-preview{padding:20px!important}
}
@media(max-width:420px){
 #horizon-sge-app .library-hero-icon{display:none}#horizon-sge-app .library-card{grid-template-columns:60px 1fr}#horizon-sge-app .library-cover{font-size:21px}#horizon-sge-app .library-card-body{padding:12px}#horizon-sge-app .library-actions{flex-wrap:wrap}#horizon-sge-app .library-actions .btn-sys-primary{flex-basis:100%}
}

/* Print previews look like documents, not app cards. */
@media print{
 #horizon-sge-app .hsg18-doc-preview,#horizon-sge-app .report-card,#horizon-sge-app .hsg19-report-card{border:0!important;box-shadow:none!important;background:#fff!important;color:#111!important}
}

/* Carteira digital legada: mantém o mesmo desenho institucional da 29.4. */
#horizon-sge-app .digital-card{position:relative!important;overflow:hidden!important;min-width:min(420px,100%)!important;border:1px solid #BCD5EA!important;border-radius:20px!important;background:linear-gradient(145deg,#fff,#F2F8FD)!important;box-shadow:0 14px 34px rgba(0,74,153,.10)!important}
#horizon-sge-app .digital-card-header{padding:15px 18px!important;background:linear-gradient(115deg,#004A99,#1A75D3)!important;color:#fff!important}.digital-card-header *{color:inherit!important}
#horizon-sge-app .digital-card-body{padding:20px!important}.digital-card-footer{padding:10px 18px!important;background:#EAF4FF!important;color:#075CAB!important;border-top:1px solid #D1E4F5!important}
#horizon-sge-app .student-monogram{background:linear-gradient(135deg,#004A99,#1A75D3)!important;color:#fff!important;box-shadow:0 7px 18px rgba(0,74,153,.16)!important}

@media(max-width:600px){#horizon-sge-app .digital-card{min-width:0!important;width:100%!important}.student-detail-panel{align-items:stretch!important}.student-detail-panel>div{width:100%}}
