/* === MGT2 PNJ & Rencontres =================================================== */

.mgt2-npc-dialog .window-header {
  background: linear-gradient(180deg, rgba(44, 44, 62, 0.96) 0%, rgba(30, 30, 43, 0.96) 100%);
  border-bottom: 1px solid #c9a227;
}

.mgt2-npc-dialog .window-title {
  color: #d9b24c;
  text-shadow: none;
}

.mgt2-npc-dialog .window-content,
#mgt2-npc .window-content {
  padding: 0;
  overflow-y: auto;
  background: #f5f0e8;
}

.mgt2-npc-form {
  display: flex;
  flex-direction: column;
  background: #f5f0e8;
  color: #222;
}

.mgt2-npc-dialog .mgt2-npc-form .tabs,
.mgt2-npc-form .tabs {
  display: flex;
  background: #2c2c3e;
  border-bottom: 3px solid #c9a227;
}

.mgt2-npc-dialog .mgt2-npc-form .tabs .item,
.mgt2-npc-form .tabs .item {
  flex: 1;
  padding: 10px 8px;
  text-align: center;
  color: #d8c79a !important;
  font-size: 0.84em;
  font-weight: bold;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -3px;
  text-shadow: none !important;
}

.mgt2-npc-dialog .mgt2-npc-form .tabs .item:hover,
.mgt2-npc-form .tabs .item:hover {
  color: #f3e3b1 !important;
  background: rgba(201, 162, 39, 0.16) !important;
}

.mgt2-npc-dialog .mgt2-npc-form .tabs .item.active,
.mgt2-npc-form .tabs .item.active {
  color: #d9b24c !important;
  border-bottom-color: #c9a227 !important;
  background: rgba(201, 162, 39, 0.18) !important;
}

.mgt2-npc-form .tab-content {
  padding: 14px 16px 12px;
}

.mgt2-npc-form .tab {
  display: none;
}

.mgt2-npc-form .tab.active {
  display: block;
}

.mgt2-npc-dialog .mgt2-npc-form h3,
.mgt2-npc-form h3 {
  margin: 0 0 12px;
  color: #5f4300 !important;
  font-size: 1em;
  font-weight: bold;
  border-bottom: 1px solid #b78f26 !important;
  padding-bottom: 5px;
  text-shadow: none !important;
}

.npc-intro {
  margin: 0 0 10px;
  color: #555;
  font-size: 0.87em;
}

.mgt2-npc-form fieldset {
  border: 1px solid #c9a227;
  border-radius: 5px;
  padding: 10px 12px 8px;
  margin: 10px 0;
  background: rgba(201, 162, 39, 0.04);
}

.mgt2-npc-dialog .mgt2-npc-form legend,
.mgt2-npc-form legend {
  color: #7a5c00 !important;
  font-size: 0.78em;
  font-weight: bold;
  padding: 0 5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.mgt2-npc-form .form-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 0;
}

.mgt2-npc-form .form-group-row {
  display: flex;
  gap: 12px;
  margin-bottom: 8px;
}

.mgt2-npc-form .form-group-row .form-group {
  flex: 1;
}

.mgt2-npc-form label {
  font-size: 0.8em;
  font-weight: bold;
  color: #444;
}

.mgt2-npc-form input[type="text"],
.mgt2-npc-form select {
  width: 100%;
  box-sizing: border-box;
  padding: 5px 7px;
  font-size: 0.85em;
  background: #fff;
  color: #222;
  border: 1px solid #bbb;
  border-radius: 3px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.08);
  height: 28px;
}

.mgt2-npc-form input[type="text"]:focus,
.mgt2-npc-form select:focus {
  border-color: #c9a227;
  outline: none;
  box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.22);
}

.mgt2-npc-form .hint {
  font-weight: normal;
  font-size: 0.85em;
  color: #777;
}

.mgt2-npc-form input[type="checkbox"] {
  accent-color: #c9a227;
  width: 14px;
  height: 14px;
  margin: 0;
}

.checkbox-group label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.85em;
  color: #333;
  cursor: pointer;
}

.npc-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  font-size: 0.84em;
  color: #333;
}

.npc-checklist i {
  color: #2a6a2a;
  margin-right: 4px;
}

.form-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}

