/* Kita Inventar – Frontend UI */

.kitainv-scan,
.kitainv-costs,
.kitainv-buylist,
.kitainv-manage,
.kitainv-list {
  max-width: 980px;
  margin: 18px auto;
  padding: 18px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  background: #fff;
  box-sizing: border-box;
}

.kitainv-muted { opacity: .75; font-size: 12px; }

.kitainv-alert {
  padding: 12px;
  border-radius: 14px;
  margin-bottom: 12px;
  border: 1px solid rgba(0,0,0,.08);
}
.kitainv-alert--ok { background: #f4fff4; border-color: #cde7cd; }
.kitainv-alert--err { background: #fff0f0; border-color: #f3c2c2; }

/* Item header */
.kitainv-itemhead { display: flex; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.kitainv-itemimg { width: 140px; height: 140px; border-radius: 14px; overflow: hidden; }
.kitainv-itemimg img { width: 140px; height: 140px; object-fit: cover; display: block; }
.kitainv-nopic { width: 140px; height: 140px; border: 1px dashed rgba(0,0,0,.25); border-radius: 14px; display: flex; align-items: center; justify-content: center; opacity: .75; }

/* Cards */
.kitainv-card { border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: 14px; background: #fafafa; }
.kitainv-card + .kitainv-card { margin-top: 12px; }

/* Forms */
.kitainv-form { margin-top: 14px; }
.kitainv-form-grid {
  display: grid;
  grid-template-columns: 1.4fr .6fr 1.4fr;
  gap: 12px;
  align-items: start;
}
@media (max-width: 860px) {
  .kitainv-form-grid { grid-template-columns: 1fr; }
}

.kitainv-field label { display: block; font-weight: 600; margin-bottom: 6px; }
.kitainv-field small { display: block; margin-top: 6px; opacity: .75; }

/* Keep fields visually aligned */
.kitainv-field label{ min-height: 18px; }

/* Issue form helpers */
.kitainv-label{ display:block; font-weight:600; margin-bottom:6px; }
.kitainv-grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
@media (max-width: 860px){ .kitainv-grid-2{ grid-template-columns: 1fr; } }

.kitainv-suggest{ margin-top:6px; border:1px solid rgba(0,0,0,.10); border-radius: 12px; background:#fff; padding:6px; max-height: 260px; overflow:auto; }
.kitainv-suggest-item{ width:100%; text-align:left; padding:10px 10px; border:0; background:transparent; border-radius: 10px; cursor:pointer; }
.kitainv-suggest-item:hover{ background: rgba(0,0,0,.04); }


.kitainv-qty-btn:hover{ filter: brightness(.98); }


.kitainv-scan input[type="text"],
.kitainv-scan input[type="number"],
.kitainv-scan input[type="url"],
.kitainv-scan select,
.kitainv-costs input[type="text"],
.kitainv-costs input[type="number"],
.kitainv-costs select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  box-sizing: border-box;
  height: 44px;
  line-height: 22px;
  outline: none;
  box-shadow: none;
}

/* Remove theme focus weirdness but keep accessibility */
.kitainv-scan input:focus,
.kitainv-scan select:focus{
  border-color: rgba(233,30,99,.55);
  box-shadow: 0 0 0 3px rgba(233,30,99,.10);
}

.kitainv-scan button,
.kitainv-costs button,
.kitainv-buylist button,
.kitainv-manage button {
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  cursor: pointer;
}

/* Tables */
.kitainv-scan table,
.kitainv-costs table,
.kitainv-buylist table,
.kitainv-list table {
  width: 100%;
  border-collapse: collapse;
}
.kitainv-scan th,
.kitainv-costs th,
.kitainv-buylist th,
.kitainv-list th {
  text-align: left;
  padding: 10px 8px;
  border-bottom: 1px solid rgba(0,0,0,.12);
  font-size: 14px;
}
.kitainv-scan td,
.kitainv-costs td,
.kitainv-buylist td,
.kitainv-list td {
  padding: 10px 8px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  vertical-align: top;
}

/* Make wide tables scroll on mobile */
.kitainv-tablewrap { overflow-x: auto; }


/* Collapsible admin-ish blocks (keep UI clean) */
.kitainv-accordion {
  margin: 10px 0;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}
.kitainv-accordion > summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 700;
}
.kitainv-accordion > summary::-webkit-details-marker { display:none; }
.kitainv-accordion-meta {
  font-weight: 500;
  opacity: .75;
  font-size: 12px;
}
.kitainv-accordion[open] > summary { border-bottom: 1px solid rgba(0,0,0,.08); }
.kitainv-accordion-body { display:flex; gap: 12px; flex-wrap: wrap; align-items: end; }
.kitainv-card--inner { border: 0; background: #fafafa; border-radius: 0; }

/* Helpers */
.kitainv-hidden{display:none!important;}
.kitainv-scan input[disabled],
.kitainv-scan select[disabled]{opacity:.55; background:#f6f6f6; cursor:not-allowed;}


/* Buttons */
.kitainv-btn{
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  cursor: pointer;
  font-weight: 700;
  line-height: 1;
}
.kitainv-btn:hover{ filter: brightness(.98); }
.kitainv-btn-primary{
  background: rgba(233,30,99,.10);
  border-color: rgba(233,30,99,.35);
  color: #e91e63;
}
.kitainv-btn-primary:hover{
  background: rgba(233,30,99,.14);
}

.kitainv-btn-sm{ padding: 8px 12px; border-radius: 999px; font-weight: 700; }
.kitainv-btn-ghost{ background:#fff; }

/* Chips / Filters */
.kitainv-chips{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.kitainv-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  user-select: none;
}
.kitainv-chip:hover{ filter: brightness(.98); }
.kitainv-chip.is-active{ background: rgba(233,30,99,.10); border-color: rgba(233,30,99,.35); color: #e91e63; }

.kitainv-buylist__controls{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:space-between; margin: 10px 0 12px 0; padding-top: 10px; border-top: 1px solid rgba(0,0,0,.06); }
.kitainv-search{
  min-width: 220px;
  max-width: 340px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  height: 40px;
  line-height: 20px;
}

/* Inline action buttons */
.kitainv-actions{ display:flex; gap:10px; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
.kitainv-link{ color:#e91e63; text-decoration:none; font-weight:700; }
.kitainv-link:hover{ text-decoration:underline; }

/* Selects as pills */
.kitainv-pill-select{
  border-radius: 999px;
  padding: 8px 10px;
  height: 40px;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  font-weight: 700;
}
.kitainv-pill-select.status-none{ background:#fff; }
.kitainv-pill-select.status-planned{ background:#eef7ff; border-color:#b8dcff; }
.kitainv-pill-select.status-ordered{ background:#f4fff4; border-color:#cde7cd; }
.kitainv-pill-select.prio-0{ background:#fff; }
.kitainv-pill-select.prio-1{ background:#fff7e6; border-color:#ffd89a; }
.kitainv-pill-select.prio-2{ background:#fff0f0; border-color:#f3c2c2; }
.kitainv-pill-select.prio-3{ background:#ffe8f1; border-color: rgba(233,30,99,.35); }

/* Table polish */
.kitainv-buylist table tbody tr:hover{ background: rgba(0,0,0,.02); }
.kitainv-buylist table thead th{ position: sticky; top: 0; background: #fff; z-index: 1; }

/* Buylist toolbar */
.kitainv-buylist__toolbar{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom: 12px;
}
.kitainv-buylist__actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.kitainv-buylist__ampel{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.kitainv-buylist__addform input[list]{ height:44px; }

/* Badges */
.kitainv-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  white-space:nowrap;
}
.kitainv-badge--red{ background:#fff0f0; border-color:#f3c2c2; }
.kitainv-badge--orange{ background:#fff7e6; border-color:#ffd89a; }
.kitainv-badge--green{ background:#f4fff4; border-color:#cde7cd; }

/* Form actions row */
.kitainv-form-actions{
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1.4fr .6fr 1.4fr;
  gap: 12px;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.06);
}
.kitainv-form-actions .kitainv-btn{ grid-column: 3; justify-self: end; }
.kitainv-form-actions .kitainv-muted{
  grid-column: 1 / span 2;
  text-align: left;
  font-size: 12px;
  opacity: .70;
}
@media (max-width: 860px){
  .kitainv-form-actions{
    grid-template-columns: 1fr;
  }
  .kitainv-form-actions .kitainv-btn{
    width: 100%;
    grid-column: 1;
    justify-self: stretch;
  }
  .kitainv-form-actions .kitainv-muted{
    grid-column: 1;
  }
}

/* Typography polish */
.kitainv-scan h2, .kitainv-scan h3{
  margin: 18px 0 10px;
  letter-spacing: -.02em;
}
.kitainv-scan h2{ font-size: 26px; }
.kitainv-scan h3{ font-size: 20px; }


/* Camera scan overlay */
.kitainv-scan-widget{display:flex;gap:10px;align-items:center;margin:10px 0 18px}
.kitainv-scan-input{flex:1;min-width:180px}
.kitainv-scan-btn{white-space:nowrap}
.kitainv-scan-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);z-index:99999;padding:16px}
.kitainv-scan-overlay.is-open{display:flex}
.kitainv-scan-modal{width:min(560px,100%);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.kitainv-scan-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #eee}
.kitainv-scan-title{font-weight:700}
.kitainv-scan-close{border:0;background:transparent;font-size:28px;line-height:1;padding:0 6px;cursor:pointer}
.kitainv-scan-body{padding:12px 14px}
.kitainv-scan-video{width:100%;height:auto;border-radius:12px;background:#000}
.kitainv-scan-status{margin-top:10px;font-size:14px;opacity:.75}


/* Pro UX: toast + dirty rows */
.kitainv-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#111;color:#fff;padding:10px 14px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:14px;opacity:0;pointer-events:none;transition:opacity .18s ease, transform .18s ease;z-index:99999;}
.kitainv-toast.is-show{opacity:1;transform:translateX(-50%) translateY(-4px);}
tr.kitainv-buy-row.is-dirty td{background:rgba(255, 193, 7, 0.10);}

/* Simple grid used in Buylist/Wish forms */
.kitainv-grid{
  display:grid;
  grid-template-columns: 1.6fr .5fr 1.6fr;
  gap:12px;
  align-items:end;
}
@media (max-width: 860px){
  .kitainv-grid{ grid-template-columns: 1fr; }
}
.kitainv-grid label{ display:block; font-weight:700; margin: 0 0 6px 0; }
.kitainv-grid input,
.kitainv-grid select{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;
  box-sizing:border-box;
  height:44px;
}

/* Notices */
.kitainv-notice{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
}
.kitainv-notice--warn{ background:#fffaf0; border-color:#ffe3a3; }

/* Pill selects */
.kitainv-pill-select{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-weight:700;
}
.kitainv-pill-select.status-none{ background:#fff; }
.kitainv-pill-select.status-open{ background:#fff; }
.kitainv-pill-select.status-planned{ background:rgba(255,165,0,.10); border-color:rgba(255,165,0,.25); }
.kitainv-pill-select.status-ordered{ background:rgba(30,144,255,.10); border-color:rgba(30,144,255,.25); }
.kitainv-pill-select.status-arrived{ background:rgba(46,204,113,.10); border-color:rgba(46,204,113,.25); }
.kitainv-pill-select.status-done{ background:rgba(0,0,0,.06); border-color:rgba(0,0,0,.18); }

.kitainv-pill-select.prio-0{ background:#fff; }
.kitainv-pill-select.prio-1{ background:rgba(255,165,0,.08); border-color:rgba(255,165,0,.22); }
.kitainv-pill-select.prio-2{ background:rgba(233,30,99,.10); border-color:rgba(233,30,99,.28); }
.kitainv-pill-select.prio-3{ background:rgba(255,0,0,.08); border-color:rgba(255,0,0,.22); }

/* Accordion (Buylist: Manuell hinzufügen / Bestellwünsche) */
.kitainv-accordion{padding:0;}
.kitainv-accordion > summary.kitainv-accordion__summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  font-weight:800;
  user-select:none;
}
.kitainv-accordion > summary::-webkit-details-marker{display:none;}
.kitainv-accordion > summary.kitainv-accordion__summary::after{
  content:"▾";
  font-size:18px;
  opacity:.65;
  transition:transform .18s ease;
}
.kitainv-accordion[open] > summary.kitainv-accordion__summary::after{transform:rotate(180deg);}
.kitainv-accordion__content{
  padding:0 16px 16px 16px;
  border-top:1px solid rgba(0,0,0,.06);
}


/* Scan app – mobile layout: prevent horizontal scroll */
@media (max-width: 600px){
  .kitainv-scan-widget{flex-wrap:wrap;align-items:stretch}
  .kitainv-scan-input{flex:1 1 100%;min-width:0}
  .kitainv-scan-widget .kitainv-btn{flex:1 1 100%;width:100%}
}


/* Min/Max Auto-Entries (UX) */
tr.kitainv-row-auto { background: #f7f7f7; }
.kitainv-badge-auto {
  display:inline-block;
  margin-left:6px;
  padding:2px 8px;
  border-radius:999px;
  font-size:12px;
  line-height:1.2;
  background:#eee;
  color:#555;
}
.kitainv-save-auto { display:none; }
tr.kitainv-dirty .kitainv-save-auto { display:inline-block; }


/* Weekly planning compact UI */
.kitainv-weekly-add, .kitainv-weekly-decide { margin: 8px 0 12px; }
.kitainv-weekly-add-summary, .kitainv-weekly-decide-summary {
  cursor: pointer;
  font-weight: 600;
  color: #b0203a;
  list-style: none;
}
.kitainv-weekly-add-summary::-webkit-details-marker,
.kitainv-weekly-decide-summary::-webkit-details-marker { display:none; }
.kitainv-weekly-add-form {
  display: grid;
  grid-template-columns: 140px 1fr 110px;
  gap: 10px;
  align-items: start;
  margin-top: 10px;
}
@media (max-width: 900px) {
  .kitainv-weekly-add-form { grid-template-columns: 1fr; }
}
.kitainv-weekly-decide-form {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.kitainv-weekly-notify-row {
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 4px;
}
.kitainv-weekly-notify-check { font-size: 13px; opacity: .9; }
.kitainv-weekly-notify-check input { margin-right: 6px; }
.kitainv-weekly-notify-mode { min-width: 160px; }


/* Weekly planning - list/accordion UI (v0.9.75) */
.kitainv-weekly-controls { margin: 10px 0 14px; }
.kitainv-weekly-notes > summary { cursor:pointer; font-weight:700; }
.kitainv-weekly-notes-body { margin-top: 10px; }
.kitainv-weekly-day { margin-bottom: 12px; }
.kitainv-weekly-day-summary {
  cursor: pointer;
  font-weight: 700;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  list-style:none;
}
.kitainv-weekly-day-summary::-webkit-details-marker { display:none; }
.kitainv-weekly-day-count { opacity:.75; font-weight:600; }
.kitainv-weekly-day-body { margin-top: 8px; }

.kitainv-weekly-entrylist { display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.kitainv-weekly-entry {
  border:1px solid #e5e5e5;
  border-radius:12px;
  padding: 0;
  background:#fff;
}
.kitainv-weekly-entry-summary {
  cursor:pointer;
  padding:10px 12px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  list-style:none;
}
.kitainv-weekly-entry-summary::-webkit-details-marker { display:none; }
.kitainv-weekly-entry-left { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.kitainv-weekly-entry-right { display:flex; gap:10px; align-items:center; opacity:.8; white-space:nowrap; }
.kitainv-weekly-entry-snippet { opacity:.85; margin-left:6px; }
.kitainv-weekly-entry-body { padding: 0 12px 12px; }
.kitainv-weekly-entry-meta { font-size:12px; opacity:.75; margin: 6px 0; }
.kitainv-weekly-entry-note { margin: 6px 0 10px; }
.kitainv-weekly-decision-box { margin-top:8px; padding:8px; background:#f7f7f7; border-radius:10px; }

.kitainv-weekly-ownedit-form { margin-top:10px; display:grid; grid-template-columns: 160px 1fr 120px; gap:10px; align-items:start; }
@media (max-width: 900px) { .kitainv-weekly-ownedit-form { grid-template-columns: 1fr; } }
.kitainv-weekly-ownedit-delete { margin-top:8px; }
.kitainv-weekly-comments-list { margin-top:10px; }
.kitainv-weekly-comment { border-top:1px dashed #ddd; padding-top:6px; margin-top:6px; }
.kitainv-weekly-comment-form { margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }
.kitainv-weekly-comment-form textarea { flex:1; min-width:260px; }


/* --- Dashboard layout cleanup (v0.9.82) --- */
.kitainv-dashboard-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.kitainv-dashboard-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.kitainv-quicknav{
  max-width:360px;
}
.kitainv-btn-secondary{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.12) !important;
  color:#111 !important;
}
.kitainv-section{ margin-top:14px; }
.kitainv-collapse{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
}
.kitainv-collapse>summary{
  cursor:pointer;
  font-weight:800;
  list-style:none;
}
.kitainv-collapse>summary::-webkit-details-marker{ display:none; }
.kitainv-table-wrap{ overflow:auto; margin-top:10px; }
.kitainv-table-critical{ min-width:860px; }

/* Issues table (dashboard) */
.kitainv-table-issues td, .kitainv-table-issues th{
  vertical-align: top;
}

/* Issue status select in dashboard */
.kitainv-issue-status{
  width: 100%;
  max-width: 160px;
}

.kitainv-issue-priority{ min-width: 140px; }
.kitainv-issue-status{ min-width: 140px; }

/* Issue internal note panel */
.kitainv-note-panel{
  padding:10px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#fff;
}
.kitainv-note-panel textarea{
  width:100%;
  max-width: 420px;
}


/* Dashboard issue notes preview */
.kitainv-note-preview{ margin-top:6px; font-size:12px; color: rgba(0,0,0,.68); }


/* Note history (dashboard issues) */
.kitainv-note-history{max-height:140px; overflow:auto; padding:6px; border:1px dashed rgba(0,0,0,.12); border-radius:10px; background:#fff;}
.kitainv-note-entry{padding:6px 0; border-bottom:1px solid rgba(0,0,0,.06);}
.kitainv-note-entry:last-child{border-bottom:0;}
.kitainv-note-preview{margin-top:6px; font-size:12px; line-height:1.3; color:#333;}


/* --- Mobile fixes (v0.9.92) --- */
/* Ensure touch scrolling works and form controls are usable */
.kitainv-table-wrap{
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}

/* Prevent iOS zoom + better tap targets */
.kitainv-issues-table select,
.kitainv-issues-table textarea,
.kitainv-issues-table button,
.kitainv-issues-table input{
  font-size:16px;
}

.kitainv-issues-table select{
  min-width: 140px;
  padding: 10px 10px;
}

.kitainv-issues-table textarea{
  width:100%;
  min-height: 90px;
  box-sizing: border-box;
}

.kitainv-issues-table .kitainv-btn{
  padding: 10px 12px;
}

/* Card/stacked layout on small screens */
@media (max-width: 760px){
  .kitainv-issues-table thead{ display:none; }
  .kitainv-issues-table, .kitainv-issues-table tbody, .kitainv-issues-table tr, .kitainv-issues-table td{
    display:block;
    width:100%;
  }
  .kitainv-issues-table tr{
    border:1px solid rgba(0,0,0,.10);
    border-radius: 12px;
    margin: 10px 0;
    overflow:hidden;
    background:#fff;
  }
  .kitainv-issues-table td{
    border: none !important;
    border-bottom:1px solid rgba(0,0,0,.06) !important;
    padding: 10px 12px;
  }
  .kitainv-issues-table td:last-child{
    border-bottom:none !important;
  }
  .kitainv-issues-table td[data-label]::before{
    content: attr(data-label);
    display:block;
    font-weight:700;
    opacity:.75;
    margin-bottom:4px;
  }
}


/* --- Mobile editability fix (v0.9.94) --- */
/* Ensure stacked labels don't block taps */
@media (max-width: 760px){
  .kitainv-issues-table td{
    position: relative;
  }
  .kitainv-issues-table td[data-label]::before{
    pointer-events: none;
  }
  /* Do not clip interactive controls */
  .kitainv-issues-table tr{
    overflow: visible !important;
  }
  /* Make controls full-width and easy to tap */
  .kitainv-issues-table select,
  .kitainv-issues-table textarea,
  .kitainv-issues-table input[type="text"]{
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .kitainv-issues-table select{
    min-width: 0 !important;
  }
  .kitainv-issues-table .kitainv-btn{
    width: auto;
  }
  /* Note column: show preview and panel nicely */
  .kitainv-issues-table .kitainv-note-preview{
    display:block !important;
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.25;
  }
  .kitainv-issues-table .kitainv-note-panel{
    display:block;
    margin-top: 8px;
  }
}


/* --- Mobile edit fix (v0.9.96) --- */
/* Keep table usable on mobile: horizontal scroll + bigger tap targets */
.kitainv-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 900px){
  .kitainv-table-wrap table{
    min-width: 920px; /* allow horizontal scroll so controls remain usable */
  }
  .kitainv-table-wrap select,
  .kitainv-table-wrap textarea,
  .kitainv-table-wrap input,
  .kitainv-table-wrap button{
    font-size:16px; /* prevent iOS zoom */
  }
  .kitainv-issue-status,
  .kitainv-issue-priority{
    padding:10px 10px;
  }
}

/* Bug report */
.kitainv-bug-form .kitainv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.kitainv-bug-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;}
.kitainv-bug-form input[type="text"], .kitainv-bug-form select, .kitainv-bug-form textarea{font-size:16px;padding:10px;border:1px solid rgba(0,0,0,.15);border-radius:10px;}
.kitainv-success{padding:10px 12px;border-radius:10px;background:rgba(0,128,0,.08);margin:10px 0;}
@media (max-width:700px){.kitainv-bug-form .kitainv-grid2{grid-template-columns:1fr;}}

/* Bug delete */
.kitainv-bug-list .kitainv-btn{border-radius:10px;}


/* =========================
   Gesamtkalender (Frontend) – Outlook-Style Tageskacheln
   ========================= */
.cal-wrap{max-width:1100px;margin:0 auto;}

.cal-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 14px;}
.cal-title{font-size:18px;font-weight:800;}
.cal-nav{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid rgba(0,0,0,.12);text-decoration:none;font-size:20px;line-height:1;color:#111;background:#fff;}
.cal-nav:hover{background:rgba(0,0,0,.04);}

.cal-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:center;margin:0 0 14px;}
.cal-select{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.15);font-size:16px;background:#fff;}
.cal-btn{padding:10px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.15);background:#fff;font-weight:800;cursor:pointer;}
.cal-btn:hover{background:rgba(0,0,0,.04);}

.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;}
.cal-dow{font-size:12px;font-weight:800;opacity:.75;padding:2px 2px;}

.cal-cell{border:1px solid rgba(0,0,0,.10);border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:10px;min-height:110px;display:flex;flex-direction:column;gap:8px;}
.cal-cell.cal-out{opacity:.45;background:rgba(0,0,0,.02);}
.cal-date{font-weight:900;font-size:14px;opacity:.85;}

/* Event chips inside day tile */
.cal-events{display:flex;flex-direction:column;gap:6px;}
.cal-ev{border-radius:999px;padding:5px 8px;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.03);border-left:4px solid #64748b;}
.cal-ev-title{font-size:12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-ev-meta{font-size:11px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}

/* Keep month grid usable on small screens */
@media (max-width: 900px){
  .cal-filters{grid-template-columns:1fr;}
  .cal-grid{gap:8px;}
  .cal-cell{min-height:92px;padding:9px;}
  .cal-ev-title{font-size:11px;}
}


/* Kalender – Tabs, Suche, Wochenansicht */
.cal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;}
.cal-tab{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.12);text-decoration:none;font-weight:800;font-size:13px;color:#111;background:#fff;}
.cal-tab:hover{background:rgba(0,0,0,.04);}
.cal-tab.is-active{background:#111;color:#fff;border-color:#111;}

.cal-filters-extended{grid-template-columns:1fr 1fr 1fr 1fr 1fr auto;}
.cal-search,.cal-datejump{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.15);font-size:16px;background:#fff;}

/* Kalender – Quick Add (eine Zeile) */
.cal-quickadd{display:flex;gap:10px;align-items:center;margin:0 0 10px;}
.cal-quickadd__in{flex:1;min-width:180px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.15);font-size:16px;background:#fff;}
.cal-quickadd__btn{white-space:nowrap;}

@media (max-width:768px){
  .cal-quickadd{flex-direction:column;align-items:stretch;}
}
.cal-more-btn{
  width:100%;
  border:0;
  background:transparent;
  padding:4px 6px;
  text-align:left;
  font-size:12px;
  opacity:.75;
  cursor:pointer;
}
.cal-more-btn:hover{opacity:1;text-decoration:underline;}

.cal-daylist{position:fixed;inset:0;z-index:99999;display:none;}
.cal-daylist.is-open{display:block;}
.cal-daylist__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.35);}
.cal-daylist__card{position:relative;max-width:720px;margin:6vh auto;background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.18);overflow:hidden;}
.cal-daylist__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.06);}
.cal-daylist__title{font-weight:700;}
.cal-daylist__body{padding:12px 16px;max-height:70vh;overflow:auto;}
.cal-empty{opacity:.7;padding:14px 4px;}

/* Kalender – Agenda */
.cal-agenda{display:flex;flex-direction:column;gap:12px;}
.cal-agenda__day{border:1px solid rgba(0,0,0,.10);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);overflow:hidden;}
.cal-agenda__head{padding:12px 14px;font-weight:900;border-bottom:1px solid rgba(0,0,0,.06);background:rgba(0,0,0,.02);}
.cal-agenda__list{padding:10px 14px;display:flex;flex-direction:column;gap:8px;}
.cal-agenda__empty{padding:10px 14px;opacity:.6;}
.cal-ev-block{border-radius:14px;padding:10px 12px;background:rgba(0,0,0,.03);border-left:5px solid #64748b;}

@media (max-width:768px){
  .cal-daylist__card{max-width:94vw;margin:8vh auto;}
}

/* Calendar – Quick Add (Modal + Floating button) */
.cal-fab{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: #111;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 20px rgba(0,0,0,.18);
  cursor: pointer;
  z-index: 9999;
}

.cal-modal{display:none;}
.cal-modal.is-open{display:block;}
.cal-modal__backdrop{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 10000;
}
.cal-modal__card{
  position: fixed;
  z-index: 10001;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(640px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
  border: 1px solid rgba(0,0,0,.08);
}
.cal-modal__head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.cal-modal__title{font-weight:800;font-size:16px;}
.cal-x{
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
  border-radius: 12px;
  width: 36px;
  height: 36px;
  cursor:pointer;
  font-size: 20px;
}
.cal-form{padding: 14px 16px 16px;display:flex;flex-direction:column;gap:12px;}
.cal-row{display:grid;grid-template-columns: 1fr 1fr 1fr;gap:10px;}
.cal-row.is-disabled{opacity:.55;}
.cal-field{display:flex;flex-direction:column;gap:6px;}
.cal-field > span{font-size:12px;opacity:.75;font-weight:700;}
.cal-field input,.cal-field select,.cal-field textarea{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
}
.cal-field small{opacity:.7;font-size:12px;margin-top:4px;}
.cal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px;}
.cal-btn--ghost{background: transparent;border:1px solid rgba(0,0,0,.14);} 
.cal-btn--primary{background:#111;color:#fff;border:1px solid #111;}
.cal-btn--danger{background:#b42318;color:#fff;border:1px solid #b42318;}
.cal-btn--danger:hover{filter:brightness(0.95);}
.cal-form__msg{min-height: 18px;font-size: 13px;opacity:.9;}
.cal-form__msg.is-ok{color:#065f46;}
.cal-form__msg.is-err{color:#b91c1c;}
.cal-form__msg.is-info{color:#334155;}

@media (max-width: 700px){
  .cal-row{grid-template-columns: 1fr;}
  .cal-modal__card{
    top: auto;
    bottom: 0;
    left: 0;
    transform: none;
    width: 100vw;
    max-height: 88vh;
    border-radius: 16px 16px 0 0;
  }
}

.cal-week{display:grid;grid-template-columns:repeat(var(--cal-cols,7),minmax(0,1fr));gap:10px;}
.cal-week-col{border:1px solid rgba(0,0,0,.10);border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:10px;min-height:160px;display:flex;flex-direction:column;gap:8px;}
.cal-week-col.is-today,.cal-cell.is-today{border-color:rgba(0,0,0,.22);box-shadow:0 2px 10px rgba(0,0,0,.10);}
.cal-week-head{font-weight:900;font-size:13px;opacity:.85;}
.cal-ev-block{border-radius:14px;}

.cal-cell.is-match,.cal-week-col.is-match{outline:3px solid rgba(236,72,153,.35);outline-offset:2px;}
/* Mobile tweaks for extended filters + week */
@media (max-width: 900px){
  .cal-filters-extended{grid-template-columns:1fr;}
  .cal-tabs{margin-top:4px;}
  .cal-week{gap:8px;}
  .cal-week-col{min-height:120px;padding:9px;}
}

/* --- Bug list mobile layout compact (v1.0.07) --- */
.kitainv-bug-wrap{overflow:auto;-webkit-overflow-scrolling:touch;}
.kitainv-bug-table .kitainv-btn{font-size:16px;padding:10px 12px;}

@media (max-width: 760px){
  .kitainv-bug-table thead{display:none;}
  .kitainv-bug-table, .kitainv-bug-table tbody{display:block;width:100%;}
  .kitainv-bug-table tr{
    display:block;
    border:1px solid rgba(0,0,0,.10);
    border-radius: 14px;
    margin: 10px 0;
    overflow:hidden;
    background:#fff;
  }
  .kitainv-bug-table td{
    display:flex;
    gap:10px;
    align-items:flex-start;
    border:none !important;
    border-bottom:1px solid rgba(0,0,0,.06) !important;
    padding:8px 10px;
  }
  .kitainv-bug-table td:last-child{border-bottom:none !important;}
  .kitainv-bug-table td[data-label]::before{
    content: attr(data-label);
    flex:0 0 92px;
    font-weight:800;
    opacity:.75;
    margin:0;
    font-size:13px;
    line-height:1.2;
  }

  /* Titel darf mehrzeilig sein, aber kompakt */
  .kitainv-bug-table td[data-label="Titel"]{
    display:block;
    padding:10px 10px;
  }
  .kitainv-bug-table td[data-label="Titel"]::before{
    display:block;
    margin-bottom:6px;
  }
  .kitainv-bug-table td[data-label="Titel"] strong{font-size:16px; display:block; margin-bottom:2px;}
  .kitainv-bug-table td[data-label="Titel"] a{font-size:15px;}

  /* Aktion: Button nicht riesig, aber gut tappbar */
  .kitainv-bug-table td[data-label="Aktion"]{
    display:block;
    padding:10px 10px 12px;
  }
  .kitainv-bug-table td[data-label="Aktion"]::before{display:block;margin-bottom:6px;}
  .kitainv-bug-table td[data-label="Aktion"] button.kitainv-btn{
    width:100%;
  }
}


/* --- Bug list mobile no horizontal scroll (v1.0.08) --- */
@media (max-width: 760px){
  body, .site, .content-area, .kitainv-bug-wrap{
    max-width:100vw;
    overflow-x:hidden !important;
  }
  .kitainv-bug-table,
  .kitainv-bug-table *{
    box-sizing:border-box;
    max-width:100%;
  }
  .kitainv-bug-table tr{
    width:100%;
  }
  .kitainv-bug-table td{
    width:100%;
    word-break:break-word;
    overflow-wrap:anywhere;
  }
  .kitainv-bug-table a,
  .kitainv-bug-table button{
    max-width:100%;
    white-space:normal;
  }
}


/* --- Bug mobile clean (v1.0.09) --- */
/* Bug cards */
.kitainv-bug-cards{max-width:760px;margin:0 auto;}
.kitainv-bug-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  padding:14px;
  margin:12px 0;
}
.kitainv-bug-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.kitainv-bug-title{min-width:0;}
.kitainv-bug-id{font-weight:800;opacity:.6;font-size:13px;margin-bottom:4px;}
.kitainv-bug-title-main{font-size:18px;font-weight:900;line-height:1.2;word-break:break-word;}
.kitainv-bug-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.kitainv-badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:13px;
  background:rgba(0,0,0,.06);
}
.kitainv-bug-desc{margin-top:10px;opacity:.9;font-size:15px;line-height:1.35;}
.kitainv-bug-meta{margin-top:10px;display:grid;gap:6px;font-size:14px;opacity:.9;}
.kitainv-bug-actions{margin-top:12px;display:grid;gap:10px;}
.kitainv-btn{display:inline-block;text-align:center;text-decoration:none;border:1px solid rgba(0,0,0,.14);background:#fff;border-radius:14px;padding:12px 12px;font-weight:800;}
.kitainv-btn-secondary{background:#fff;}
.kitainv-btn-danger{border-color:rgba(180,0,0,.35);}
.kitainv-bug-actions form{margin:0;}
.kitainv-bug-actions button{width:100%;}

/* Mobile polish: bug form */
@media (max-width: 760px){
  .kitainv-bug-cards{padding:0 8px;}
  .kitainv-bug-card{padding:12px;}
  .kitainv-bug-title-main{font-size:17px;}
  .kitainv-bug-desc{font-size:15px;}
  .kitainv-bug-meta{font-size:14px;}
  .kitainv-btn{width:100%;}
  /* generic form tweaks inside bug form shortcode wrapper */
  .kitainv-bug-form input[type="text"],
  .kitainv-bug-form input[type="file"],
  .kitainv-bug-form select,
  .kitainv-bug-form textarea{
    width:100% !important;
    max-width:100% !important;
    font-size:16px;
    padding:12px;
    border-radius:14px;
  }
  .kitainv-bug-form label{font-weight:900;}
  .kitainv-bug-form button,
  .kitainv-bug-form input[type="submit"]{
    width:100% !important;
    font-size:16px;
    padding:14px 12px;
    border-radius:14px;
    font-weight:900;
  }
}

/* Calendar: inline expand for +x mehr */
.cal-more-panel{margin-top:8px;}
.cal-ev.cal-ev--more{background:rgba(0,0,0,.02);}

/* Calendar series (recurring) indicator */
.kitainv .cal-series{display:inline-block; font-size:12px; line-height:1; margin-left:6px; opacity:.85}
.kitainv .cal-seriesbadge{display:inline-flex; align-items:center; gap:6px; margin-left:10px; padding:2px 8px; border-radius:999px; font-size:12px; background:#f1f5f9; color:#0f172a; border:1px solid #e2e8f0}
.kitainv .cal-series-badge{display:inline-flex; align-items:center; padding:1px 6px; border-radius:999px; font-size:11px; font-weight:800; background:#eef2ff; color:#3730a3; border:1px solid #e0e7ff; margin-right:6px;}
.kitainv .cal-seriesline{margin:10px 0 6px; padding:10px 12px; border:1px dashed #e5e7eb; border-radius:14px; background:#fafafa; font-size:13px; color:#111827;}
.kitainv .cal-seriesline code{display:inline-block; padding:2px 8px; margin-left:6px; border-radius:10px; background:#fff; border:1px solid #e5e7eb; font-size:12px;}
.kitainv .cal-btn--danger{background:#b42318;color:#fff;border:1px solid #b42318;}
.kitainv .cal-btn--danger:hover{filter:brightness(0.95);}

/* --- Trainings (Schulungen) --- */
.kitainv-training-statusbox{
  margin: 10px 0 14px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 14px;
  background: #fff;
}
.kitainv-training-statusline{margin-top:6px; font-size:13px; opacity:.9;}

.kitainv-badge.kitainv-badge-done{background: #f4fff4; border:1px solid #cde7cd;}
.kitainv-badge.kitainv-badge-soon{background: #fff7e6; border:1px solid #ffd89a;}
.kitainv-badge.kitainv-badge-due{background: #fff0f0; border:1px solid #f3c2c2;}
.kitainv-badge.kitainv-badge-open{background: rgba(0,0,0,.06); border:1px solid rgba(0,0,0,.12);} 
.kitainv-badge.kitainv-badge-optional{background: rgba(0,0,0,.03); border:1px dashed rgba(0,0,0,.18);} 

.kitainv-notice-success,
.kitainv-notice-error{
  margin: 10px 0 12px;
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 800;
}
.kitainv-notice-success{background:#f4fff4; border:1px solid #cde7cd;}
.kitainv-notice-error{background:#fff0f0; border:1px solid #f3c2c2;}


/* ===== Trainings Design (2.11) ===== */
.kitainv-training-theme{ --kitainv-primary:#2b6cb0; }
.kitainv-training-theme .kitainv-btn-primary{
  background:var(--kitainv-primary)!important;
  border-color:var(--kitainv-primary)!important;
  color:#fff!important;
}
.kitainv-training-header{
  height:140px; border-radius:18px; margin:0 0 12px;
  background-size:cover; background-position:center;
}
.kitainv-cardstyle-soft{ border-radius:18px; }
.kitainv-cardstyle-flat{ border-radius:10px; box-shadow:none!important; }

.kitainv-lesson-theme{ border-radius:18px; padding:14px; }
.kitainv-lesson-layout-hero .kitainv-lesson-title{ font-size:22px; font-weight:900; }
.kitainv-lesson-layout-two_col .kitainv-training-blocks{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
}
@media(max-width:800px){
  .kitainv-lesson-layout-two_col .kitainv-training-blocks{ grid-template-columns:1fr; }
}
