@charset "UTF-8";
/*
    Created on : 28.07.2018, 13:49:44
    Author     : andi
*/
/* =========================================================================
   Ja/Nein Voting UI
   ========================================================================= */
.kom_yn_container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}

.kom_yn_question {
  font-size: 1.05rem;
  margin: 0 0 6px;
}

.kom_yn_choice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
  transition: border-color 0.15s, background 0.15s;
  background: #fff;
}
.kom_yn_choice:hover {
  border-color: #888;
  background: #f7f7f7;
}
.kom_yn_choice input[type=radio] {
  margin: 0;
  flex-shrink: 0;
  accent-color: #2271b1;
  width: 18px;
  height: 18px;
}
.kom_yn_choice:has(input:checked) {
  border-color: #2271b1;
  background: #eef5fb;
}

/* =========================================================================
   Schulze Ballot — Stimmzettel + Unranked Pool
   ========================================================================= */
/* Wrapper for the whole ballot */
.kom-schulze-ballot {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
  position: relative;
}

/* ---- Stimmzettel Box (top) ---- */
.kom-stimmzettel-box {
  border: 2px solid #2271b1;
  border-radius: 12px;
  background: #f8fbfe;
}

.kom-stimmzettel-header {
  background: #2271b1;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 7px 14px;
  border-radius: 10px 10px 0 0;
}

/* Ranked area — holds tier rows */
#kom-ranked-area {
  padding: 10px;
  min-height: 60px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Drop-tier: always-visible ghost tier for dragging into */
.kom-drop-tier {
  border: 2px dashed #c5d5e4;
  border-radius: 8px;
  padding: 8px 12px;
  min-height: 48px;
  transition: border-color 0.15s, background 0.15s;
  position: relative;
}
.kom-drop-tier ul.kom-tier-list {
  display: block !important;
  min-height: 44px;
  width: 100%;
  position: relative;
  z-index: 1;
}

.kom-drop-hint {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #96a8b8;
  font-size: 0.85rem;
  font-style: italic;
  pointer-events: none;
  z-index: 0;
}

/* Top drop-tier: slimmer when tiers already exist */
.kom-drop-tier-top {
  min-height: 36px;
  padding: 4px 12px;
}
.kom-drop-tier-top ul.kom-tier-list {
  min-height: 30px;
}

/* Highlight when item hovers over drop-tier */
.kom-drop-tier.ui-sortable-hover,
.kom-drop-tier.kom-drop-active {
  border-color: #2271b1;
  background: #eef5fb;
}

/* ---- Tier row — one rank ---- */
.kom-tier {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 6px 8px;
  background: #fff;
  border: 1px solid #d8e2ec;
  border-radius: 8px;
  min-height: 50px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.kom-tier:focus-within, .kom-tier:hover {
  border-color: #b3cde0;
  box-shadow: 0 1px 4px rgba(34, 113, 177, 0.08);
}

/* Rank number label on the left */
.kom-tier-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: #2271b1;
  min-width: 28px;
  padding-top: 10px;
  text-align: center;
  flex-shrink: 0;
  line-height: 1;
}

/* Sortable list inside a tier */
ul.kom-tier-list {
  list-style: none;
  margin: 0;
  padding: 4px;
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  min-height: 40px;
  box-sizing: border-box;
}

/* ---- Individual ballot chip ---- */
li.kom_choice_column {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px 7px 7px;
  background: #fff;
  border: 2px solid #b3cde0;
  border-radius: 8px;
  cursor: grab;
  font-size: 0.92rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07);
  user-select: none;
  margin: 3px;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
  touch-action: none;
}
li.kom_choice_column:hover {
  border-color: #2271b1;
  background: #f5f9fd;
  box-shadow: 0 2px 6px rgba(34, 113, 177, 0.15);
}
li.kom_choice_column {
  /* SortableJS drag states */
}
li.kom_choice_column.kom-choice-ghost {
  opacity: 0.4;
  background: #eef5fb;
  border-color: #2271b1;
}
li.kom_choice_column.kom-choice-chosen {
  cursor: grabbing !important;
  box-shadow: 0 4px 12px rgba(34, 113, 177, 0.18);
}
li.kom_choice_column.kom-choice-dragging {
  cursor: grabbing !important;
  box-shadow: 0 6px 16px rgba(34, 113, 177, 0.22);
  opacity: 0.93;
  background: #eef5fb;
}