button.btn-calculate,
.btn-calculate {
  background: #2c2c3e;
  color: #e1bc57;
  border: 1px solid #c9a227;
  border-radius: 4px;
  padding: 7px 18px;
  font-size: 0.85em;
  font-weight: bold;
  cursor: pointer;
  text-shadow: none;
}

button.btn-calculate:hover,
.btn-calculate:hover {
  background: #243852;
  color: #f2d27a;
}

.mgt2-npc-result {
  font-size: 0.85em;
  color: #222;
}

.mgt2-npc-result .npc-header h3 {
  color: #5f4300 !important;
  border-bottom: 2px solid #c9a227;
  padding-bottom: 4px;
  margin-bottom: 8px;
  font-size: 1em;
  text-shadow: none !important;
}

.npc-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.npc-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #2c2c3e;
  color: #c9a227;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 0.8em;
  font-weight: bold;
}

.npc-pill-muted {
  background: #e7dfce;
  color: #6a5422;
}

.npc-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

.npc-card-block,
.npc-section,
.npc-note,
.npc-highlight {
  background: #fbf8f1;
  border: 1px solid #d7ccb0;
  border-radius: 5px;
  padding: 8px 10px;
}

.npc-card-title,
.npc-section-title {
  color: #5f4300 !important;
  font-size: 0.78em;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 5px;
}

.npc-card-value {
  font-size: 1em;
  font-weight: bold;
  color: #222;
}

.npc-roll-line,
.npc-inline-roll,
.npc-subline {
  color: #666;
  font-size: 0.8em;
}

.npc-highlight {
  font-weight: bold;
  color: #222;
  margin-bottom: 8px;
}

.npc-section p,
.npc-note p {
  margin: 4px 0;
}

.npc-table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0;
  font-size: 0.83em;
}

.npc-table th,
.npc-table td {
  border: 1px solid #d2c8b2;
  padding: 5px 7px;
  vertical-align: top;
}

.npc-table th {
  width: 92px;
  text-align: left;
  background: #2c2c3e;
  color: #c9a227;
}

.npc-table td {
  background: #fff;
  color: #222;
}

.npc-note {
  color: #2a6a2a;
  border-color: #a9d0a9;
  background: #eef8ee;
}

/* === MGT2 Alliés & Ennemis (result chat) ================================== */

.ae-special-entry {
  background: #fbf8f1;
  border: 1px solid #d7ccb0;
  border-radius: 4px;
  padding: 7px 9px;
  margin: 6px 0;
  font-size: 0.85em;
}

.ae-special-header {
  display: flex;
  gap: 6px;
  align-items: baseline;
  font-weight: 500;
  color: #222;
}

.ae-special-detail {
  margin-top: 4px;
  color: #555;
  font-size: 0.92em;
  padding-left: 2px;
}

.ae-narrative {
  font-style: italic;
  color: #6a5422;
}

.ae-special-mods {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 5px;
}

.ae-mod {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  border-radius: 3px;
  font-size: 0.82em;
  font-weight: bold;
}

.ae-mod-pos {
  background: #dff0d8;
  color: #2a6a2a;
  border: 1px solid #b8d498;
}

.ae-mod-neg {
  background: #fce4e4;
  color: #a33;
  border: 1px solid #e8b4b4;
}

/* === MGT2 Sector Map ====================================================== */

#mgt2-sector-map .window-content {
  padding: 0;
  overflow: hidden;
  background: #1a1a2e;
}

.mgt2-sector-map-outer {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.mgt2-sector-map-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 12px;
  background: #2c2c3e;
  border-bottom: 1px solid #c9a227;
  flex-shrink: 0;
}

.mgt2-sector-map-toolbar--ro {
  justify-content: center;
  gap: 8px;
  padding: 6px 12px;
  background: #1e2833;
  border-bottom: 1px solid #5f7a99;
}

.mgt2-sector-map-label {
  color: #d9b24c;
  font-weight: bold;
  font-size: 0.85em;
}

.mgt2-sector-map-hint {
  color: #a99c7a;
  font-size: 0.78em;
}

.mgt2-sector-map-search {
  position: relative;
  flex-shrink: 0;
}

.mgt2-sector-map-input {
  width: 180px;
  padding: 4px 8px;
  font-size: 0.8em;
  border: 1px solid #555;
  border-radius: 3px;
  background: #2c2c3e;
  color: #d9b24c;
  outline: none;
}

.mgt2-sector-map-input::placeholder {
  color: #7a755a;
}

