/* PV-Doku Frontend-Styles – schlank und für mobile Nutzung optimiert */

.pvdoku-app { max-width: 720px; margin: 0 auto; padding: 12px; }

.pvdoku-topbar {
    display: flex; justify-content: space-between; align-items: center;
    font-size: 14px; margin-bottom: 12px; padding-bottom: 8px;
    border-bottom: 1px solid #e0e0e0;
}
.pvdoku-topbar a { text-decoration: none; }

.pvdoku-btn {
    display: inline-block; background: #1a6fb5; color: #fff;
    padding: 12px 18px; border: none; border-radius: 6px;
    font-size: 16px; cursor: pointer; text-align: center;
}
.pvdoku-btn:hover { background: #155a93; }
.pvdoku-btn-light { background: #e6e6e6; color: #222; }
.pvdoku-btn-primary { background: #1f8a44; width: 100%; font-size: 18px; padding: 16px; }
.pvdoku-btn-primary:hover { background: #176c35; }
.pvdoku-btn:disabled { opacity: .6; cursor: default; }

.pvdoku-login { max-width: 360px; margin: 40px auto; }
.pvdoku-login input[type=text], .pvdoku-login input[type=password] {
    width: 100%; padding: 10px; font-size: 16px; box-sizing: border-box;
}

.pvdoku-list { list-style: none; padding: 0; }
.pvdoku-list li { margin-bottom: 8px; }
.pvdoku-list a {
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px;
    padding: 16px; background: #f5f7fa;
    border: 1px solid #e0e0e0; border-radius: 8px; text-decoration: none; color: #222;
    min-height: 44px;
}
.pvdoku-list-title { font-weight: 600; font-size: 16px; flex: 1 1 100%; }
.pvdoku-list-ort { color: #555; font-size: 14px; }

.pvdoku-group {
    font-size: 14px; text-transform: uppercase; letter-spacing: .04em;
    color: #777; margin: 18px 0 8px; border: none; padding: 0;
}
.pvdoku-empty { color: #777; padding: 20px 0; }

.pvdoku-adresse { font-size: 14px; color: #444; margin: 4px 0 12px; }
.pvdoku-adresse a { margin-left: 6px; }

.pvdoku-statusrow {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    margin-bottom: 14px;
}
.pvdoku-statusrow label { font-weight: 600; }
.pvdoku-statusrow select { flex: 1 1 auto; min-height: 44px; }
#pvdoku-status-msg { font-size: 14px; }

.pvdoku-status {
    margin-left: auto; font-size: 12px; padding: 3px 10px; border-radius: 12px;
    background: #ddd; white-space: nowrap;
}
.pvdoku-status-abgeschlossen { background: #cdebd6; color: #176c35; }
.pvdoku-status-in_arbeit { background: #fdeecb; color: #8a6100; }

.pvdoku-progress {
    background: #eef3f8; border-radius: 6px; padding: 10px 14px;
    font-weight: bold; margin-bottom: 16px;
}

.pvdoku-section { margin-bottom: 24px; }
.pvdoku-section h3 {
    font-size: 16px; border-bottom: 2px solid #1a6fb5;
    padding-bottom: 4px; margin-bottom: 12px;
}

.pvdoku-pos {
    border: 1px solid #e0e0e0; border-left: 4px solid #ccc;
    border-radius: 6px; padding: 12px; margin-bottom: 10px;
}
.pvdoku-pos.is-done { border-left-color: #1f8a44; background: #fbfdfb; }
.pvdoku-pos-label { font-weight: 600; margin-bottom: 8px; }
.pvdoku-req { color: #c0392b; }
.pvdoku-pos-preview img {
    max-width: 100%; max-height: 200px; border-radius: 4px;
    margin-bottom: 8px; display: block;
}
.pvdoku-upload-btn { font-size: 15px; padding: 10px 16px; }

.pvdoku-pos-status { display: inline-block; margin-left: 10px; font-size: 14px; }
.pvdoku-pos-status.is-ok { color: #1f8a44; }
.pvdoku-pos-status.is-error { color: #c0392b; }
.pvdoku-pos-status.is-loading { color: #8a6100; }

.pvdoku-signature {
    border: 1px dashed #999; border-radius: 6px;
    touch-action: none; background: #fff; width: 100%; max-width: 600px;
    height: auto; display: block; margin-bottom: 10px;
}
.pvdoku-input { padding: 10px; font-size: 16px; width: 100%; max-width: 360px; box-sizing: border-box; }

.pvdoku-ok { color: #1f8a44; font-weight: 600; }
.pvdoku-error { color: #c0392b; font-weight: 600; }

#pvdoku-submit-msg { margin-top: 12px; font-size: 16px; }

/* ---- Mobile-Optimierung ---- */
@media (max-width: 600px) {
    .pvdoku-app { padding: 10px; }
    .pvdoku-section h3 { font-size: 15px; }
    .pvdoku-pos { padding: 14px; }
    .pvdoku-upload-btn { width: 100%; box-sizing: border-box; }
    .pvdoku-pos-status { display: block; margin: 8px 0 0; }
    .pvdoku-btn { width: 100%; box-sizing: border-box; margin-bottom: 6px; }
    .pvdoku-btn-light { width: auto; }
    .pvdoku-signature { height: 180px; }
    /* font-size 16px auf Inputs verhindert ungewolltes Zoomen auf iOS */
    .pvdoku-input, .pvdoku-statusrow select { font-size: 16px; }
}

/* Tap-Highlight dezenter */
.pvdoku-app a, .pvdoku-app button, .pvdoku-app label {
    -webkit-tap-highlight-color: rgba(26,111,181,0.15);
}

.pvdoku-pdf-link { margin-top: 14px; }
.pvdoku-pdf-link a { display: inline-block; width: auto; }