/* Drag handle (grip lines) */
.kom-drag-handle {
  display: flex;
  flex-direction: column;
  gap: 2.5px;
  cursor: grab;
  flex-shrink: 0;
  padding: 3px 2px;
}
.kom-drag-handle span {
  display: block;
  width: 14px;
  height: 2px;
  background: #b0bcc8;
  border-radius: 1px;
}

li.kom_choice_column:active .kom-drag-handle {
  cursor: grabbing;
}

/* Choice label text */
.kom-item-text {
  flex: 1;
  cursor: grab;
}

/* Mobile arrow buttons: hidden by default, shown on touch / small screens */
.kom-item-arrows {
  display: none;
  gap: 1px;
  flex-shrink: 0;
}

.kom-item-arr {
  background: none;
  border: 1px solid #ccd6de;
  border-radius: 4px;
  cursor: pointer;
  color: #6b7a8d;
  font-size: 0.7rem;
  padding: 2px 5px;
  line-height: 1.4;
}
.kom-item-arr:hover {
  background: #eef5fb;
  border-color: #2271b1;
  color: #2271b1;
}

@media (pointer: coarse), (max-width: 600px) {
  .kom-item-arrows {
    display: inline-flex;
  }
}
/* Placeholder slot shown while dragging */
li.kom-choice-placeholder {
  list-style: none;
  display: inline-flex;
  width: 80px;
  min-height: 38px;
  margin: 3px;
  background: #eef5fb;
  border: 2px dashed #b3cde0;
  border-radius: 8px;
}

/* ---- Unranked pool (bottom) ---- */
.kom-unranked-pool {
  background: #f9f9f9;
  border: 2px solid #e0e4e8;
  border-radius: 12px;
  padding: 10px 12px 8px;
}

.kom-unranked-header {
  font-size: 0.78rem;
  color: #7a8694;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.kom-unranked-pool ul.kom-tier-list {
  min-height: 44px;
}

/* Slightly muted chips in the pool */
.kom-unranked-pool li.kom_choice_column {
  border-color: #d4dbe2;
  background: #f3f5f7;
}
.kom-unranked-pool li.kom_choice_column:hover {
  border-color: #2271b1;
  background: #eef5fb;
}

