/* HORIZON SGE 29.3 — Responsive, Dashboard & Library layer */
#horizon-sge-app #system-container{
 --hsg-page-bg:linear-gradient(145deg,#F4F8FC 0%,#EDF5FD 48%,#F8FBFE 100%);
 --hsg-dot:rgba(0,74,153,.075);
}
#horizon-sge-app #system-container .main-content{
 background-color:#F2F7FC!important;
 background-image:radial-gradient(circle at 1px 1px,var(--hsg-dot) 1px,transparent 1.2px),var(--hsg-page-bg)!important;
 background-size:24px 24px,100% 100%!important;
}
/* Header scrolls naturally with the page. */
#horizon-sge-app #system-container .top-header{position:relative!important;top:auto!important;backdrop-filter:none!important}
.admin-bar #horizon-sge-app #system-container .top-header{top:auto!important}

/* Dashboard cards: colorful, interactive and semantic. */
#horizon-sge-app #system-container .dashboard-link-card{
 appearance:none;text-align:left;cursor:pointer;font:inherit;position:relative;overflow:hidden;
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
#horizon-sge-app #system-container .dashboard-link-card::after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-34px;top:-38px;background:rgba(255,255,255,.36)}
#horizon-sge-app #system-container .dashboard-link-card:hover{transform:translateY(-3px)!important;box-shadow:0 14px 28px rgba(19,55,91,.12)!important}
#horizon-sge-app #system-container .dashboard-link-card:focus-visible{outline:3px solid rgba(26,117,211,.28)!important;outline-offset:2px!important}
#horizon-sge-app #system-container .dashboard-link-card.tone-blue{background:linear-gradient(145deg,#EAF4FF,#DDEEFF)!important;border-color:#BBD9F6!important}
#horizon-sge-app #system-container .dashboard-link-card.tone-teal{background:linear-gradient(145deg,#E6F8F6,#D7F2EE)!important;border-color:#B6E3DC!important}
#horizon-sge-app #system-container .dashboard-link-card.tone-amber{background:linear-gradient(145deg,#FFF7E1,#FCECC2)!important;border-color:#F2D990!important}
#horizon-sge-app #system-container .dashboard-link-card.tone-rose{background:linear-gradient(145deg,#FFF0F0,#FBE0E2)!important;border-color:#F2C0C4!important}
#horizon-sge-app #system-container .dashboard-link-card.tone-sky{background:linear-gradient(145deg,#E7F7FC,#D8F0F8)!important;border-color:#B5DDE9!important}
#horizon-sge-app #system-container .dashboard-link-card h3{position:relative;z-index:1;margin:0 0 8px!important}
#horizon-sge-app #system-container .dashboard-link-card .number{position:relative;z-index:1}
#horizon-sge-app #system-container .card-link-hint{position:relative;z-index:1;display:flex;align-items:center;gap:7px;margin-top:10px;font-size:11px;font-weight:750;color:#47637E}
#horizon-sge-app #system-container .card-link-hint i{font-size:10px}


/* Intelligence/dashboard metrics also receive subtle color coding. */
#horizon-sge-app #system-container .hsg-int-grid>div{border:1px solid #CFE0EF!important;box-shadow:none!important}
#horizon-sge-app #system-container .hsg-int-grid>div:nth-child(1){background:linear-gradient(145deg,#EAF4FF,#DDEEFF)!important}
#horizon-sge-app #system-container .hsg-int-grid>div:nth-child(2){background:linear-gradient(145deg,#E7F8F5,#D8F1EC)!important}
#horizon-sge-app #system-container .hsg-int-grid>div:nth-child(3){background:linear-gradient(145deg,#FFF0F0,#FBE1E4)!important}
#horizon-sge-app #system-container .hsg-int-grid>div:nth-child(4){background:linear-gradient(145deg,#FFF7E2,#FCECC4)!important}





/* Tonico: distinct support identity, no purple. */
#horizon-sge-app .tonico-launcher{background:linear-gradient(135deg,#0B6572,#1296A5)!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:0 13px 30px rgba(11,101,114,.26)!important}
#horizon-sge-app .tonico-launcher:hover{background:linear-gradient(135deg,#095A66,#0D8795)!important;transform:translateY(-2px)}
#horizon-sge-app .tonico-launcher .tonico-robot{background:rgba(255,255,255,.96)!important;color:#0B6572!important}