.mgt2-sector-map-input:focus {
  border-color: #c9a227;
}

.mgt2-sector-map-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 280px;
  overflow-y: auto;
  background: #2c2c3e;
  border: 1px solid #c9a227;
  border-top: none;
  border-radius: 0 0 4px 4px;
  z-index: 999;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mgt2-sector-map-results li {
  padding: 5px 8px;
  cursor: pointer;
  font-size: 0.78em;
  color: #d8c79a;
  border-bottom: 1px solid #3a3a50;
  display: flex;
  gap: 6px;
  align-items: baseline;
}

.mgt2-sector-map-results li:last-child {
  border-bottom: none;
}

.mgt2-sector-map-results li:hover {
  background: #3a3a50;
}

.mgt2-sector-map-results .no-result {
  color: #7a755a;
  font-style: italic;
  cursor: default;
}

.mgt2-sector-map-results .world-name {
  font-weight: bold;
  color: #d9b24c;
}

.mgt2-sector-map-results .world-uwp {
  font-family: 'Courier New', monospace;
  font-size: 0.9em;
  color: #a99c7a;
}

.mgt2-sector-map-results .world-sector {
  margin-left: auto;
  color: #7a755a;
  font-size: 0.9em;
}

.mgt2-sector-map-sync,
.mgt2-sector-map-travel {
  background: #c9a227;
  color: #1a1a2e;
  border: none;
  border-radius: 3px;
  padding: 4px 12px;
  font-size: 0.8em;
  font-weight: bold;
  cursor: pointer;
  flex-shrink: 0;
}

.mgt2-sector-map-sync:hover,
.mgt2-sector-map-travel:hover {
  background: #d9b24c;
}

.mgt2-sector-map-frame {
  width: 100%;
  flex: 1;
  border: none;
}

/* === MGT2 World Card (chat) ============================================== */

.mgt2-world-card {
  background: #f5f0e8;
  border: 1px solid #c9a227;
  border-radius: 5px;
  overflow: hidden;
  font-family: 'Signika', sans-serif;
  color: #222;
}

.mgt2-world-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: #2c2c3e;
  border-bottom: 2px solid #c9a227;
}

.mgt2-world-name {
  font-size: 1.1em;
  font-weight: bold;
  color: #d9b24c;
}

.mgt2-world-hex {
  font-size: 0.78em;
  color: #a99c7a;
  font-weight: normal;
}

.mgt2-world-zone {
  margin-left: auto;
  font-size: 0.75em;
  font-weight: bold;
  padding: 2px 8px;
  border-radius: 999px;
  text-transform: uppercase;
}

.mgt2-world-zone.zone-g {
  background: #2a6a2a;
  color: #fff;
}

.mgt2-world-zone.zone-a {
  background: #b8860b;
  color: #fff;
}

.mgt2-world-zone.zone-r {
  background: #8b0000;
  color: #fff;
}

.mgt2-world-card-body {
  width: 100%;
  border-collapse: collapse;
}

.mgt2-world-card-body td {
  padding: 0;
  border-bottom: 1px solid #e0d8c8;
}

.mgt2-world-card-body .mono {
  font-family: 'Courier New', monospace;
  letter-spacing: 0.1em;
}

/* === Fold rows (details/summary) ========================================= */

.mgt2-world-card-body details {
  display: block;
}

.mgt2-world-card-body summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.mgt2-world-card-body summary::-webkit-details-marker {
  display: none;
}

.mgt2-world-card-body summary::before {
  content: '▸';
  color: #c9a227;
  font-size: 0.75em;
  flex-shrink: 0;
  transition: transform 0.15s;
}

.mgt2-world-card-body details[open] summary::before {
  transform: rotate(90deg);
}

.mgt2-world-card-body summary:hover {
  background: #eae4d4;
}

.mgt2-world-card-actions {
  padding: 6px 12px 8px;
  text-align: right;
  border-top: 1px solid #ddd0bc;
}

.mgt2-world-commerce {
  display: inline-block;
  padding: 4px 14px;
  background: #c9a227;
  color: #fff;
  border-radius: 3px;
  font-size: 0.85em;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s;
}

.mgt2-world-commerce:hover {
  background: #b89020;
  color: #fff;
  text-decoration: none;
}

.mgt2-world-commerce i {
  margin-right: 4px;
}