table.download a.baeo-download-file {
  text-decoration: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
table.download a.baeo-download-file:hover {
  color: #990000;
  text-decoration: underline;
}
table.download tr:nth-child(odd) {
  background-color: #ccc;
}
table.download td {
  padding: 0;
}
table.download td:first-child {
  padding-left: 4px;
}

.account_approval_checkbox {
  margin-right: 10px;
}

.project_register label {
  display: inline-block !important;
}
.project_register {
  padding: 10px;
  border: 1px black solid;
  margin-top: 20px;
  margin-bottom: 30px;
}
.project_register label.labelnichtspielen,
.project_register label.labelspielen {
  font-weight: bold;
}
.project_register .kom_project_feedback_saved {
  padding: 2px 2px 2px 10px;
  background: rgba(76, 175, 80, 0.7);
  border: 1px rgb(76, 175, 80) solid;
  color: white;
}

.kom_project_feedback,
.kom_voteinfo {
  padding: 10px;
  border: 1px black solid;
  margin-top: 20px;
  margin-bottom: 30px;
}
.kom_project_feedback .member,
.kom_voteinfo .member {
  color: black;
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.kom_project_feedback .popupinfos label,
.kom_voteinfo .popupinfos label {
  display: inline-block !important;
}
.kom_project_feedback .popupinfos,
.kom_voteinfo .popupinfos {
  visibility: hidden;
  width: 340px;
  max-width: calc(100vw - 16px);
  max-height: 80vh;
  overflow-y: auto;
  cursor: default;
  background-color: #fff;
  color: #000;
  text-align: left;
  border-radius: 8px;
  padding: 12px 14px;
  position: fixed;
  z-index: 9999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
.kom_project_feedback .popupinfos.dragging,
.kom_voteinfo .popupinfos.dragging {
  cursor: grabbing;
  user-select: none;
}
.kom_project_feedback .popupinfos .kom_project_title,
.kom_voteinfo .popupinfos .kom_project_title {
  cursor: move;
  font-size: 1rem;
  margin: 0 0 8px 0;
  line-height: 1.3;
}
.kom_project_feedback .popupinfos .project_edit,
.kom_voteinfo .popupinfos .project_edit {
  color: #000;
}
.kom_project_feedback .popupinfos .project_edit label,
.kom_voteinfo .popupinfos .project_edit label {
  color: #000;
}
.kom_project_feedback .popupinfos .project_edit input,
.kom_project_feedback .popupinfos .project_edit select,
.kom_project_feedback .popupinfos .project_edit textarea,
.kom_voteinfo .popupinfos .project_edit input,
.kom_voteinfo .popupinfos .project_edit select,
.kom_voteinfo .popupinfos .project_edit textarea {
  background-color: #fff;
  color: #000;
  border: 1px solid #ddd;
}
.kom_project_feedback .popupinfos .project_edit input[type=radio],
.kom_project_feedback .popupinfos .project_edit input[type=checkbox],
.kom_voteinfo .popupinfos .project_edit input[type=radio],
.kom_voteinfo .popupinfos .project_edit input[type=checkbox] {
  background-color: transparent;
  color: inherit;
  border: none;
}
.kom_project_feedback .popupinfos .kom_edit_close,
.kom_voteinfo .popupinfos .kom_edit_close {
  cursor: pointer;
  font-weight: bold;
}
.kom_project_feedback .popupinfos .kom_project_title,
.kom_voteinfo .popupinfos .kom_project_title {
  color: #000;
}
.kom_project_feedback .popupinfos label.labelnichtspielen,
.kom_project_feedback .popupinfos label.labelspielen,
.kom_voteinfo .popupinfos label.labelnichtspielen,
.kom_voteinfo .popupinfos label.labelspielen {
  font-weight: bold;
  display: inline-block;
}
.kom_project_feedback .show,
.kom_voteinfo .show {
  visibility: visible;
  -webkit-animation: fadeIn 1s;
  animation: fadeIn 1s;
}
.kom_project_feedback .kom_moreinfos,
.kom_voteinfo .kom_moreinfos {
  font-size: 85%;
  font-style: italic;
  visibility: hidden;
}
.kom_project_feedback .kom_list_student,
.kom_voteinfo .kom_list_student {
  font-size: 65%;
  font-style: italic;
  cursor: default;
  font-weight: bold;
}
.kom_project_feedback .kom_twog_ok,
.kom_voteinfo .kom_twog_ok {
  color: green;
}
.kom_project_feedback .kom_twog_fail,
.kom_voteinfo .kom_twog_fail {
  color: red;
}

#kom_detail_student_button,
#kom_update_twog_button,
#kom_member_infos_standard_button,
#kom_more_details_button {
  margin-right: 15px;
  margin-bottom: 15px;
  font-size: 65%;
  cursor: pointer;
}

.kom_twog_update {
  font-size: 65%;
  margin: 5px;
}

.kom_project_feedback_1 {
  background: rgba(76, 175, 80, 0.3);
  border: 1px rgb(76, 175, 80) solid;
}

.kom_project_feedback_2 {
  background-color: #ff9999;
  border: 1px #990000 solid;
}

.kom_project_feedback_3 {
  background-color: lightgray;
  border: 1px black solid;
}

.kom_ajax_loading_icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: 0;
  z-index: 999;
  border: 3px solid #d8e2ec;
  border-top-color: #2271b1;
  border-radius: 50%;
  animation: kom-spin 0.7s linear infinite;
}

@keyframes kom-spin {
  to {
    transform: rotate(360deg);
  }
}
.kom_memberlist .kom_member_name {
  font-weight: 600;
}
.kom_memberlist .kom_notapproved {
  color: green;
  font-style: italic;
}
.kom_memberlist .anker {
  visibility: hidden;
  position: relative;
  top: -90px;
  margin: 0;
}
.kom_memberlist {
  line-height: 1.3;
}
.kom_memberlist h1, .kom_memberlist h2, .kom_memberlist h3, .kom_memberlist h4, .kom_memberlist h5, .kom_memberlist h6 {
  margin: 13px 0 5px;
}
.kom_memberlist hr {
  margin-bottom: 0.3em;
  padding-top: 0.3em;
}
.kom_memberlist .kom_member {
  min-height: 44px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.kom_memberlist .kom_member img {
  margin-bottom: 0;
  margin-right: 10px;
  margin-top: 4px;
}
.kom_memberlist .kom_member .email, .kom_memberlist .kom_member .mobile {
  white-space: nowrap;
}
.kom_memberlist .kom_member .kom_member_inner {
  margin-top: 4px;
  max-width: 100%;
}
.kom_memberlist .kom_member .kom_member_inner .vorstand,
.kom_memberlist .kom_member .kom_member_inner .komitee {
  font-weight: bold;
}
.kom_memberlist a {
  text-decoration: none;
  border: 0;
}
.kom_memberlist a:hover, .kom_memberlist aa:active {
  text-decoration: none;
  border: 0;
}

.kom_project_feedback hr {
  margin-bottom: 0.3em;
  padding-top: 0.3em;
}
.kom_project_feedback h3 {
  margin: 15px 0 10px;
}

.kom_form {
  padding: 10px;
  margin-bottom: 20px;
}
.kom_form #title {
  margin-bottom: 30px;
}
.kom_form .darken {
  background-color: lightgrey;
  color: black;
}

.konzert ul.werkliste {
  list-style: circle;
}
.konzert ul.werkliste li {
  margin-bottom: 0;
}
.konzert ul.termine, .konzert ul.mitwirkende {
  list-style: none;
  padding-left: 0;
}
.konzert ul.termine li, .konzert ul.mitwirkende li {
  margin-bottom: 0;
}
.konzert .komponist, .konzert .funktion, .konzert .datum {
  font-weight: 700;
}
.konzert {
  /* .muenchenticket {
     background-image: url(images/muenchenticket.png);
     background-repeat: no-repeat;
     background-size: contain;
     background-position: left;
     padding-left: 20px;
   }*/
}

.komtop {
  text-align: right;
}
.komtop:before {
  content: "[⬆";
}
.komtop:after {
  content: "]";
}
.komtop a {
  border-bottom: 0;
}

table.project-select tr:hover,
table.voting-select tr:hover {
  background-color: aquamarine;
}

.kom_button,
.button {
  margin-bottom: 0;
  background-color: #e85555;
  border-radius: 8px;
  border: none;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.5px;
  padding: 5px 10px;
  /* text-transform: uppercase; */
  white-space: normal;
  /* width: auto; */
}

#kom_election_button_container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
#kom_election_button_container .kom_election_button {
  border-radius: 8px;
  color: #fff;
  box-sizing: border-box;
  letter-spacing: 0.4px;
  padding: 8px 18px;
  white-space: nowrap;
  border: none;
  font-size: 0.92rem;
  font-weight: 600;
  cursor: default;
  transition: background 0.15s, box-shadow 0.15s;
}
#kom_election_button_container #kom_save_election {
  cursor: pointer;
  background: #2271b1;
  box-shadow: 0 2px 6px rgba(34, 113, 177, 0.25);
}
#kom_election_button_container #kom_save_election:hover {
  background: #1a5c94;
  box-shadow: 0 3px 10px rgba(34, 113, 177, 0.35);
}
#kom_election_button_container #kom_delete_ballot {
  cursor: pointer;
  background: #c0392b;
}
#kom_election_button_container #kom_delete_ballot:hover {
  background: #a93226;
}
#kom_election_button_container #kom_ballot_saved {
  background: #27ae60;
  cursor: default;
}