/* Login: institution logo is the visual identity; no duplicate name below. */
#horizon-sge-app #landing-page .institution-brand-login{min-height:148px!important;justify-content:flex-start!important;margin-top:16px!important}
#horizon-sge-app #landing-page .institution-logo-wrap{width:min(270px,72%)!important;height:116px!important;min-width:180px!important;padding:10px!important;border-radius:22px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important}
#horizon-sge-app #landing-page .institution-logo-wrap img{width:100%!important;height:100%!important;max-width:250px!important;max-height:104px!important;object-fit:contain!important}
#horizon-sge-app #landing-page .institution-brand-copy{display:none!important}

/* Digital Library */
#horizon-sge-app .hsg-library-host{display:block}
#horizon-sge-app .library-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px 28px;border-radius:18px;background:linear-gradient(115deg,#004A99,#1A75D3);color:#fff;box-shadow:0 13px 30px rgba(0,74,153,.16);margin-bottom:18px}
#horizon-sge-app .library-kicker{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:850;letter-spacing:.12em;color:inherit}
#horizon-sge-app .library-hero h2{color:#fff!important;margin:7px 0 5px!important;font-size:25px!important}
#horizon-sge-app .library-hero p{color:rgba(255,255,255,.83)!important;margin:0!important;max-width:660px}
#horizon-sge-app .library-hero-icon{width:82px;height:82px;display:grid;place-items:center;border-radius:24px;background:rgba(255,255,255,.13);font-size:34px;flex:0 0 auto}
#horizon-sge-app .library-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:10px;align-items:center;margin-bottom:12px}
#horizon-sge-app .library-search{position:relative;display:flex;align-items:center}.library-search i{position:absolute;left:13px;color:#1A75D3}.library-search input{width:100%;padding-left:38px!important}
#horizon-sge-app .library-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px;color:#64748B;font-size:12px}.library-summary strong{color:#004A99}
#horizon-sge-app .library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
#horizon-sge-app .library-card{min-width:0;display:flex;flex-direction:column;border:1px solid #DCE6F0;border-radius:17px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(18,52,86,.055)}
#horizon-sge-app .library-cover{height:128px;display:grid;place-items:center;background:linear-gradient(135deg,#EAF4FF,#DCEEFF);color:#004A99;font-size:38px;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:linear-gradient(135deg,#E7F8F5,#D4F0EA);color:#0F766E}
#horizon-sge-app .library-card.type-documento .library-cover{background:linear-gradient(135deg,#FFF5DB,#FBE8B1);color:#A46108}
#horizon-sge-app .library-card.type-artigo .library-cover{background:linear-gradient(135deg,#FFF0F0,#FADFE3);color:#B64A58}
#horizon-sge-app .library-card.type-video .library-cover{background:linear-gradient(135deg,#E6F4FD,#D7ECFA);color:#1269A8}
#horizon-sge-app .library-card-body{display:flex;flex-direction:column;gap:8px;padding:16px;flex:1}.library-card-body h3{font-size:16px!important;margin:0!important;line-height:1.25}.library-card-body p{font-size:12px!important;color:#66788B!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library-card-body small{color:#8292A3}.library-meta{display:flex;gap:6px;flex-wrap:wrap}.library-meta span{padding:4px 7px;border-radius:999px;background:#EDF4FB;color:#41617E;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.library-actions{display:flex;gap:7px;margin-top:auto;padding-top:7px}.library-actions .btn-sys-primary{flex:1;justify-content:center}.library-actions .btn-cancel{width:38px;padding:0!important}.library-empty{grid-column:1/-1;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px dashed #C8D8E8;border-radius:17px;background:rgba(255,255,255,.72);color:#718398;text-align:center}.library-empty i{font-size:30px;color:#1A75D3}.library-empty strong{color:#17324D}
#horizon-sge-app .library-editor-backdrop{position:fixed;inset:0;z-index:4500;background:rgba(5,19,34,.58);display:grid;place-items:center;padding:18px}.library-editor{width:min(760px,100%);max-height:min(88vh,820px);overflow:auto;border-radius:20px;background:#fff;border:1px solid #DCE6F0;box-shadow:0 28px 80px rgba(0,0,0,.25)}.library-editor header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid #E4ECF4}.library-editor header h3{margin:4px 0 0!important}.library-editor header>button{width:38px;height:38px;border:0;border-radius:10px;background:#EEF4FA;color:#004A99}.library-editor form{padding:20px 22px}.library-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.library-form-grid label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#50657B}.library-form-grid .full,.library-form-grid fieldset.full{grid-column:1/-1}.library-form-grid fieldset{border:1px solid #DCE6F0;border-radius:12px;padding:12px}.library-form-grid fieldset legend{padding:0 6px;font-size:11px;font-weight:800}.library-check{display:inline-flex!important;grid-auto-flow:column;align-items:center;justify-content:start;margin-right:14px}.library-check input{width:auto!important}.library-upload-label{padding:13px;border:1px dashed #B9CCE0;border-radius:12px;background:#F7FAFD}.library-upload-label small{font-weight:500}.library-editor footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px}

