/* ========================================================================
   proceedings.css — Merged utils.css + styles.css for MedAI 2025
   ========================================================================== */

/* ========================================================================
   Component: utils (margin, padding, border, text, background, width helpers)
   ========================================================================== */
.m0 { margin: 0 !important; }
.ml0 { margin-left: 0 !important; }
.mr0 { margin-right: 0 !important; }
.mt0 { margin-top: 0 !important; }
.mb0 { margin-bottom: 0 !important; }
.m { margin: 10px !important; }
.ml { margin-left: 10px !important; }
.mr { margin-right: 10px !important; }
.mt { margin-top: 10px !important; }
.mb { margin-bottom: 10px !important; }
.m-sm { margin: 5px !important; }
.ml-sm { margin-left: 5px !important; }
.mr-sm { margin-right: 5px !important; }
.mt-sm { margin-top: 5px !important; }
.mb-sm { margin-bottom: 5px !important; }
.m-lg { margin: 15px !important; }
.ml-lg { margin-left: 15px !important; }
.mr-lg { margin-right: 15px !important; }
.mt-lg { margin-top: 15px !important; }
.mb-lg { margin-bottom: 15px !important; }
.m-xl { margin: 30px !important; }
.ml-xl { margin-left: 30px !important; }
.mr-xl { margin-right: 30px !important; }
.mt-xl { margin-top: 30px !important; }
.mb-xl { margin-bottom: 30px !important; }
.mv { margin-top: 10px !important; margin-bottom: 10px !important; }
.mh { margin-left: 10px !important; margin-right: 10px !important; }
.mv-lg { margin-top: 15px !important; margin-bottom: 15px !important; }
.mh-lg { margin-left: 15px !important; margin-right: 15px !important; }
.mv-sm { margin-top: 5px !important; margin-bottom: 5px !important; }
.mh-sm { margin-left: 5px !important; margin-right: 5px !important; }
.p0 { padding: 0 !important; }
.pl0 { padding-left: 0 !important; }
.pr0 { padding-right: 0 !important; }
.pt0 { padding-top: 0 !important; }
.pb0 { padding-bottom: 0 !important; }
.pv0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.ph0 { padding-left: 0 !important; padding-right: 0 !important; }
.p { padding: 10px !important; }
.pl { padding-left: 10px !important; }
.pr { padding-right: 10px !important; }
.pt { padding-top: 10px !important; }
.pb { padding-bottom: 10px !important; }
.p-sm { padding: 5px !important; }
.pl-sm { padding-left: 5px !important; }
.pr-sm { padding-right: 5px !important; }
.pt-sm { padding-top: 5px !important; }
.pb-sm { padding-bottom: 5px !important; }
.p-lg { padding: 15px !important; }
.pl-lg { padding-left: 15px !important; }
.pr-lg { padding-right: 15px !important; }
.pt-lg { padding-top: 15px !important; }
.pb-lg { padding-bottom: 15px !important; }
.p-xl { padding: 30px !important; }
.pl-xl { padding-left: 30px !important; }
.pr-xl { padding-right: 30px !important; }
.pt-xl { padding-top: 30px !important; }
.pb-xl { padding-bottom: 30px !important; }
.pv { padding-top: 10px !important; padding-bottom: 10px !important; }
.ph { padding-left: 10px !important; padding-right: 10px !important; }
.pv-xl { padding-top: 30px !important; padding-bottom: 30px !important; }
.ph-xl { padding-left: 30px !important; padding-right: 30px !important; }
.pv-lg { padding-top: 15px !important; padding-bottom: 15px !important; }
.ph-lg { padding-left: 15px !important; padding-right: 15px !important; }
.pv-sm { padding-top: 5px !important; padding-bottom: 5px !important; }
.ph-sm { padding-left: 5px !important; padding-right: 5px !important; }
.b0 { border-width: 0 !important; }
.bl0 { border-left-width: 0 !important; }
.br0 { border-right-width: 0 !important; }
.bt0 { border-top-width: 0 !important; }
.bb0 { border-bottom-width: 0 !important; }
.br { border-right: 1px solid rgba(0, 0, 0, 0.12); }
.bl { border-left: 1px solid rgba(0, 0, 0, 0.12); }
.bt { border-top: 1px solid rgba(0, 0, 0, 0.12); }
.bb { border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
.b, .ba {
  border-right: 1px solid rgba(0, 0, 0, 0.12);
  border-left: 1px solid rgba(0, 0, 0, 0.12);
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.radius-clear { border-radius: 0 !important; }
.shadow-clear { box-shadow: 0 0 0 #000 !important; }
.text-white { color: #fff; }
.text-inverse { color: #131e26; }
.text-alpha { color: rgba(255, 255, 255, 0.5); }
.text-pink { color: #f532e5; }
.text-purple { color: #7266ba; }
.text-dark { color: #3a3f51; }
.text-alpha-inverse { color: rgba(0, 0, 0, 0.5); }
.text-green { color: #37bc9b; }
.text-yellow { color: #fad732; }
.text-gray-darker { color: #232735; }
.text-gray-dark { color: #3a3f51; }
.text-gray { color: #dde6e9; }
.text-gray-light { color: #e4eaec; }
.text-gray-lighter { color: #edf1f2; }
.text-sm { font-size: 11.9px; }
.text-md { font-size: 26.6px; }
.text-lg { font-size: 42px; }
.text-nowrap { white-space: nowrap; }
.text-thin { font-weight: 100 !important; }
.text-normal { font-weight: normal !important; }
.text-bold { font-weight: bold !important; }
.inline { display: inline-block !important; }
.block-center { margin: 0 auto; }
.bg-primary { background-color: #5d9cec; color: #ffffff !important; }
.bg-primary-light { background-color: #8bb8f1; color: #ffffff !important; }
.bg-primary-dark { background-color: #2f80e7; color: #ffffff !important; }
.bg-primary small { color: inherit; }
.bg-success { background-color: #27c24c; color: #ffffff !important; }
.bg-success-light { background-color: #43d967; color: #ffffff !important; }
.bg-success-dark { background-color: #1e983b; color: #ffffff !important; }
.bg-success small { color: inherit; }
.bg-info { background-color: #23b7e5; color: #ffffff !important; }
.bg-info-light { background-color: #51c6ea; color: #ffffff !important; }
.bg-info-dark { background-color: #1797be; color: #ffffff !important; }
.bg-info small { color: inherit; }
.bg-warning { background-color: #ff902b; color: #ffffff !important; }
.bg-warning-light { background-color: #ffab5e; color: #ffffff !important; }
.bg-warning-dark { background-color: #f77600; color: #ffffff !important; }
.bg-warning small { color: inherit; }
.bg-danger { background-color: #f05050; color: #ffffff !important; }
.bg-danger-light { background-color: #f47f7f; color: #ffffff !important; }
.bg-danger-dark { background-color: #ec2121; color: #ffffff !important; }
.bg-danger small { color: inherit; }
.bg-green { background-color: #37bc9b; color: #ffffff !important; }
.bg-green-light { background-color: #58ceb1; color: #ffffff !important; }
.bg-green-dark { background-color: #2b957a; color: #ffffff !important; }
.bg-green small { color: inherit; }
.bg-pink { background-color: #f532e5; color: #ffffff !important; }
.bg-pink-light { background-color: #f763eb; color: #ffffff !important; }
.bg-pink-dark { background-color: #e90bd6; color: #ffffff !important; }
.bg-pink small { color: inherit; }
.bg-purple { background-color: #7266ba; color: #ffffff !important; }
.bg-purple-light { background-color: #9289ca; color: #ffffff !important; }
.bg-purple-dark { background-color: #564aa3; color: #ffffff !important; }
.bg-purple small { color: inherit; }
.bg-inverse { background-color: #131e26; color: #ffffff !important; }
.bg-inverse-light { background-color: #243948; color: #ffffff !important; }
.bg-inverse-dark { background-color: #020304; color: #ffffff !important; }
.bg-inverse small { color: inherit; }
.bg-yellow { background-color: #fad732; color: #ffffff !important; }
.bg-yellow-light { background-color: #fbe164; color: #ffffff !important; }
.bg-yellow-dark { background-color: #f3ca06; color: #ffffff !important; }
.bg-yellow small { color: inherit; }
.bg-white { background-color: #ffffff; color: inherit !important; }
.bg-gray-darker { background-color: #232735; color: #ffffff !important; }
.bg-gray-dark { background-color: #3a3f51; color: #ffffff !important; }
.bg-gray { background-color: #dde6e9; color: #515253 !important; }
.bg-gray-light { background-color: #e4eaec; color: #515253 !important; }
.bg-gray-lighter { background-color: #edf1f2; color: #515253 !important; }
.bg-cover { background-size: cover; }
.thumb8  { width: 8px !important; height: 8px !important; }
.thumb16 { width: 16px !important; height: 16px !important; }
.thumb24 { width: 24px !important; height: 24px !important; }
.thumb32 { width: 32px !important; height: 32px !important; }
.thumb48 { width: 48px !important; height: 48px !important; }
.thumb64 { width: 64px !important; height: 64px !important; }
.thumb80 { width: 80px !important; height: 80px !important; }
.thumb96 { width: 96px !important; height: 96px !important; }
.thumb128 { width: 128px !important; height: 128px !important; }
.align-middle { vertical-align: middle; }
.align-top { vertical-align: top; }
.align-bottom { vertical-align: bottom; }
.bg-center { background-position: center center; background-size: cover; }
.list-icon em {
  font-size: 14px; width: 40px; vertical-align: middle; margin: 0;
  display: inline-block; text-align: center;
  -webkit-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s;
  line-height: 30px;
}
.list-icon div:hover em {
  -webkit-transform: scale(3, 3); -ms-transform: scale(3, 3);
  -o-transform: scale(3, 3); transform: scale(3, 3);
}
.wd-xxs { width: 60px; }
.wd-xs { width: 90px; }
.wd-sm { width: 150px; }
.wd-sd { width: 200px; }
.wd-md { width: 240px; }
.wd-lg { width: 280px; }
.wd-xl { width: 320px; }
.wd-xxl { width: 360px; }
.wd-wide { width: 100%; }
.wd-auto { width: auto; }
.wd-zero { width: 0; }
.label-inverse { background-color: #131e26; }
.label-inverse[href]:hover, .label-inverse[href]:focus { background-color: #020304; }
.label-green { background-color: #37bc9b; }
.label-green[href]:hover, .label-green[href]:focus { background-color: #2b957a; }
.label-pink { background-color: #f532e5; }
.label-pink[href]:hover, .label-pink[href]:focus { background-color: #e90bd6; }
.label-purple { background-color: #7266ba; }
.label-purple[href]:hover, .label-purple[href]:focus { background-color: #564aa3; }
.alert-purple { background-color: #7266ba; border-color: #7266ba; color: #ffffff; }
.alert-purple hr { border-top-color: #6254b2; }
.alert-purple .alert-link { color: #e6e6e6; }
.alert-green { background-color: #37bc9b; border-color: #37bc9b; color: #ffffff; }
.alert-green hr { border-top-color: #31a88b; }
.alert-green .alert-link { color: #e6e6e6; }
.alert-pink { background-color: #f532e5; border-color: #f532e5; color: #ffffff; }
.alert-pink hr { border-top-color: #f41ae2; }
.alert-pink .alert-link { color: #e6e6e6; }
.alert-inverse { background-color: #131e26; border-color: #131e26; color: #ffffff; }
.alert-inverse hr { border-top-color: #0a1115; }
.alert-inverse .alert-link { color: #e6e6e6; }
.abs-center-container { position: relative; }
.abs-center {
  height: 50%; overflow: auto; margin: auto;
  position: absolute; top: 0; left: 0; bottom: 0; right: 0;
}
.abs-center.abs-fixed { position: fixed; z-index: 999; }
.abs-center.abs-right { left: auto; right: 20px; text-align: right; }
.abs-center.abs-left { right: auto; left: 20px; text-align: left; }
@media (max-height: 720px) { .abs-center { position: relative; } }
.link-unstyled { text-decoration: none !important; outline: none !important; }
.no-resize { resize: none; max-width: 100%; min-width: 100%; }
.hover-visible .hover-hidden { display: none; }
.hover-visible:hover .hover-hidden { display: block; }
.hover-visible:hover .hover-hidden-inline { display: inline-block; }
.media-box, .media-box-body { overflow: hidden; zoom: 1; }
.media-box, .media-box .media-box { margin-top: 15px; }
.media-box:first-child { margin-top: 0; }
.media-box-object { display: block; }
.media-box-heading { margin: 0 0 5px; }
.media-box > .pull-left { margin-right: 10px; }
.media-box > .pull-right { margin-left: 10px; }
.media-box-list { padding-left: 0; list-style: none; }

/* ========================================================================
   Component: styles.css (custom component overrides)
   ========================================================================== */

/* Notifications */
.notifications {
  z-index: 100000000; opacity: 0.85;
  position: fixed; top: 40px; left: 35%;
}
.notifications .notification {
  border: 1px solid #cfdbe2; border-radius: 4px;
  padding: 15px 25px; margin-bottom: 15px; background-color: #fff;
}
.notifications .danger {
  color: #a94442; background-color: #f2dede; border-color: #ebccd1;
}
.notifications .warning {
  color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc;
}
.notifications .success {
  color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6;
}
.notification:hover {
  opacity: 0.4;
  transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -webkit-transition: opacity 0.25s ease-in-out;
}

.navmenu { width: initial; }
.search-result { max-height: 80px; }

h3, .h3 { font-size: 24px; }
h4, .h4 { font-size: 20px; }
h5, .h5 { font-size: 16px; }

.mejs__container { width: inherit !important; height: 480px !important; }
.height-width-100 { height: 100% !important; width: 100% !important; }
.mejs__layer { height: 100% !important; width: 100% !important; }
#videoWrapper, .vjs-tech { outline: none; }

/* Login (kept for potential future use) */
.login-wrapper {
  display: flex; align-items: center; flex-direction: column;
  justify-content: center; height: 80vh; background: rgba(0, 0, 0, 0.3);
}
.login-formContent {
  -webkit-border-radius: 10px; border-radius: 10px;
  background: #fff; padding: 30px; width: 90%; max-width: 450px;
  position: relative; padding: 0px;
  -webkit-box-shadow: 0 30px 60px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 0 30px 60px 0 rgba(0, 0, 0, 0.3); text-align: center;
}
.login-formFooter {
  background-color: #f6f6f6; border-top: 1px solid #dce8f1;
  padding: 25px; text-align: center;
  -webkit-border-radius: 0 0 10px 10px; border-radius: 0 0 10px 10px;
}
.login-button {
  background-color: #56baed; border: none; color: white;
  padding: 15px 80px; text-align: center; text-decoration: none;
  display: inline-block; text-transform: uppercase; font-size: 13px;
  -webkit-box-shadow: 0 10px 30px 0 rgba(95, 186, 233, 0.4);
  box-shadow: 0 10px 30px 0 rgba(95, 186, 233, 0.4);
  -webkit-border-radius: 5px; border-radius: 5px;
  margin: 5px 20px 40px 20px;
  -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.login-button:hover { background-color: #39ace7; }
.login-button:active {
  -moz-transform: scale(0.95); -webkit-transform: scale(0.95);
  -o-transform: scale(0.95); -ms-transform: scale(0.95); transform: scale(0.95);
}
.loading { color: #39ace7; margin: 20px 0 40px 0; }
.login-input {
  background-color: #f6f6f6; border: none; color: #0d0d0d;
  padding: 15px 32px; text-align: center; text-decoration: none;
  display: inline-block; font-size: 16px; margin: 5px; width: 85%;
  border: 2px solid #f6f6f6;
  -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-border-radius: 5px; border-radius: 5px;
}
.login-input:focus { background-color: #fff; border-bottom: 2px solid #5fbae9; }
.login-input:placeholder { color: #cccccc; }
.underlineHover:after {
  display: block; left: 0; bottom: -10px; width: 0; height: 2px;
  background-color: #56baed; content: ""; transition: width 0.2s;
}
.underlineHover:hover { color: #0d0d0d; }
.underlineHover:hover:after { width: 100%; }
.login-title { color: #60a0ff; }

/* ========================================================================
   New styles for static page (abstract toggle, search, content sections)
   ========================================================================== */
.paper-abstract { display: none; margin-top: 10px; }
.paper-abstract.open { display: block; }

.content-section { }

.paper-item { margin-bottom: 15px; }

.paper-item.hidden-by-search { display: none; }

.session-group.hidden-by-search { display: none; }

.search-result-item .paper-abstract { display: block; }

.navmenu-nav > li > a {
  cursor: pointer;
}

.paper-toggle-btn {
  font-size: 12px; padding: 2px 8px; margin-left: 8px;
}

.front-matter-item, .back-matter-item {
  display: block; padding: 10px 15px;
}

.front-matter-item:hover, .back-matter-item:hover {
  background-color: #f5f5f5; text-decoration: none;
}

.author-entry {
  padding: 8px 15px; border-bottom: 1px solid #eee;
}

.author-entry:last-child { border-bottom: none; }

.author-entry ul { margin-bottom: 0; }

.text-muted-sm { color: #999; font-size: 12px; }

.section-header {
  border-bottom: 2px solid #5d9cec; padding-bottom: 8px;
  margin-top: 25px; margin-bottom: 15px;
}

#search-results .paper-item {
  border: 1px solid #e0e0e0; padding: 15px; margin-bottom: 10px;
  border-radius: 4px;
}

#search-count { margin-top: 10px; }

.banner-clickable { cursor: pointer; }