.kom_login {
  font-style: italic;
  font-size: 72%;
}

#kom_ajax_loading_icon_voting_form {
  margin: 0;
}

.kom_erklaerung {
  margin-top: 7px;
  margin-bottom: 10px;
}
.kom_erklaerung .kom-italic {
  font-style: italic;
}

.kom_election_result .kom_number {
  font-style: normal;
  font-size: 180%;
}
.kom_election_result .kom_trenner {
  font-size: 130%;
  color: green;
}

.kom_add_infos_cf7 p {
  margin: 0;
}
.kom_add_infos_cf7 p span {
  font-weight: bold;
}
.kom_add_infos_cf7 .kom_missing_infos {
  color: red;
}

#cf7projectid {
  display: none;
}

.kom_feed_instrument {
  list-style-position: inside;
}

.kom_vote_reminder_box,
.kom_project_reminder_box {
  padding: 10px;
  background-color: lightgrey;
  border: 1px solid black;
}
.kom_vote_reminder_box .reminder,
.kom_project_reminder_box .reminder {
  font-size: 140%;
  color: #ff3300;
  font-weight: bold;
}
.kom_vote_reminder_box .reminder a,
.kom_project_reminder_box .reminder a {
  color: #ff3300;
  font-weight: bold;
  text-decoration: none;
  border-bottom: 1px solid #ff3300;
}
.kom_vote_reminder_box .reminder a:hover,
.kom_project_reminder_box .reminder a:hover {
  color: rgb(153, 30.6, 0);
  border-bottom: 1px solid rgb(153, 30.6, 0);
}