/* Dark variants */










.library-editor-backdrop{}




/* Mobile system-wide: 769–900 */
@media(max-width:900px){
 #horizon-sge-app #landing-page .landing-container{grid-template-columns:1fr!important;min-height:0!important}
 #horizon-sge-app #landing-page .login-institution-panel{display:flex!important;min-height:150px!important;padding:18px 24px!important}
 #horizon-sge-app #landing-page .login-institution-panel .h31-welcome,#horizon-sge-app #landing-page .login-institution-panel .login-platform-copy,#horizon-sge-app #landing-page .login-institution-panel .h31-float{display:none!important}
 #horizon-sge-app #landing-page .institution-brand-login{margin:0!important;min-height:104px!important}
 #horizon-sge-app #system-container .main-content{padding-bottom:34px!important}
 #horizon-sge-app #system-container .top-header{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto!important;gap:8px!important;min-height:64px!important}
 #horizon-sge-app #system-container .top-header .header-left{display:contents!important}
 #horizon-sge-app #system-container #page-title{min-width:0!important;max-width:none!important;font-size:18px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #horizon-sge-app #system-container .h29-notification-wrap{margin-left:0!important}
 #horizon-sge-app #system-container .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 #horizon-sge-app #system-container .dashboard-link-card{min-height:118px!important}
 #horizon-sge-app #system-container :is(.table-wrapper,.table-container){overflow-x:auto!important;-webkit-overflow-scrolling:touch}
 #horizon-sge-app #system-container table{min-width:680px}
 #horizon-sge-app .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #horizon-sge-app .library-toolbar{grid-template-columns:1fr 160px}.library-toolbar .btn-sys-primary{grid-column:1/-1;width:100%;justify-content:center}
 #horizon-sge-app .tonico-support{right:14px!important;bottom:14px!important}.tonico-launcher{min-height:52px!important}
}
/* Tablet/small phones: 561–768 */
@media(max-width:768px){
 #horizon-sge-app #system-container .main-content{padding-inline:14px!important}
 #horizon-sge-app #system-container .top-header{margin-inline:-14px!important;padding-inline:14px!important}
 #horizon-sge-app #system-container .h29-welcome,#horizon-sge-app #system-container .hsg29-control-panel,#horizon-sge-app .library-hero{padding:20px!important;border-radius:15px!important}
 #horizon-sge-app #system-container .hsg29-control-panel{display:block!important}.hsg29-control-actions{margin-top:16px!important}
 #horizon-sge-app #system-container .hsg29-control-actions button{flex:1 1 calc(50% - 8px)!important;justify-content:center!important}
 #horizon-sge-app .library-hero-icon{width:64px;height:64px;font-size:27px}.library-hero h2{font-size:21px!important}
 #horizon-sge-app .library-editor-backdrop{padding:10px}.library-editor{max-height:94vh;border-radius:16px}.library-form-grid{grid-template-columns:1fr}.library-form-grid .full,.library-form-grid fieldset.full{grid-column:auto}
 #horizon-sge-app #landing-page .landing-container{width:100%!important;padding:12px!important}.login-institution-panel{padding:20px 18px!important}.login-card{border-radius:18px!important}
 #horizon-sge-app #landing-page .institution-brand-login{min-height:118px!important}.institution-logo-wrap{height:96px!important;width:min(250px,82%)!important}
}
/* Phones: 421–560 */
@media(max-width:560px){
 #horizon-sge-app #system-container .top-header{grid-template-columns:40px minmax(0,1fr) 40px auto!important;gap:6px!important;padding-block:9px!important}
 #horizon-sge-app #system-container #page-title{font-size:16px!important}
 #horizon-sge-app #system-container :is(.menu-toggle,.h29-notification-trigger,#hsgThemeToggle){width:38px!important;height:38px!important;min-width:38px!important}
 #horizon-sge-app #system-container .profile-trigger{width:42px!important;height:40px!important;padding:4px!important}.profile-trigger .fa-chevron-down{display:none!important}
 #horizon-sge-app #system-container .stats-grid{grid-template-columns:1fr 1fr!important}.dashboard-link-card{min-height:110px!important;padding:15px!important}.dashboard-link-card .number{font-size:25px!important}.card-link-hint{font-size:10px!important}
 #horizon-sge-app #system-container .h29-welcome h2{font-size:19px!important}.h29-welcome p{font-size:12px!important}
 #horizon-sge-app #system-container .hsg29-control-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.hsg29-control-actions button{width:100%!important;font-size:11px!important;padding:9px 7px!important}
 #horizon-sge-app .library-grid{grid-template-columns:1fr}.library-toolbar{grid-template-columns:1fr}.library-toolbar select,.library-toolbar .btn-sys-primary{grid-column:auto;width:100%}.library-hero-icon{display:none}.library-card{display:grid;grid-template-columns:94px 1fr}.library-cover{height:100%;min-height:150px}.library-card-body{padding:13px}.library-actions{flex-wrap:wrap}.library-actions .btn-sys-primary{min-width:140px}
 #horizon-sge-app .tonico-launch-copy small{display:none!important}.tonico-launcher{padding:7px 12px 7px 7px!important;border-radius:16px!important}.tonico-launcher .tonico-robot{width:38px!important;height:38px!important}.tonico-panel{width:min(94vw,370px)!important;right:0!important;bottom:62px!important}
 #horizon-sge-app #landing-page .login-platform-copy h1{font-size:24px!important}.login-platform-copy p{font-size:17px!important}.login-area-grid{grid-template-columns:1fr!important}.role-option{min-height:54px!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;gap:11px!important;padding-inline:14px!important}.role-option svg{width:24px!important;height:24px!important}
}

