a{cursor:pointer}.cake-sql-log{background:#fff}.cake-sql-log td{padding:4px 8px;text-align:left;font-family:Monaco,Consolas,Courier New,monospaced}.cake-sql-log caption{color:#fff}pre{color:#000;background:#f0f0f0;padding:15px;-moz-box-shadow:1px 1px 2px rgba(0,0,0,.3);-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.3);box-shadow:1px 1px 2px rgba(0,0,0,.3)}.cake-debug-output{padding:0;position:relative}.cake-debug-output>span{position:absolute;top:5px;right:5px;background:hsla(0,0%,100%,.3);-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;padding:5px 6px;color:#000;display:block;float:left;-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,.25),0 1px 0 hsla(0,0%,100%,.5);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.25),0 1px 0 hsla(0,0%,100%,.5);box-shadow:inset 0 1px 0 rgba(0,0,0,.25),0 1px 0 hsla(0,0%,100%,.5);text-shadow:0 1px 1px hsla(0,0%,100%,.8)}.cake-debug,.cake-error{font-size:16px;line-height:20px;clear:both}.cake-error>a{text-shadow:none}.cake-error{white-space:normal}.cake-stack-trace{background:hsla(0,0%,100%,.7);color:#333;margin:10px 0 5px;padding:10px 10px 0;font-size:120%;line-height:140%;overflow:auto;position:relative;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.cake-stack-trace a{text-shadow:none;background:hsla(0,0%,100%,.7);padding:5px;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;margin:0 4px 10px 2px;font-family:sans-serif;font-size:14px;line-height:14px;display:inline-block;text-decoration:none;-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,.3);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(0,0,0,.3)}.cake-code-dump pre{position:relative;overflow:auto}.cake-context{margin-bottom:10px}.cake-stack-trace pre{color:#000;background-color:#f0f0f0;margin:0 0 10px;padding:1em;overflow:auto;text-shadow:none}.cake-stack-trace li{padding:10px 5px 0;margin:0 0 4px;font-family:monospace;border:1px solid #bbb;-moz-border-radius:4px;-wekbkit-border-radius:4px;border-radius:4px;background:#dcdcdc;background-image:-webkit-gradient(linear,left top,left bottom,from(#fefefe),to(#dcdcdc));background-image:-webkit-linear-gradient(top,#fefefe,#dcdcdc);background-image:-moz-linear-gradient(top,#fefefe,#dcdcdc);background-image:-ms-linear-gradient(top,#fefefe,#dcdcdc);background-image:-o-linear-gradient(top,#fefefe,#dcdcdc);background-image:linear-gradient(top,#fefefe,#dcdcdc)}.cake-code-dump pre,.cake-code-dump pre code{clear:both;font-size:12px;line-height:15px;margin:4px 2px;padding:4px;overflow:auto}.cake-code-dump .code-highlight{display:block;background-color:rgba(255,255,0,.5)}.code-coverage-results div.code-line{padding-left:5px;display:block;margin-left:10px}.code-coverage-results div.uncovered span.content{background:#ecc}.code-coverage-results div.covered span.content{background:#cec}.code-coverage-results div.ignored span.content{color:#aaa}.code-coverage-results span.line-num{color:#666;display:block;float:left;width:20px;text-align:right;margin-right:5px}.code-coverage-results span.line-num strong{color:#666}.code-coverage-results div.start{border:1px solid #aaa;border-width:1px 1px 0;margin-top:30px;padding-top:5px}.code-coverage-results div.end{border:1px solid #aaa;border-width:0 1px 1px;margin-bottom:30px;padding-bottom:5px}.code-coverage-results div.realstart{margin-top:0}.code-coverage-results p.note{color:#bbb;padding:5px;margin:5px 0 10px;font-size:10px}.code-coverage-results span.result-bad{color:#a00}.code-coverage-results span.result-ok{color:#fa0}.code-coverage-results span.result-good{color:#0a0}
html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

body {
  font-family: "Poppins", sans-serif;
  margin: 0;
  font-size: 16px; }

h1, .h1 {
  font-size: 1.5em; }

.p {
  font-size: 1em; }

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 54px;
  background-color: #6200ea;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 1000; }

header h2 {
  margin: 0;
  font-size: 1.5rem; }

.navbar {
  width: 100%;
  padding: 0; }
  .navbar .nav-link {
    display: flex;
    align-items: center;
    margin: 0 0.5em; }

.drawer {
  background-color: #f4f4f4;
  height: 100vh;
  width: 250px;
  position: fixed;
  top: 54px;
  left: 0;
  box-shadow: 2px 0px 4px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease-in-out;
  z-index: 10; }

.drawer.hidden {
  transform: translateX(-100%); }

.drawer nav {
  display: flex;
  flex-direction: column;
  padding: 16px; }

.drawer nav a {
  text-decoration: none;
  padding: 8px 0;
  display: flex;
  justify-content: flex-start;
  align-items: center; }
  .drawer nav a i {
    margin-right: 0.5em; }

main {
  margin-top: 54px;
  padding: 1em 0;
  flex: 1;
  transition: margin-left 0.3s ease-in-out; }

.aside-true main {
  margin-left: 250px; }

footer {
  margin-left: 250px;
  padding: 1em;
  background-color: #eee;
  text-align: center;
  position: relative; }

@media (max-width: 768px) {
  .drawer {
    top: 64px; }

  .drawer.hidden {
    transform: translateX(-100%); }

  .aside-true main {
    margin-left: 0; }

  footer {
    margin-left: 0; } }

#appEvent {
  position: fixed;
  bottom: -100px;
  right: 10px;
  min-width: 80px;
  z-index: 9999; }
  #appEvent.showAlert {
    opacity: 1;
    bottom: 10px;
    transition: all 300ms ease-in; }