.fold-label {
  width: 100px;
  flex-shrink: 0;
  font-weight: bold;
  color: #5f4300;
  font-size: 0.83em;
}

.fold-value {
  font-size: 0.83em;
  color: #222;
}

.fold-content {
  padding: 4px 12px 8px 28px;
  font-size: 0.78em;
  color: #555;
  background: rgba(201, 162, 39, 0.04);
  border-top: 1px solid #ece6da;
}

.fold-desc {
  line-height: 1.5;
}

.fold-subtable {
  width: 100%;
  border-collapse: collapse;
}

.fold-subtable td {
  padding: 2px 8px;
  font-size: 0.95em;
  border: none;
}

.fold-subtable td:first-child {
  width: 120px;
  font-weight: 600;
  color: #5f4300;
}

.fold-subtable td:nth-child(2) {
  font-family: 'Courier New', monospace;
  color: #7a5c00;
  letter-spacing: 0.1em;
}

/* === UWP breakdown inside fold =========================================== */

.uwp-breakdown {
  width: 100%;
  border-collapse: collapse;
}

.uwp-breakdown td {
  padding: 2px 8px;
  font-size: 0.95em;
  border-bottom: 1px solid #ece6da;
  border-top: none;
  color: #555;
}

.uwp-breakdown td:first-child {
  width: 24px;
  font-family: 'Courier New', monospace;
  font-weight: bold;
  color: #7a5c00;
  letter-spacing: 0.05em;
}

.uwp-breakdown td:nth-child(2) {
  width: 110px;
  font-weight: 600;
  color: #5f4300;
}

.uwp-breakdown td:nth-child(3) {
  color: #666;
}

.uwp-breakdown tr:last-child td {
  border-bottom: none;
}

/* === MGT2 Shared Map (chat) ============================================== */

.mgt2-shared-map {
  background: #f5f0e8;
  border: 1px solid #c9a227;
  border-radius: 5px;
  overflow: hidden;
  font-family: 'Signika', sans-serif;
  color: #222;
}

.mgt2-shared-map-image {
  line-height: 0;
}

.mgt2-shared-map-image img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ══════════════════════════════════════════════════════
   Travel Dialog (planificateur de voyage)
   ══════════════════════════════════════════════════════ */

#mgt2-travel-dialog .window-content {
  background: #f5f0e8;
  font-family: 'Signika', sans-serif;
  color: #222;
  padding: 12px;
}

.travel-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
}

