/* PathHub kostenlose PM-Tools – gemeinsames Design */
.pmt { --p: #4F46E5; --p2: #764BA2; --ink: #111827; --mut: #6B7280; --line: #E5E7EB; --soft: #F9FAFB; --tint: #EEF2FF;
  font-family: Inter, 'Inter Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif; color: var(--ink); background: #fff; border: 1px solid var(--line);
  border-radius: 20px; box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 12px 32px -18px rgba(79,70,229,.25); padding: 1.5rem; margin: 2rem auto; max-width: 1100px; text-align: left; line-height: 1.5; caret-color: auto; }
.pmt *, .pmt *::before, .pmt *::after { box-sizing: border-box; }
.pmt h3.pmt-title { margin: 0 0 .25rem; font-size: 1.2rem; font-weight: 800; color: var(--ink); }
.pmt p.pmt-intro { margin: 0 0 1rem; color: var(--mut); font-size: .93rem; }
.pmt-row { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.pmt input[type=text], .pmt input[type=number], .pmt input[type=date], .pmt select, .pmt textarea {
  font: inherit; font-size: .93rem; color: var(--ink); background: #fff; border: 1px solid #D1D5DB; border-radius: 10px; padding: .55rem .75rem; min-width: 0; caret-color: auto; }
.pmt input:focus, .pmt select:focus, .pmt textarea:focus { outline: none; border-color: var(--p); box-shadow: 0 0 0 3px rgba(79,70,229,.15); }
.pmt textarea { width: 100%; resize: vertical; }
.pmt label.pmt-lab { display: block; font-size: .8rem; font-weight: 700; color: #374151; margin-bottom: .3rem; }
.pmt-btn { display: inline-flex; align-items: center; gap: .4rem; font: inherit; font-size: .88rem; font-weight: 600; color: var(--p); background: #fff; border: 1.5px solid #C7D2FE;
  border-radius: 10px; padding: .5rem .85rem; cursor: pointer; transition: background .15s, border-color .15s, color .15s; white-space: nowrap; }
.pmt-btn:hover { background: var(--tint); border-color: #A5B4FC; }
.pmt-btn-primary { color: #fff; background: linear-gradient(135deg, var(--p), #7C3AED); border-color: transparent; }
.pmt-btn-primary:hover { background: linear-gradient(135deg, #4338CA, #6D28D9); }
.pmt-btn-ghost { color: var(--mut); border-color: var(--line); }
.pmt-btn-sm { padding: .3rem .55rem; font-size: .8rem; border-radius: 8px; }
.pmt-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 0; border-radius: 8px; background: transparent; color: var(--mut); cursor: pointer; flex-shrink: 0; }
.pmt-icon-btn:hover { background: #F3F4F6; color: #DC2626; }
.pmt-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid #F3F4F6; }
.pmt-saved { margin: .5rem 0 0; font-size: .78rem; color: #9CA3AF; }
.pmt-chip { display: inline-flex; align-items: center; gap: .3rem; font-size: .75rem; font-weight: 600; border-radius: 999px; padding: .15rem .55rem; background: var(--tint); color: #4338CA; }
.pmt-warn { margin-top: .9rem; background: #FFFBEB; border: 1px solid #FCD34D; color: #92400E; border-radius: 12px; padding: .7rem .9rem; font-size: .86rem; }
.pmt-warn ul { margin: .3rem 0 0 1rem; padding: 0; }
.pmt-ok { margin-top: .9rem; background: #ECFDF5; border: 1px solid #6EE7B7; color: #065F46; border-radius: 12px; padding: .7rem .9rem; font-size: .86rem; }
.pmt-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: 14px; }
.pmt-table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 520px; }
.pmt-table th, .pmt-table td { border-bottom: 1px solid #F3F4F6; padding: .5rem .6rem; font-size: .9rem; vertical-align: middle; }
.pmt-table thead th { background: var(--soft); font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--mut); font-weight: 700; position: sticky; top: 0; }
.pmt-table input[type=text] { width: 100%; border-color: transparent; background: transparent; padding: .4rem .5rem; }
.pmt-table input[type=text]:hover { border-color: var(--line); background: #fff; }
.pmt-table textarea.raci-ta:hover { border-color: var(--line) !important; background: #fff !important; }
.pmt-table textarea.raci-ta:focus { border-color: var(--p) !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(79,70,229,.15); }
.pmt-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); opacity: 0; z-index: 10000; background: #111827; color: #fff; font: 600 .88rem Inter, system-ui, sans-serif;
  padding: .7rem 1.1rem; border-radius: 12px; box-shadow: 0 12px 30px rgba(0,0,0,.25); transition: opacity .25s, transform .25s; max-width: calc(100vw - 32px); }
.pmt-toast.in { opacity: 1; transform: translate(-50%, 0); }
.pmt-full-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: .9rem; font-size: .88rem; font-weight: 700; color: var(--p); text-decoration: none; }
.pmt-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .6rem; margin-top: 1rem; }
.pmt-stat { background: linear-gradient(180deg, #F5F3FF, #fff); border: 1px solid #EDE9FE; border-radius: 12px; padding: .6rem .7rem; }
.pmt-stat b { display: block; font-size: 1.05rem; color: var(--p); letter-spacing: normal; word-spacing: normal; }
.pmt-stat span { font-size: .75rem; color: var(--mut); }
@media (max-width: 640px) {
  .pmt { padding: 1rem; border-radius: 16px; margin: 1.5rem auto; }
  .pmt-toolbar .pmt-btn { flex: 1 1 calc(50% - .5rem); justify-content: center; }
}
@media print { .pmt-toolbar, .pmt-saved { display: none; } }
