:root{--rh-blue:#0759c7;--rh-blue-deep:#063b86;--rh-sky:#eaf6ff;--rh-yellow:#ffd84d;--rh-ink:#10213d;--rh-muted:#607089;--rh-line:#dce7f4;--rh-card:#fff;--rh-success:#16865b;--rh-danger:#c43c46;--rh-shadow:0 18px 45px rgba(22,55,99,.10)}
.rh-shell{position:relative;color:var(--rh-ink)}
.rh-hero{overflow:hidden;position:relative;border:1px solid #cfe2fb;border-radius:24px;padding:1.5rem;background:linear-gradient(125deg,#fff 0%,#f5fbff 52%,#e8f5ff 100%);box-shadow:var(--rh-shadow)}
.rh-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-110px;top:-140px;background:radial-gradient(circle,rgba(255,216,77,.42),rgba(255,216,77,0) 68%);pointer-events:none}
.rh-kicker{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #bfdbff;background:#fff;border-radius:999px;padding:.35rem .7rem;color:var(--rh-blue);font-weight:800;font-size:.78rem;letter-spacing:.02em;text-transform:uppercase}
.rh-hero h2{font-size:clamp(1.45rem,3vw,2.35rem);font-weight:850;letter-spacing:-.035em;color:var(--rh-blue-deep);margin:.7rem 0 .35rem}.rh-hero p{color:var(--rh-muted);max-width:820px;margin:0}
.rh-workspace-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding:.8rem 1rem;border-radius:16px;background:linear-gradient(90deg,var(--rh-blue-deep),var(--rh-blue));color:#fff}.rh-workspace-banner a{color:#fff}.rh-workspace-banner strong{display:block;font-size:1.02rem}.rh-workspace-banner small{opacity:.82}
.rh-searchbar{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 210px auto;gap:.65rem;margin-top:1.15rem}.rh-search-input{height:54px;border:1px solid #bfd4eb;border-radius:15px;padding:0 1rem;box-shadow:0 7px 22px rgba(7,89,199,.06)}.rh-search-input:focus,.rh-control:focus{border-color:var(--rh-blue);box-shadow:0 0 0 .23rem rgba(7,89,199,.13)}.rh-control{border:1px solid #cbdced;border-radius:12px;min-height:42px}.rh-search-btn{min-width:138px;border-radius:14px;font-weight:800;background:linear-gradient(135deg,var(--rh-blue),#0975e8);border:0;color:#fff}.rh-search-btn:hover{background:linear-gradient(135deg,var(--rh-blue-deep),var(--rh-blue));color:#fff}
.rh-concepts{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.rh-concept{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #b9d7fa;background:#fff;color:#164d91;border-radius:999px;padding:.32rem .65rem;font-size:.82rem;font-weight:700}.rh-concept button{border:0;background:transparent;color:inherit;padding:0;line-height:1}
.rh-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1rem;margin-top:1rem}.rh-filters,.rh-panel{border:1px solid var(--rh-line);background:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(22,55,99,.06)}.rh-filters{padding:1rem;align-self:start;position:sticky;top:1rem}.rh-filter-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rh-line);padding-bottom:.7rem;margin-bottom:.8rem}.rh-filter-group{margin-bottom:.85rem}.rh-filter-group label{font-size:.78rem;font-weight:800;color:#415471;text-transform:uppercase;letter-spacing:.035em;margin-bottom:.3rem}.rh-check{display:flex;align-items:center;gap:.55rem;font-size:.9rem;color:#334864;margin:.5rem 0}.rh-panel{padding:1rem}
.rh-results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.8rem}.rh-results-toolbar strong{color:var(--rh-blue-deep)}.rh-provider-summary{display:flex;flex-wrap:wrap;gap:.4rem}.rh-provider-chip{font-size:.76rem;border:1px solid #d5e3f3;border-radius:999px;background:#f8fbff;padding:.28rem .55rem;color:#53637b}.rh-provider-chip.is-error{border-color:#f1c7cb;background:#fff6f7;color:#9c3039}
.rh-notice{display:flex;align-items:flex-start;gap:.55rem;border-radius:13px;padding:.72rem .85rem;margin:.65rem 0;font-size:.9rem}.rh-notice.info{background:#edf7ff;color:#174b82;border:1px solid #cce8ff}.rh-notice.warn{background:#fff8db;color:#6b5410;border:1px solid #f6df86}.rh-notice.error{background:#fff1f2;color:#8f2932;border:1px solid #f4c4c9}.rh-notice.success{background:#edf9f3;color:#176744;border:1px solid #bfe6d2}
.rh-result-list{display:grid;gap:.8rem}.rh-result-card{border:1px solid #dce7f4;border-radius:18px;padding:1rem;background:#fff;transition:.18s ease;box-shadow:0 8px 24px rgba(22,55,99,.045)}.rh-result-card:hover{transform:translateY(-2px);border-color:#afd1f7;box-shadow:0 15px 34px rgba(22,55,99,.095)}.rh-result-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.rh-result-card h3{font-size:1.08rem;line-height:1.32;color:var(--rh-blue-deep);margin:0 0 .35rem}.rh-result-meta{font-size:.87rem;color:var(--rh-muted)}.rh-completeness{min-width:62px;text-align:center;border-radius:12px;padding:.4rem .45rem;background:#f0f7ff;color:var(--rh-blue);font-weight:850;font-size:.8rem}.rh-abstract{color:#465b77;font-size:.9rem;line-height:1.5;margin:.75rem 0}.rh-badges{display:flex;flex-wrap:wrap;gap:.38rem}.rh-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.27rem .55rem;font-size:.74rem;font-weight:760;background:#eef5ff;color:#1455a2;border:1px solid #cfe2fa}.rh-badge.oa{background:#edf9f3;color:#16704a;border-color:#bee4d0}.rh-badge.warn{background:#fff8dc;color:#735c16;border-color:#eedc94}.rh-source-badge{background:#f7f8fb;color:#4e6077;border-color:#e0e5ec}.rh-result-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;border-top:1px solid #edf1f6;margin-top:.85rem;padding-top:.8rem}.rh-result-actions .btn{border-radius:11px;font-weight:730}.rh-saved-state{margin-left:auto;font-size:.79rem;font-weight:750;color:var(--rh-success)}
.rh-empty{text-align:center;padding:3rem 1rem;color:var(--rh-muted)}.rh-empty i{font-size:2.7rem;color:#7eb6ee}.rh-empty h3{color:var(--rh-blue-deep);margin-top:.7rem}.rh-loading{display:grid;place-items:center;min-height:230px;color:var(--rh-muted)}
.rh-drawer .offcanvas-header{background:linear-gradient(120deg,var(--rh-blue-deep),var(--rh-blue));color:#fff}.rh-drawer .btn-close{filter:invert(1)}.rh-drawer{width:min(660px,100vw)!important}.rh-drawer-section{padding:1rem 0;border-bottom:1px solid var(--rh-line)}.rh-drawer-section h4{font-size:.88rem;text-transform:uppercase;letter-spacing:.04em;color:#50637d;font-weight:850}.rh-metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.rh-meta-cell{border:1px solid #e0e9f3;border-radius:12px;padding:.65rem;background:#fbfdff}.rh-meta-cell span{display:block;font-size:.72rem;text-transform:uppercase;font-weight:800;color:#6b7c93}.rh-meta-cell strong{display:block;margin-top:.2rem;color:#203753;font-size:.88rem;overflow-wrap:anywhere}.rh-drawer-actions{display:flex;gap:.45rem;flex-wrap:wrap;position:sticky;bottom:0;background:#fff;padding:.8rem 0 0}
.rh-modal .modal-content{border:0;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(11,42,85,.2)}.rh-modal .modal-header{background:linear-gradient(120deg,var(--rh-blue-deep),var(--rh-blue));color:#fff}.rh-modal .modal-header .btn-close{filter:invert(1)}.rh-modal-resource{border:1px solid #d8e7f6;background:#f7fbff;border-radius:14px;padding:.75rem;margin-bottom:1rem}.rh-required{color:var(--rh-danger)}
.rh-counter-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:.55rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.25rem}.rh-counter{border:1px solid #dce7f3;border-radius:14px;padding:.7rem;background:#fff;min-width:115px;cursor:pointer;text-align:left}.rh-counter:hover,.rh-counter.active{border-color:#7eb8f3;background:#f0f7ff}.rh-counter strong{display:block;font-size:1.25rem;color:var(--rh-blue-deep)}.rh-counter span{font-size:.76rem;color:var(--rh-muted)}
.rh-library-toolbar{display:flex;justify-content:space-between;gap:.7rem;flex-wrap:wrap;align-items:center;margin-bottom:.8rem}.rh-view-toggle{display:inline-flex;border:1px solid #cfdeed;border-radius:11px;overflow:hidden}.rh-view-toggle button{border:0;background:#fff;color:#50647e;padding:.5rem .7rem}.rh-view-toggle button.active{background:var(--rh-blue);color:#fff}.rh-bulkbar{display:none;align-items:center;gap:.55rem;flex-wrap:wrap;background:#eef6ff;border:1px solid #c8e1fb;border-radius:13px;padding:.65rem;margin-bottom:.8rem}.rh-bulkbar.show{display:flex}.rh-library-table{width:100%;border-collapse:separate;border-spacing:0}.rh-library-table th{font-size:.75rem;color:#607189;text-transform:uppercase;letter-spacing:.035em;background:#f6f9fc;padding:.68rem;border-top:1px solid #e2eaf3;border-bottom:1px solid #e2eaf3}.rh-library-table td{padding:.75rem .68rem;border-bottom:1px solid #e7edf4;vertical-align:top;font-size:.87rem}.rh-library-title{font-weight:780;color:var(--rh-blue-deep)}.rh-status-select{max-width:140px}.rh-library-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.rh-library-card{border:1px solid #dce7f4;border-radius:16px;padding:.9rem;background:#fff}.rh-library-card h3{font-size:1rem;color:var(--rh-blue-deep)}.rh-bibliography{counter-reset:rh-cite}.rh-citation-row{position:relative;padding:1rem 1rem 1rem 3.2rem;border-bottom:1px solid #e3ebf4;line-height:1.55}.rh-citation-row:before{counter-increment:rh-cite;content:counter(rh-cite);position:absolute;left:.75rem;top:1rem;width:1.8rem;height:1.8rem;border-radius:50%;display:grid;place-items:center;background:#eaf4ff;color:var(--rh-blue);font-weight:850;font-size:.78rem}
.rh-health{display:flex;gap:.55rem;align-items:center;border-radius:13px;padding:.7rem .8rem;background:#f8fbff;border:1px solid #dce9f5;font-size:.85rem}.rh-health-dot{width:10px;height:10px;border-radius:50%;background:#a0aec0}.rh-health-dot.ok{background:#21a56d}.rh-health-dot.warn{background:#e0a51c}
@media(max-width:1100px){.rh-layout{grid-template-columns:1fr}.rh-filters{position:static}.rh-counter-grid{grid-template-columns:repeat(4,minmax(110px,1fr))}}
@media(max-width:767px){.rh-hero{padding:1rem;border-radius:18px}.rh-searchbar{grid-template-columns:1fr}.rh-search-btn{height:50px}.rh-result-top{display:block}.rh-completeness{display:inline-block;margin-top:.5rem}.rh-saved-state{width:100%;margin-left:0}.rh-metadata-grid{grid-template-columns:1fr}.rh-library-cards{grid-template-columns:1fr}.rh-counter-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}.rh-library-table-wrap{overflow-x:auto}.rh-library-table{min-width:860px}}