.kom_downloader_header {
  cursor: pointer;
}

#cf7studentenstatus {
  position: absolute;
  top: -9999px;
  left: -9999px;
  height: 3px;
}

.time_small {
  margin: 0;
  font-size: 75%;
}

#kom_show_vote_ballots_div, #kom_result_button {
  cursor: pointer;
  width: fit-content;
  margin-top: 10px;
  margin-bottom: 20px;
}

#kom_vote_ballots_div {
  display: none;
  padding-top: 15px;
}

#kom_election_select_table {
  border-spacing: 7px;
}
#kom_election_select_table .kom_election_line {
  background: lightgrey;
  cursor: pointer;
}
#kom_election_select_table .kom_election_line td {
  padding: 5px;
}

.kom_video_youtube {
  position: relative;
  padding-bottom: 56.25%; /* ratio 16x9 */
  height: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
}
.kom_video_youtube #kom_frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 850px) {
  .kom_video_container {
    width: 80%;
    max-height: 100%;
  }
}
.ytp-pause-overlay.ytp-scroll-min,
.ytp-copylink-icon,
.ytp-watermark.yt-uix-sessionlink,
a.ytp-watermark,
.ytp-button.ytp-copylink-button.ytp-show-copylink-title.ytp-copylink-button-visible {
  display: none !important;
  visibility: hidden !important;
}

.chatbox.chatroom {
  width: 20%;
  height: 90%;
}

.chatbox-btn.close-chatbox-button.fa.fa-sign-out-alt,
.chatbox-btn.configure-chatroom-button.fa.fa-wrench,
.chatbox-btn.toggle-bookmark.fa.fa-bookmark {
  display: none !important;
}

@media only screen and (max-width: 849px) {
  #conversejs {
    display: none;
  }
  .kom_video_container {
    width: 100%;
    max-height: 100%;
  }
}
.kom_member_top_change_functions {
  width: 100%;
  margin: 0;
  margin-top: 10px;
  padding: 0;
}