@media(max-width:560px){
 #horizon-sge-app #system-container :is(.form-grid,.hsg-form-grid,.hsg282-master-fields){grid-template-columns:1fr!important}
 #horizon-sge-app #system-container :is(.modal,.modal-content){width:min(96vw,560px)!important;max-height:92dvh!important;overflow:auto!important;margin:auto!important}
 #horizon-sge-app #system-container .action-bar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important}
 #horizon-sge-app #system-container .action-bar>button,#horizon-sge-app #system-container .action-bar>.btn-sys-primary{width:100%!important;justify-content:center!important}
 #horizon-sge-app #system-container .search-input-wrapper{width:100%!important;max-width:none!important}
 #horizon-sge-app #system-container .search-input-wrapper input{width:100%!important}
 #horizon-sge-app #system-container .profile-dropdown{right:0!important;min-width:min(310px,90vw)!important}
 #horizon-sge-app #system-container .h29-appearance-panel{width:min(94vw,420px)!important;max-height:88dvh!important;overflow:auto!important}
}

/* Compact phones: 360–420 */
@media(max-width:420px){
 #horizon-sge-app #system-container .main-content{padding-inline:10px!important}.top-header{margin-inline:-10px!important;padding-inline:10px!important}
 #horizon-sge-app #system-container .top-header{grid-template-columns:38px minmax(0,1fr) 36px auto!important;gap:4px!important}
 #horizon-sge-app #system-container #page-title{font-size:15px!important}.h29-notification-panel{position:fixed!important;left:8px!important;right:8px!important;top:72px!important;width:auto!important;max-height:70vh!important}
 #horizon-sge-app #system-container .stats-grid{grid-template-columns:1fr!important}.dashboard-link-card{min-height:96px!important}.dashboard-link-card::after{width:78px;height:78px}
 #horizon-sge-app #system-container .hsg29-control-actions{grid-template-columns:1fr!important}
 #horizon-sge-app .library-card{grid-template-columns:82px 1fr}.library-cover{min-height:165px}.library-card-body h3{font-size:14px!important}.library-card-body p{-webkit-line-clamp:2}
 #horizon-sge-app #landing-page{min-height:100dvh!important}.login-card{padding:17px 13px!important}.login-card h2{font-size:23px!important}.login-card>p{font-size:12px!important}.institution-logo-wrap{width:min(230px,90%)!important;height:86px!important}.login-institution-panel{padding:17px 14px!important}.login-platform-copy{margin-top:8px!important}
}
