/* ====== Global Theme ====== */
:root{
  --brand-1:#0d6efd; --brand-2:#0b5ed7;
  --bg:#f6f8fb; --card:#fff; --muted:#6c757d;
  --border:#e5e7eb; --shadow:0 10px 30px rgba(13,110,253,.09);
  --radius:.75rem;
  --fc-event:#2563eb; --fc-event-text:#fff; --fc-today:#fff7e6;
}

html,body{height:100%}
body{background:var(--bg); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale}

.container-xxl{max-width:1200px}

/* Navbar */
.navbar.bg-brand{background:linear-gradient(90deg,var(--brand-1),var(--brand-2))}
.navbar.bg-brand .nav-headlink{font-weight:700; padding:.35rem .6rem; border-radius:.5rem}
.navbar.bg-brand .nav-headlink.active{background:rgba(255,255,255,.18)}

/* Karten / Kacheln */
.card{border:1px solid var(--border); border-radius:var(--radius); box-shadow:none; background:var(--card)}
.tool-switch .card{transition:transform .08s ease, box-shadow .15s ease, border-color .15s ease}
.tool-switch .card:hover{transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--brand-1)}

/* Form Controls */
.form-control,.form-select{border-radius:.6rem}
.btn{border-radius:.6rem}

/* ====== Arbeitsplaner Layout ====== */
.resource-cols{display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
.resource-col{border:1px solid var(--border); border-radius:var(--radius); background:var(--card); overflow:hidden}
.resource-head{display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  padding:.55rem .8rem; font-weight:700; background:#f8f9fb; border-bottom:1px solid var(--border)}
.resource-body{padding:.6rem}

/* Offene Baustellen / Platzhalter */
#open-list .list-group-item{border-radius:.6rem; margin-bottom:.5rem}
#placeholder-list .open-pill{
  display:inline-block; font-size:.9rem; padding:3px 12px; margin:0 8px 8px 0;
  border:1px dashed var(--border); border-radius:999px; background:#f8fafc; cursor:grab; user-select:none
}

/* ====== FullCalendar Polishing (DayGrid) ====== */
.fc{--fc-border-color:var(--border); --fc-page-bg:transparent; --fc-neutral-bg:#f8f9fb}
.fc .fc-toolbar{margin:.2rem 0 .6rem}
.fc .fc-toolbar-title{font-size:1rem; font-weight:700}
.fc .fc-scrollgrid{border:1px solid var(--border); border-radius:.6rem; overflow:hidden; background:#fff}
.fc .fc-col-header{background:#f8f9fb}
.fc .fc-col-header-cell-cushion{padding:.45rem .55rem; font-weight:700}
.fc .fc-daygrid-day-frame{min-height:96px}
.fc .fc-daygrid-day-top{padding:.25rem .45rem}
.fc .fc-daygrid-day-number{font-weight:600}
.fc .fc-daygrid-day.fc-day-today{background:var(--fc-today)}
.fc .fc-day-disabled{background:#f3f4f6; color:#9aa1a9}

.fc .fc-daygrid-day-events{padding:.3rem}
.fc .fc-daygrid-event{
  display:block; background:var(--fc-event); color:var(--fc-event-text);
  border-radius:.5rem; padding:.22rem .45rem; font-size:.88em; box-shadow:0 2px 8px rgba(0,0,0,.05);
  border-left:4px solid rgba(0,0,0,.15);
}
.fc .fc-daygrid-more-link{
  display:inline-block; background:#f8f9fb; border:1px solid var(--border);
  padding:.05rem .45rem; border-radius:999px; font-size:.78em; color:#111
}

/* Farb-Varianten für Events (werden per JS-Klasse ev-cX gesetzt) */
.ev-c0{ --fc-event:#2563eb }   /* blau */
.ev-c1{ --fc-event:#16a34a }   /* grün */
.ev-c2{ --fc-event:#e11d48 }   /* rot */
.ev-c3{ --fc-event:#a855f7 }   /* violett */
.ev-c4{ --fc-event:#f59e0b }   /* orange */
.ev-c5{ --fc-event:#0ea5e9 }   /* cyan */