.travel-worlds {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.travel-world-block {
  flex: 1;
  min-width: 0;
}

.travel-world-block label {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 0.9em;
  color: #444;
}

.travel-world-block label i {
  margin-right: 4px;
  color: #c9a227;
}

.travel-search-widget input {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #b5a68b;
  border-radius: 3px;
  background: #fff;
  color: #222;
  font-size: 0.9em;
  box-sizing: border-box;
}

.travel-search-widget input:focus {
  outline: none;
  border-color: #c9a227;
  box-shadow: 0 0 4px rgba(201, 162, 39, 0.4);
}

.travel-search-widget {
  position: relative;
}

.travel-from-results,
.travel-to-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 100;
  background: #fff;
  border: 1px solid #b5a68b;
  border-top: none;
  max-height: 200px;
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: 0;
  border-radius: 0 0 3px 3px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.travel-from-results li,
.travel-to-results li {
  padding: 6px 8px;
  cursor: pointer;
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-size: 0.85em;
  color: #222;
  border-bottom: 1px solid #eee;
}

.travel-from-results li:last-child,
.travel-to-results li:last-child {
  border-bottom: none;
}

.travel-from-results li:hover,
.travel-to-results li:hover {
  background: #e8e0d0;
}

.travel-from-results .no-result,
.travel-to-results .no-result {
  color: #888;
  cursor: default;
  font-style: italic;
}

.travel-from-results .world-name,
.travel-to-results .world-name {
  font-weight: 600;
  white-space: nowrap;
}

.travel-from-results .world-sector,
.travel-to-results .world-sector {
  color: #666;
  font-size: 0.85em;
  white-space: nowrap;
}

.travel-from-results .world-hex,
.travel-to-results .world-hex {
  color: #888;
  font-size: 0.8em;
  font-family: monospace;
  margin-left: auto;
}

.travel-jump-selector {
  flex: 0 0 80px;
  text-align: center;
}

.travel-jump-selector label {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 0.9em;
  color: #444;
}

.travel-jump-selector select {
  width: 100%;
  padding: 6px;
  border: 1px solid #b5a68b;
  border-radius: 3px;
  background: #fff;
  color: #222;
  font-size: 0.9em;
  text-align: center;
}

.travel-actions {
  text-align: center;
}

.travel-actions button {
  padding: 8px 24px;
  background: #c9a227;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1em;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}

.travel-actions button:hover {
  background: #b89020;
}

.travel-actions button i {
  margin-right: 6px;
}

.travel-results {
  flex: 1;
  overflow-y: auto;
  min-height: 60px;
  border-top: 1px solid #d4c9b8;
  padding-top: 12px;
}

.travel-loading {
  text-align: center;
  color: #888;
  padding: 20px;
  font-style: italic;
}

.travel-loading i {
  margin-right: 8px;
}

.travel-error {
  padding: 12px 16px;
  background: #fce4e4;
  border: 1px solid #e8b4b4;
  border-radius: 4px;
  color: #a33;
  font-size: 0.9em;
}

.travel-route-summary {
  padding: 10px 14px;
  background: #e4eed4;
  border: 1px solid #b8d498;
  border-radius: 4px;
  font-size: 1em;
  margin-bottom: 8px;
}

.travel-route-summary i {
  margin-right: 6px;
  color: #5a8a2a;
}

.travel-route-duration {
  padding: 6px 14px;
  font-size: 0.9em;
  color: #666;
  margin-bottom: 8px;
}

.travel-route-duration i {
  margin-right: 6px;
}

.travel-jump-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.travel-jump-list li {
  padding: 6px 0;
  border-bottom: 1px solid #e8e0d0;
}

.travel-jump-list li:last-child {
  border-bottom: none;
}

.jump-segment {
  display: flex;
  align-items: center;
  gap: 8px;
}

.jump-world {
  flex: 1;
  min-width: 0;
}

.jump-world-name {
  display: block;
  font-weight: 600;
  font-size: 0.95em;
}

.jump-world-detail {
  display: block;
  font-size: 0.8em;
  color: #888;
}

.jump-to {
  text-align: right;
}

.jump-arrow {
  flex: 0 0 24px;
  text-align: center;
  color: #c9a227;
  font-size: 1.1em;
}

.jump-distance {
  flex: 0 0 60px;
  text-align: center;
  font-weight: 700;
  font-size: 0.9em;
  padding: 2px 8px;
  background: #eee8d8;
  border-radius: 3px;
  color: #555;
}

/* Journal de trajet */

.travel-journal-actions {
  text-align: center;
  padding-top: 8px;
  border-top: 1px solid #d4c9b8;
  margin-top: 8px;
}

.travel-journal-actions button {
  padding: 8px 24px;
  background: #5a7a2a;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1em;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}

.travel-journal-actions button:hover {
  background: #4a6822;
}

.travel-journal-actions button i {
  margin-right: 6px;
}

a.mgt2-world-link {
  color: #6a3a8a;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dotted;
}

a.mgt2-world-link:hover {
  color: #8a4aaa;
}

/* === Batch NPC Creator =================================================== */

.mgt2-batch-npc-form {
  gap: 10px;
  padding: 14px 16px 12px;
}

.mgt2-batch-npc-form .input-group {
  display: flex;
  gap: 4px;
}

.mgt2-batch-npc-form .input-group input {
  flex: 1;
}

.mgt2-batch-npc-form .input-group .btn-small {
  flex: 0 0 32px;
  padding: 4px 6px;
  line-height: 1;
}

.batch-progress {
  margin: 8px 0;
}

.batch-progress-bar {
  height: 8px;
  background: #ddd;
  border-radius: 4px;
  overflow: hidden;
}

.batch-progress-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #b78f26, #d9b24c);
  border-radius: 4px;
  transition: width 0.3s;
}

.batch-progress-text {
  font-size: 0.85em;
  color: #555;
  margin-top: 4px;
}

/* === Calendrier Impérial =================================================== */

.mgt2-calendar .window-header {
  background: linear-gradient(180deg, rgba(44, 44, 62, 0.96) 0%, rgba(30, 30, 43, 0.96) 100%);
  border-bottom: 1px solid #c9a227;
}

.mgt2-calendar .window-title {
  color: #d9b24c;
  text-shadow: none;
}

.mgt2-calendar .window-content {
  padding: 4px 8px;
  background: #1a1a2e;
  overflow: hidden;
}

.mgt2-cal-window {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 28px;
}

.mgt2-cal-display {
  flex: 1;
}

.mgt2-cal-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2px;
  flex: 0 0 auto;
}

.mgt2-cal-date {
  color: #d8c79a;
  font-size: 0.95em;
  font-family: 'Roboto', sans-serif;
  white-space: nowrap;
}

.mgt2-cal-config-btn {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  background: transparent;
  color: #8a7a5a;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85em;
  border-radius: 3px;
  transition: color 0.15s, background 0.15s;
}

.mgt2-cal-config-btn:hover {
  color: #d9b24c;
  background: rgba(201, 162, 39, 0.15);
}

/* Config dialog */

.mgt2-cal-config {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  background: #1a1a2e;
  color: #d8c79a;
}

.mgt2-cal-config-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mgt2-cal-config-row label {
  flex: 0 0 80px;
  font-size: 0.85em;
  color: #b8a87a;
}

.mgt2-cal-config-row input[type="number"],
.mgt2-cal-config-row input[type="text"] {
  flex: 1;
  padding: 3px 6px;
  border: 1px solid #3a3a4e;
  border-radius: 3px;
  background: #252540;
  color: #d8c79a;
  font-size: 0.85em;
}

.mgt2-cal-config-row input:focus {
  outline: none;
  border-color: #c9a227;
}

.mgt2-cal-day-group {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
}

.mgt2-cal-day-group input {
  flex: 0 0 60px;
}

.mgt2-cal-day-label {
  font-size: 0.85em;
  color: #d9b24c;
  white-space: nowrap;
}

.mgt2-cal-config-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  margin-top: 4px;
}

