:root{
  /* Borbaradianisches Dark-Red Theme – kontraststärker */
  --bg:#070507;
  --panel:#151016;
  --panel-soft:#1a141b;
  --muted:#d2c5cb;
  --text:#f8f3f6;
  --accent:#c22f2f;
  --accent2:#e0a24a;
  --good:#46d990;
  --bad:#e35674;

  --line:#6e3f49;
  --line-strong:#9e5c6b;
  --line-soft:#3a252b;

  --shadow:0 14px 40px rgba(0,0,0,.55);
}

/* ===== Global ===== */
*{box-sizing:border-box}
html,body{height:100%;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
a{color:inherit}

/* ===== Topbar ===== */
.topbar{
  position:sticky;top:0;z-index:10;
  display:flex;gap:16px;align-items:center;justify-content:space-between;
  padding:10px 16px;background:#0e0a0f;border-bottom:1px solid var(--line);
  box-shadow:0 3px 0 rgba(206,66,66,.05);
}
.brand{font-weight:700;letter-spacing:.3px}
.menu a{color:var(--muted);text-decoration:none;margin:0 8px;padding:6px 10px;border-radius:8px;border:1px solid transparent}
.menu a:hover,.menu a.active{background:#120d12;color:var(--text);border-color:var(--line-soft)}
.authbox{display:flex;gap:8px;align-items:center}

/* ===== Controls / Cards ===== */
.btn{background:var(--accent);color:#fff;border:0;padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:700;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}
.btn.secondary{background:#261820;color:var(--text);border:1px solid var(--line)}
.btn.warn{background:var(--bad);color:#fff}
.btn:disabled{opacity:.6;cursor:not-allowed}
.input,select,textarea{width:100%;background:#120d12;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
select.input{padding-right:28px}
.label{font-size:12px;color:var(--muted);margin-bottom:4px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow)}
.app{max-width:1100px;margin:20px auto;padding:10px;display:grid;gap:14px}

/* ===== Tabellen ===== */
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--line-soft);padding:8px 6px;text-align:left;vertical-align:top}
.table th{font-size:12px;color:var(--muted);cursor:pointer}
.table tr:hover{background:var(--panel-soft)}

/* ===== Hilfsklassen ===== */
.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;background:#100a10;border:1px solid var(--line);border-radius:8px;padding:2px 6px;color:var(--muted)}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{background:#120d12;border:1px solid var(--line-soft);border-radius:999px;padding:2px 8px;color:var(--muted);font-size:12px}
.grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}
.empty{padding:30px;text-align:center;color:var(--muted)}
.small{font-size:12px;color:var(--muted)}

/* ===== Modal ===== */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:20px}
.modal .panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;max-width:860px;width:100%}

/* ===== Externe Widgets – Grundlook beibehalten ===== */
.fc{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px}

/* ===== Heldenliste + LP/AP-Balken ===== */
.hero-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.hero-card{background:#120d12;border:1px solid var(--line);border-radius:12px;padding:10px}
.hero-name{font-weight:700;margin:0 0 8px}
.kv{display:flex;gap:8px;align-items:center;justify-content:space-between}
.bar{height:14px;background:#0b080b;border:1px solid var(--line);border-radius:999px;overflow:hidden;position:relative}
.bar .fill{height:100%;background:linear-gradient(90deg,var(--good),#61e8b1);width:0%}
.bar.warn .fill{background:linear-gradient(90deg,var(--bad),#ff8aa6)}
.bar .mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#ffeef6}

/* ===== Tag-Suggest ===== */
.suggest-wrap{position:relative}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#1a1218;border:1px solid var(--line);border-radius:10px;z-index:6;max-height:220px;overflow:auto}
.suggest-item{padding:6px 8px;cursor:pointer;border-bottom:1px solid var(--line-soft)}
.suggest-item:last-child{border-bottom:0}
.suggest-item:hover{background:#22171f}

/* ===== RTE (Tagebuch) ===== */
.rte-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.rte-toolbar .btn{height:30px;padding:4px 10px}
.rte-editor{min-height:180px;background:#120d12;border:1px solid var(--line);border-radius:12px;padding:10px}
.rte-editor:focus{outline:1px solid var(--line-strong)}
.rte-view{min-height:80px}
.rte-signature{margin-top:10px;opacity:.85;font-style:italic;text-align:right}

/* ===== Aventurischer Monats-Kalender ===== */
.cal-wrap{border:1px solid var(--line);border-radius:14px;background:#120d12;box-shadow:var(--shadow)}
.cal-toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap}
.cal-left{display:flex;gap:8px;align-items:center}
.cal-right{display:flex;gap:8px;align-items:center}
.cal-title{font-weight:700}
.cal-legend{display:flex;gap:10px;align-items:center}
.cal-legend label{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.cal-legend input[type=checkbox]{accent-color:var(--accent)}

.cal-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr); /* 6 Spalten × 5 Reihen = 30 Tage */
  gap:10px;
}
.cal-cell{
  min-height:110px;background:#0f0a10;border:1px solid var(--line);border-radius:12px;
  padding:8px;display:flex;flex-direction:column;gap:6px
}
.cal-cell:hover{outline:1px solid var(--line-strong)}
.cal-day{font-size:12px;color:var(--muted)}
.cal-evts{display:flex;flex-direction:column;gap:4px}
.cal-empty{opacity:.4}

.chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 8px;border-radius:999px;font-size:12px;
  border:1px solid var(--line-strong);background:#1b1218;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.chip.story{border-color:#734bb4;background:rgba(115,75,180,.15)}
.chip.nsc{border-color:#c22f2f;background:rgba(194,47,47,.14)}
.chip.object{border-color:#e0a24a;background:rgba(224,162,74,.14)}
.chip.diary{border-color:#46d990;background:rgba(70,217,144,.14)} /* Tagebuch */

.cal-today{box-shadow:0 0 0 2px var(--accent2) inset}
.cal-more{font-size:12px;color:var(--muted)}

/* Modal Tagesliste */
.daylist h3{margin:0 0 8px 0}
.daylist .chip{margin:4px 0}

/* Mobile */
@media (max-width: 760px){
  .row{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .cal-grid{grid-template-columns:repeat(3,1fr)}
}
