.cc-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.cc-form{margin-top:16px}
.cc-progress{position:sticky;top:0;z-index:20;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 16px;box-shadow:0 6px 18px rgba(15,23,42,.06);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cc-progress-bar{flex:1 1 160px;height:8px;border-radius:99px;background:#e2e8f0;overflow:hidden}
.cc-progress-bar span{display:block;height:100%;width:0;background:#3c6450;transition:width .25s}
.cc-progress-text{font-size:13px;font-weight:600;color:#334155}
.cc-progress .btn2{padding:9px 12px;font-size:13px}
.cc-doc-title{text-align:center;color:#3c6450;font-size:26px;font-weight:800;letter-spacing:.02em;margin:6px 0 4px}
.cc-section{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}
.cc-section:first-of-type{border-top:none;margin-top:0;padding-top:0}
.cc-h2{color:#3c6450;font-size:17px;font-weight:800;margin:0 0 10px;text-transform:uppercase;letter-spacing:.01em}
.cc-h3{font-size:15px;font-weight:700;margin:16px 0 8px;color:#0f172a}
.cc-p{font-size:13.5px;line-height:1.5;color:#475569;margin:0 0 10px}
.cc-p.cc-strong{font-weight:700;color:#1e293b}
.cc-p.cc-box{background:#eef4f0;border:1px solid #c9d8ce;border-radius:12px;padding:12px;color:#1e293b}
.cc-bullets{margin:0 0 10px 18px;padding:0;font-size:13.5px;line-height:1.5;color:#475569}
.cc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin:8px 0 14px}
.cc-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.cc-field.cc-wide{grid-column:1/-1}
.cc-field label{font-size:13px;color:#64748b;font-weight:600}
.cc-field label .cc-req{color:#b45309;margin-left:2px}
.cc-field textarea{min-height:84px;resize:vertical}
.cc-missing .input,.cc-missing.cc-sign-box,.cc-missing .cc-sign-box{border-color:#f59e0b!important;background:#fffbeb!important}
.cc-auto-hint{font-size:11.5px;color:#94a3b8;font-weight:500}
.cc-times{overflow-x:auto;margin:8px 0 14px;-webkit-overflow-scrolling:touch}
.cc-times table{border-collapse:collapse;width:100%;min-width:520px}
.cc-times th{background:#3c6450;color:#fff;font-size:12.5px;font-weight:600;text-align:left;padding:8px}
.cc-times td{border-bottom:1px solid var(--line);padding:6px;vertical-align:middle;font-size:13px}
.cc-times td.cc-day{font-weight:600;color:#334155;white-space:nowrap}
.cc-times .cc-time-pair{display:flex;gap:4px;align-items:center}
.cc-times .cc-time-pair .input{padding:8px 6px;font-size:14px;min-width:0}
.cc-times td.cc-hours{font-weight:700;text-align:right;white-space:nowrap;color:#3c6450}
.cc-times tfoot td{font-weight:800;border-bottom:none}
.cc-checks{display:flex;flex-direction:column;gap:8px;margin:6px 0 14px}
.cc-checks.cc-inline{flex-direction:row;flex-wrap:wrap;gap:10px 18px}
.cc-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#1e293b;line-height:1.4;cursor:pointer}
.cc-check input{width:22px;height:22px;flex:0 0 22px;accent-color:#3c6450;margin:0}
.cc-signs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:10px 0 14px}
.cc-sign{display:flex;flex-direction:column;gap:6px;min-width:0}
.cc-sign-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#334155}
.cc-sign-head button{padding:6px 10px;font-size:12px;border-radius:10px}
.cc-sign-box{position:relative;border:1.5px dashed #94a3b8;border-radius:14px;background:#f8fafc;height:170px;touch-action:none;overflow:hidden}
.cc-sign-box canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.cc-sign-box .cc-sign-placeholder{position:absolute;left:0;right:0;bottom:30px;text-align:center;color:#94a3b8;font-size:13px;pointer-events:none}
.cc-sign-box::after{content:"";position:absolute;left:16px;right:16px;bottom:26px;border-bottom:1px solid #cbd5e1;pointer-events:none}
.cc-sign.cc-signed .cc-sign-placeholder{display:none}
.cc-sign.cc-signed .cc-sign-box{border-style:solid;border-color:#3c6450;background:#fff}
.cc-sign-name{font-size:12px;color:#64748b}
.cc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.cc-actions .btn{flex:1 1 220px;background:#3c6450;box-shadow:none}
.cc-actions .btn:hover{background:#2f5040}
.cc-doc{border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:12px;background:#fff}
.cc-doc.cc-new{border-color:#3c6450;box-shadow:0 0 0 3px rgba(60,100,80,.15)}
.cc-doc .item-actions .btn2{padding:10px 12px;font-size:13px}
@media(max-width:640px){.cc-fields,.cc-signs{grid-template-columns:1fr}.cc-doc-title{font-size:21px}}
.cc-editable{position:relative}
.cc-editable [data-cc-edit-slot]{white-space:pre-line}
.cc-edit-tools{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px}
.cc-edit-tools .cc-edit-btn{padding:4px 10px;font-size:12px;border-radius:9px;font-weight:600;color:#3c6450}
.cc-edit-tools .cc-edit-primary{background:#3c6450;border-color:#3c6450;color:#fff}
.cc-check-item .cc-edit-tools{margin-left:32px}
.cc-edited{border-left:3px solid #c9a84c;padding-left:10px}
.cc-edit-area{width:100%;margin:2px 0;font-size:13.5px;line-height:1.5;resize:vertical}
.cc-struck{text-decoration:line-through;color:#94a3b8}
.cc-edit-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:99px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:700;vertical-align:middle;white-space:nowrap}
.cc-edit-badge-struck{background:#e2e8f0;color:#475569}
.cc-edit-orig{display:block;margin-top:4px;font-size:12px;color:#94a3b8}
.cc-removed-note{font-style:italic;color:#94a3b8;font-size:13px}
/* Vertragsvorlagen */
.cc-start{display:flex;flex-direction:column;gap:8px;min-width:240px}
.cc-start .btn,.cc-start .btn2{width:100%}
.cc-start-template{display:flex;flex-direction:column;gap:4px}
.cc-start-template.hidden{display:none}
.cc-mode-info{background:#eef4f0;border:1px solid #c9d8ce;border-radius:12px;padding:10px 12px;margin:0 0 14px;font-size:13.5px;color:#1e293b}
.cc-mode-template .cc-mode-info{background:#fef9ec;border-color:#e9d9a6;font-size:15px}
.cc-tpl-head{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:16px;padding:14px;margin:0 0 16px;background:#fcfcfa}
.cc-mode-template .cc-contract-only,.cc-mode-template .cc-signs,.cc-mode-template [data-cc-wrap="datum"],.cc-mode-template [data-cc-req]{display:none!important}
.cc-form:not(.cc-mode-template) .cc-template-only{display:none!important}
.cc-tpl-badge{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:99px;background:#3c6450;color:#fff;font-size:11px;font-weight:700;vertical-align:middle}
@media(max-width:640px){.cc-start{min-width:0;width:100%}}
/* Fotos zum Vertrag */
.cc-photos{border:1px solid var(--line);border-radius:16px;padding:14px;margin:4px 0 14px;background:#fcfcfa}
.cc-photo-head{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.cc-photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cc-photo-btn{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:10px 14px;font-size:14px}
.cc-photo-btn input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.cc-photo-btn:focus-within{outline:2px solid #3c6450;outline-offset:2px}
.cc-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.cc-photo{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0}
.cc-photo-thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;width:100%;padding:0;border:1px solid var(--line);border-radius:12px;background:#f1f5f9;overflow:hidden;cursor:zoom-in}
.cc-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cc-photo-loading{font-size:12px;color:#94a3b8}
.cc-photo-del{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:none;background:rgba(15,23,42,.72);color:#fff;font-size:18px;line-height:28px;padding:0;cursor:pointer}
.cc-photo-del:hover{background:#b91c1c}
.cc-photo-name{display:flex;align-items:center;gap:4px;width:100%;min-width:0;padding:3px 4px;border:1px solid transparent;border-radius:8px;background:none;font:inherit;font-size:11.5px;color:#64748b;text-align:left;cursor:text}
.cc-photo-name span:first-child{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-photo-name:hover,.cc-photo-name:focus-visible{border-color:var(--line);background:#fff;color:#1e293b}
.cc-photo-pen{flex:none;font-size:12px;opacity:.55}
.cc-photo-name:hover .cc-photo-pen{opacity:1}
.cc-photo-name-input{width:100%;min-width:0;box-sizing:border-box;padding:4px 6px;border:1px solid #3c6450;border-radius:8px;font:inherit;font-size:12.5px;color:#1e293b;background:#fff}
.cc-photo-name-input:focus{outline:2px solid #3c6450;outline-offset:1px}
.cc-doc-photos{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.cc-photo-viewer{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;gap:12px}
.cc-photo-viewer img{max-width:100%;max-height:calc(100% - 64px);object-fit:contain;border-radius:8px;background:#fff}
.cc-photo-viewer-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;color:#fff;font-size:14px;font-weight:600}
.cc-photo-viewer-bar span{margin-right:8px;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-photo-viewer-bar .btn2{padding:8px 12px;font-size:13px;text-decoration:none}
/* Vertragsanpassungen und Versionen */
.cc-form:not(.cc-mode-amend) .cc-amend-only{display:none!important}
.cc-mode-amend .cc-new-only{display:none!important}
.cc-amend-head{display:flex;flex-direction:column;gap:6px;border:1px solid #e9d9a6;border-radius:16px;padding:14px;margin:0 0 16px;background:#fef9ec}
.cc-amend-head .cc-fields{margin:0 0 4px}
.cc-mode-amend .cc-mode-info{background:#fef9ec;border-color:#e9d9a6}
.cc-version-badge{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:99px;background:#c9a84c;color:#fff;font-size:11px;font-weight:700;vertical-align:middle}
.cc-version-badge.cc-version-old{background:#e2e8f0;color:#475569}
.cc-doc-history{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.cc-doc-version{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid var(--line)}
.cc-doc-version .item-actions .btn2{padding:8px 10px;font-size:12.5px}
/* Kameraansicht (Windows/Desktop) */
.cc-camera{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px}
.cc-camera-stage{position:relative;width:100%;max-width:960px;flex:0 1 auto;max-height:calc(100% - 110px);aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cc-camera-stage video{width:100%;height:100%;object-fit:contain;display:block}
.cc-camera-status{position:absolute;inset:auto 16px 16px 16px;margin:auto;color:#fff;font-size:14px;line-height:1.45;text-align:center;background:rgba(15,23,42,.72);border-radius:10px;padding:12px}
.cc-camera-status[hidden]{display:none}
.cc-camera-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}
.cc-camera.cc-flash .cc-camera-flash{animation:ccFlash .35s ease-out}
@keyframes ccFlash{from{opacity:.85}to{opacity:0}}
.cc-camera-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.cc-camera-bar [hidden]{display:none}
.cc-camera-bar .btn,.cc-camera-bar .btn2{padding:12px 18px;font-size:15px}
.cc-camera-shot{background:#3c6450;box-shadow:none;min-width:160px}
.cc-camera-count{color:#e2e8f0;min-height:18px;text-align:center}
.cc-field input.cc-computed{background:#f1f5f9;color:#0f172a;font-weight:600;cursor:default}