.buttonTask {
  padding-right: 100px;
  padding-left: 0; }

.buttonTask {
  border: 0; }
  .buttonTask.active {
    border-radius: 0;
    border: 1px solid #f0c0a8;
    border-bottom: 0;
    background-color: transparent; }

.collapseTask {
  margin-bottom: 1em; }
  .collapseTask.show, .collapseTask.collapsing {
    border: 1px solid #f0c0a8;
    border-top: 0; }

.end-1 {
  right: 1em; }

.tag {
  display: inline-block;
  vertical-align: baseline;
  font-size: 0.85rem;
  padding: 0.4rem;
  border-radius: 5px;
  line-height: 100%; }
  .tag .material-icons {
    font-size: inherit; }

.status-1 {
  background-color: #009c7e;
  color: #fff;
  font-weight: normal; }

.status-2 {
  background-color: #009c7e;
  color: #fff;
  font-weight: normal; }

.status-3 {
  background-color: #d5d141;
  color: #000;
  font-weight: normal; }

.status-4 {
  background-color: #6200ca;
  color: #fff;
  font-weight: normal; }

.status-5 {
  background-color: #0dcaf0;
  color: #fff;
  font-weight: normal; }

.status-6 {
  background-color: #d5d141;
  color: #000;
  font-weight: normal; }

.status-7 {
  background-color: #6200ca;
  color: #fff;
  font-weight: normal; }

.status-8 {
  background-color: #b50061;
  color: #fff;
  font-weight: normal; }

.status-9 {
  background-color: #ccc;
  color: #000;
  font-weight: normal; }

.status-10 {
  background-color: #ccc;
  color: #000;
  font-weight: normal; }

.status-11 {
  background-color: #d5d141;
  color: #000;
  font-weight: normal; }