.mgt2-cal-btn {
  padding: 4px 10px;
  border: 1px solid #3a3a4e;
  border-radius: 3px;
  background: #252540;
  color: #d8c79a;
  font-size: 0.82em;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.mgt2-cal-btn:hover {
  background: #303050;
  border-color: #c9a227;
}

.mgt2-cal-btn-primary {
  background: linear-gradient(180deg, #c9a227 0%, #a8881e 100%);
  color: #1a1a2e;
  border-color: #c9a227;
  font-weight: 600;
}

.mgt2-cal-btn-primary:hover {
  background: linear-gradient(180deg, #d9b24c 0%, #c9a227 100%);
}

.mgt2-cal-conversions {
  margin-top: 8px;
  border: 1px solid #3a3a4e;
  border-radius: 3px;
  background: #1e1e32;
}

.mgt2-cal-conversions summary {
  padding: 4px 8px;
  color: #b8a87a;
  font-size: 0.82em;
  cursor: pointer;
  user-select: none;
}

.mgt2-cal-conversions summary:hover {
  color: #d9b24c;
}

.mgt2-cal-conv-note {
  font-size: 0.85em;
  color: #6a6a7e;
  font-style: italic;
}

.mgt2-cal-conv-row {
  display: flex;
  justify-content: space-between;
  padding: 2px 8px;
  font-size: 0.82em;
  color: #d8c79a;
}

.mgt2-cal-conv-row:nth-child(even) {
  background: rgba(255,255,255,0.03);
}

.mgt2-cal-conv-label {
  color: #8a7a5a;
}

/* Note button on calendar app */

.mgt2-cal-note-btn {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  background: transparent;
  color: #8a7a5a;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85em;
  border-radius: 3px;
  transition: color 0.15s, background 0.15s;
}

.mgt2-cal-note-btn:hover {
  color: #d9b24c;
  background: rgba(201, 162, 39, 0.15);
}

/* Note dialog */

.mgt2-note-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  background: #1a1a2e;
  color: #d8c79a;
}

.mgt2-note-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mgt2-note-row label {
  font-size: 0.8em;
  color: #8a7a5a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mgt2-note-value {
  font-size: 0.9em;
  color: #d8c79a;
}

.mgt2-note-row textarea {
  width: 100%;
  padding: 6px;
  border: 1px solid #3a3a4e;
  border-radius: 3px;
  background: #252540;
  color: #d8c79a;
  font-size: 0.85em;
  font-family: inherit;
  resize: vertical;
}

.mgt2-note-row textarea:focus {
  outline: none;
  border-color: #c9a227;
}

.mgt2-note-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}