/* Audio listing enhancements for [kom_all_audios] */
.kom-audio {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kom-audio > li.kom_downloader_header {
  list-style: none;
}

.kom-audio-year-header,
.kom-audio-prog-header,
.kom_downloader_header {
  position: relative;
  padding: 10px 12px 10px 36px;
  margin: 12px 0 0;
  border: 1px solid #d9dde3;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f7f9fc);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03);
  cursor: pointer;
}
.kom-audio-year-header::before,
.kom-audio-prog-header::before,
.kom_downloader_header::before {
  content: "📁"; /* 📁 closed folder */
  position: absolute;
  left: 10px;
  top: 8px;
  font-size: 20px;
  line-height: 1;
}
.kom-audio-year-header.kom-open::before,
.kom-audio-prog-header.kom-open::before,
.kom_downloader_header.kom-open::before {
  content: "📂"; /* 📂 open folder */
}

.kom-audio-year-header {
  font-weight: 600;
  font-size: 1.05rem;
  border-width: 1px;
  margin-top: 22px;
}

.kom-audio-year-content {
  border: 1px solid #d9dde3;
  border-top: none;
  border-radius: 0 0 8px 8px;
  margin-top: 0;
  padding: 10px 12px 12px 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.kom-audio-program {
  list-style: none;
  margin: 8px 0 14px 0;
  padding: 0;
}
.kom-audio-program > li.kom-audio-prog-header {
  margin-top: 12px;
  background: #f9fbfe;
  font-size: 1.08rem;
}
.kom-audio-program > li.kom-audio-prog-header::before {
  content: "📁";
}
.kom-audio-program > li.kom-audio-prog-header.kom-open::before {
  content: "📂";
}
.kom-audio-program > .kom-audio-prog-content {
  border-left: 0;
  margin-left: 0;
  padding-left: 0;
  padding-top: 8px;
  padding-bottom: 8px;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

/* download table adjustments */
table.download {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 12px;
}
table.download th, table.download td {
  padding: 6px 8px;
  border-bottom: 1px solid #edf2f7;
}
table.download th {
  text-align: left;
  font-weight: 600;
  color: #334155;
  background: #f8fafc;
}
table.download a.kom-download-file {
  text-decoration: none;
  color: #1f4aa8;
  font-size: 0.9em;
}
table.download a.kom-download-file:hover {
  text-decoration: underline;
  color: #183b86;
}

.project_register {
  /* Try to inherit Astra theme variables with safe fallbacks */
  --kom-surface: var(--ast-container-default-bg, #ffffff);
  --kom-border: var(--ast-border-color, rgba(0, 0, 0, 0.08));
  --kom-text: var(--ast-global-color-3, #1e293b);
  --kom-muted: var(--ast-global-color-5, #475569);
  --kom-shadow: 0 2px 6px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
  background: var(--kom-surface);
  border: 1px solid var(--kom-border);
  border-radius: 12px;
  padding: 18px 20px;
  margin: 18px 0 24px;
  box-shadow: var(--kom-shadow);
  color: var(--kom-text);
}
.project_register h3 {
  margin-top: 0;
  margin-bottom: 10px;
  line-height: 1.2;
}
.project_register .kom_project_feedback_saved {
  display: inline-block;
  margin: 8px 0 14px;
  padding: 6px 10px;
  /* No dedicated Astra success var; keep readable fallbacks */
  background: var(--ast-success-bg, #e8f5e9);
  color: var(--ast-success-color, #1b5e20);
  border: 1px solid rgba(27, 94, 32, 0.2);
  border-radius: 8px;
  font-size: 90%;
}
.project_register .project_registration {
  display: grid;
  gap: 10px 14px;
}
.project_register .project_registration label {
  font-weight: 500;
}
.project_register .project_registration input[type=radio] {
  margin-right: 6px;
}
.project_register .project_registration {
  /* Use theme buttons when present; otherwise provide a subtle default */
}
.project_register .project_registration input[type=submit]:not(.button):not(.ast-button):not(.button-primary) {
  align-self: start;
  padding: 8px 14px;
  border-radius: 8px;
  border: 1px solid var(--kom-border);
  background: #f6f7f7;
  cursor: pointer;
  color: #000;
}
.project_register .project_registration input[type=submit]:not(.button):not(.ast-button):not(.button-primary):hover {
  background: #333333;
  color: #fff;
}
.project_register .project_registration textarea {
  width: 100%;
  max-width: 100%;
  border-radius: 8px;
  border: 1px solid var(--kom-border);
  padding: 8px 10px;
  background: var(--ast-form-field-background, #fff);
  color: var(--kom-text);
}
.project_register .project_registration {
  /* Align checkbox and radio groups nicely */
}
.project_register .project_registration .form-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0;
}
.project_register .project_registration .form-check input[type=checkbox],
.project_register .project_registration .form-check input[type=radio] {
  margin: 0;
}
.project_register .project_registration .form-check label {
  margin: 0;
  font-weight: 400;
}
.project_register .project_registration .form-check-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 16px;
}
.project_register .project_registration .form-check-group > label {
  margin-right: 10px;
}

.project_edit {
  --kom-surface: #ffffff;
  --kom-border: rgba(0, 0, 0, 0.08);
  --kom-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
  background: var(--kom-surface);
  border: 1px solid var(--kom-border);
  border-radius: 12px;
  padding: 20px;
  box-shadow: var(--kom-shadow);
}
.project_edit .kom_project_title {
  margin-top: 0;
}
.project_edit .project_edit_form {
  display: grid;
  gap: 10px 14px;
}
.project_edit .project_edit_form textarea {
  width: 100%;
  max-width: 100%;
  border-radius: 8px;
  border: 1px solid var(--kom-border);
  padding: 8px 10px;
  background: #fff;
}

/*# sourceMappingURL=style.css.map */