.tag.status-1 {
  background: #f0f0f0;
  border: 0px solid #005040;
  color: #000; }
  .tag.status-2 {
    background: #f0f0f0;
    border: 0px solid #005040;
    color: #000; }
  .tag.status-3 {
    background: #f0f0f0;
    border: 0px solid #a5a224;
    color: #000; }
  .tag.status-4 {
    background: #f0f0f0;
    border: 0px solid #3d007e;
    color: #000; }
  .tag.status-5 {
    background: #f0f0f0;
    border: 0px solid #098da7;
    color: #000; }
  .tag.status-6 {
    background: #f0f0f0;
    border: 0px solid #a5a224;
    color: #000; }
  .tag.status-7 {
    background: #f0f0f0;
    border: 0px solid #3d007e;
    color: #000; }
  .tag.status-8 {
    background: #f0f0f0;
    border: 0px solid #690038;
    color: #000; }
  .tag.status-9 {
    background: #f0f0f0;
    border: 0px solid #a6a6a6;
    color: #000; }
  .tag.status-10 {
    background: #f0f0f0;
    border: 0px solid #a6a6a6;
    color: #000; }
  .tag.status-11 {
    background: #f0f0f0;
    border: 0px solid #a5a224;
    color: #000; }

:root {
  --bs-primary: #6200ca;
  --bs-secondary: #009c7e;
  --bs-secondary-rgb: #009c7e; }

.btn {
  padding: 1em 2em; }
  .btn:hover, .btn:focus {
    box-shadow: none !important; }
  .btn.btn-sm {
    padding: 0.5em 1em; }
  .btn.btn-xs {
    padding: 0.5em 1em;
    font-size: 12px; }

.btn-primary:hover, .btn-primary:focus {
  --bs-btn-hover-bg: #4e19ad; }

.text-secondary {
  color: #009c7e !important; }

@media (min-width: 576px) {
    .navbar .mainnav {
      display: flex;
      align-items: center;
      width: 100%; } }

@media (min-width: 576px) {
    .navbar .mainnav li:last-child {
      margin-left: auto; } }

.navbar-brand {
  font-weight: 900;
  padding: 0.3em 0; }
  .navbar-brand img {
    margin-right: 0.5em;
    height: 40px; }

.adminteacher .btn-action {
  padding: 0.5em 1em; }
  .adminteacher.registros .row {
    padding: 0.5em 0;
    border-bottom: 1px solid #000; }
    .adminteacher.registros .row:nth-child(odd) {
      background-color: #fafafa; }
  .adminteacher .tableheaders {
    font-weight: bold; }
    @media (max-width: 576px) {
  .adminteacher .tableheaders {
    display: none; } }
  .adminteacher .label {
    font-weight: bold;
    display: none; }
    @media (max-width: 576px) {
  .adminteacher .label {
    display: block; } }

.slider-container {
  width: 80%;
  margin: 1rem auto;
  position: relative; }

.slider-wrapper {
  position: relative; }

#slider {
  width: 100%; }

.slider-tooltip {
  position: absolute;
  top: -30px;
  transform: translateX(-50%);
  background: #222;
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
  white-space: nowrap;
  transition: left 0.2s ease; }

.history {
  height: 100vh; }
  .history main {
    padding: 0;
    margin: 0; }
  .history .editor-container {
    height: 100vh; }

.login main {
  height: 100vh;
  min-height: 500px;
  margin: 0;
  display: flex;
  align-items: center; }

.dashboard h1 {
  font-size: 1.25em;
  font-weight: bold;
  margin: 2em 0 1em; }

.userTeam {
  margin: 3em 0; }
  .userTeam .teamChapter {
    margin: 3em 0; }
  .userTeam .buttonChapter {
    background: transparent;
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-bottom-color: #000;
    padding: 0.5em 1em;
    position: relative; }
    .userTeam .buttonChapter h4 {
      margin: 0;
      display: flex;
      color: #6200ea;
      font-weight: 500;
      padding-right: 2em; }
      .userTeam .buttonChapter h4 i {
        margin-right: 0.5em; }
    .userTeam .buttonChapter .arrow {
      position: absolute;
      right: 0;
      bottom: 0; }
    .userTeam .buttonChapter .up {
      display: none; }
    .userTeam .buttonChapter.active .down {
      display: none; }
      .userTeam .buttonChapter.active .up {
        display: block; }
  .userTeam .collapseChapter {
    padding: 1em 0;
    border: 1px solid transparent; }
    .userTeam .collapseChapter.show h5, .userTeam .collapseChapter.collapsing h5 {
      margin-bottom: 2em; }
  .userTeam .buttonTask {
    background: transparent;
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-bottom-color: #000;
    padding: 0.5em 1em;
    position: relative; }
  .userTeam .container-tasks {
    display: flex;
    justify-content: space-between;
    margin-top: 1em;
    flex-wrap: wrap; }
    @media (max-width: 768px) {
  .userTeam .container-tasks {
    flex-direction: column; } }
  .userTeam .taskCard {
    border-radius: 16px;
    border: 1px solid #b1b1b1;
    width: 47%;
    display: block;
    text-decoration: none;
    color: #000;
    margin-bottom: 1em; }
    @media (max-width: 768px) {
  .userTeam .taskCard {
    width: 100%; } }
    .userTeam .taskCard .content {
      padding: 1em 2em; }
      .userTeam .taskCard .content.border-top {
        border-top: 1px dotted #b1b1b1; }
    .userTeam .taskCard h5 {
      font-size: 2em;
      margin-bottom: 0 !important;
      font-weight: normal;
      padding-top: 0.5em; }
    .userTeam .taskCard .badge {
      padding: 1em 2em; }
    .userTeam .taskCard .label {
      font-weight: 500; }
    .userTeam .taskCard .disabled {
      color: #808080;
      padding-top: 1em;
      display: block; }
    .userTeam .taskCard .fechalimite {
      color: #6200ca; }

.work header {
  background-color: #333;
  min-height: 40px; }
  .work header h1 {
    font-weight: 700; }
  .work .navbar-brand {
    margin: 0; }
  .work .navbar-brand img {
    height: 25px; }
  .work main {
    margin-top: 40px;
    background-color: #eee;
    padding: 0;
    height: calc(100vh - 56px); }
  .work main h1 {
    font-size: 1rem; }
  .work #toolbar {
    display: flex;
    background-color: #ddd; }
  .work #toolbar.hidden {
    display: none; }
  .work #toolbar button {
    display: block;
    cursor: pointer;
    padding: 0.3em;
    margin: 0;
    border: 1px solid #bbb;
    background-color: #ddd;
    font-size: 12px;
    min-width: 40px;
    min-height: 40px; }
    .work #toolbar button div {
      display: none; }
      @media (max-width: 768px) {
    .work #toolbar button div {
      display: block; } }
    .work #toolbar button .material-icons {
      font-size: 20px; }
  .work .btn-xs {
    text-transform: uppercase; }

.TreeMonacoEditor {
  display: flex; }
  .TreeMonacoEditor .treeContainer {
    width: 20%;
    min-width: 300px;
    overflow-x: scroll; }
  .TreeMonacoEditor .editorContainer {
    width: 80%; }
  @media (max-width: 768px) {
  .TreeMonacoEditor {
    flex-direction: column; }
    .TreeMonacoEditor .treeContainer {
      width: 100%; }

    .TreeMonacoEditor .editorContainer {
      width: 100%; } }

#file-selector {
  margin: 10px 0;
  width: 100%;
  padding: 10px;
  font-size: 16px; }

#editor-container {
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: white;
  overflow: hidden; }

#tabs {
  display: flex;
  border-bottom: 1px solid #ccc;
  background-color: #f7f7f7; }
  #tabs button {
    flex: 1;
    padding: 0.5em;
    border: none;
    background-color: #e0e0e0;
    cursor: pointer;
    font-size: 0.75rem; }
  #tabs button.active {
    background: none;
    font-weight: bold; }

.editor-instance {
  height: calc(100vh - 10px - 40px - 60px - 40px); }

#file-tree {
  font-size: 0.8rem;
  margin-bottom: 1em; }
  #file-tree .jstree-anchor {
    white-space: normal; }

.jstree-default .jstree-anchor {
  line-height: auto !important;
  height: auto !important; }

.actions {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #333;
  padding: 0.5em;
  display: flex;
  justify-content: flex-end; }
  .actions .pull-right {
    margin-right: auto; }
  .actions .btn {
    margin-left: 0.5em; }

.actionshistory {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #dedede;
  padding: 0.3em;
  display: flex;
  justify-content: flex-end;
  flex-direction: column; }
  .actionshistory .debugInfo {
    font-family: 'Courier New', Courier, monospace;
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    flex-wrap: wrap; }
  .actionshistory .debugInfo h2 {
    font-size: 16px;
    font-weight: bold;
    display: inline; }
  .actionshistory .debugInfo .ficha {
    background: transparent;
    width: 40%; }
  .actionshistory .debugInfo fichaL {
    width: 100%; }

.pathwarning {
  display: flex;
  align-items: center;
  padding: 1em;
  margin: 0 0 1em 0; }

.pathbox {
  margin: 1em auto; }

.dropzone {
  margin: 1em 0; }

textarea.form-control {
  min-height: 200px; }

.custom-modal.hidden {
  display: none; }

.custom-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  overflow: hidden; }
  .custom-modal .modal-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    top: 0;
    left: 0; }
  .custom-modal .modal-content {
    position: relative;
    background: #ddd;
    border-radius: 8px;
    padding: 0;
    max-width: 90vw;
    max-height: 90vh;
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 2;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6); }
  .custom-modal .modal-content img {
    display: block;
    max-width: 90vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: auto;
    border-radius: 8px; }
  .custom-modal .modal-close {
    position: absolute;
    top: 6px;
    right: 10px;
    background: transparent;
    border: none;
    font-size: 30px;
    line-height: 1;
    color: #444;
    cursor: pointer;
    z-index: 3; }

.loading .inProgress {
  cursor: wait;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .3); }

#file-tree .btn-actions {
  background: none;
  border: none;
  cursor: pointer;
  margin-left: 8px;
  color: #666;
  padding: 0;
  margin: 0; }
  #file-tree .btn-actions .material-icons {
    font-size: 18px;
    position: relative;
    top: 5px; }

#file-tree .btn-actions:hover {
  color: black; }

#custom-context-menu {
  position: absolute;
  background: #fafafa;
  border: 1px solid #333;
  padding: 0.25em;
  border-radius: 5px; }
  #custom-context-menu .menu-item, #custom-context-menu .menu-btn {
    display: flex;
    width: 100%;
    background: transparent;
    border: none;
    align-items: center;
    font-size: 0.75rem; }
  #custom-context-menu .menu-item.danger, #custom-context-menu .menu-btn.danger {
    color: #d00; }
  #custom-context-menu .menu-item:hover, #custom-context-menu .menu-btn:hover {
    background: #eee; }
  #custom-context-menu .material-icons {
    font-size: 16px;
    margin-right: 5px; }

.jstree-default .jstree-node {
  margin-left: 6px !important; }