/* CAD-Arbeitsfläche – baut auf den Klassen der App auf (plan-viewer-overlay, pv-header, pvt-btn, modal-…) */
#cad-overlay { font-size: .84rem; }
.cad-top { flex-wrap: wrap; gap: 6px 8px; }
.cad-top .pvt-btn { flex-shrink: 0; }
.cad-ico { padding: 6px 9px; }
.cad-crumb { flex: 1; min-width: 120px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cad-crumb span { color: var(--text-muted); font-weight: 400; margin: 0 2px; }
.cad-seg { display: flex; flex-shrink: 0; }
.cad-seg .pvt-btn { border-radius: 0; margin-left: -1.5px; }
.cad-seg .pvt-btn:first-child { border-radius: 8px 0 0 8px; margin-left: 0; }
.cad-seg .pvt-btn:last-child { border-radius: 0 8px 8px 0; }
.cad-seg .pvt-btn.active { background: #a8c61a; border-color: #a8c61a; color: #1f2a00; position: relative; }
.cad-seg-s { padding: 8px; } .cad-seg-s .pvt-btn { flex: 1; justify-content: center; font-size: .74rem; padding: 5px 6px; }
.cad-badge { flex-shrink: 0; padding: 3px 10px; border-radius: 999px; font-size: .72rem; font-weight: 700; background: #ECECEC; color: #404040; white-space: nowrap; }
.cad-badge[data-s="arbeit"] { background: #E8F0FE; color: #1A56B0; }
.cad-badge[data-s="pruefung"] { background: #FFF3CD; color: #8A6100; }
.cad-badge[data-s="freigegeben"] { background: #DDF3E3; color: #17703A; }
.cad-badge[data-s="ueberholt"] { background: #F4DCDA; color: #9B2C24; }

.cad-body { flex: 1; display: flex; min-height: 0; position: relative; }
.cad-left { width: 310px; flex-shrink: 0; display: flex; flex-direction: column; background: #F7F8FA; border-right: 1px solid var(--border); min-height: 0; }
.cad-right { width: 280px; flex-shrink: 0; display: flex; flex-direction: column; background: #F7F8FA; border-left: 1px solid var(--border); min-height: 0; }
.cad-links-zu .cad-left, .cad-rechts-zu .cad-right { display: none; }
.cad-mini { padding: 3px 8px !important; font-size: .72rem !important; }
.cad-gtabs { display: none !important; }
.cad-tab-geschosse .cad-panel, #cad-overlay:not(.cad-tab-geschosse) .cad-tree { display: none; }
.cad-tree { flex: 1; overflow: auto; padding: 6px 8px; border-bottom: 1px solid var(--border); }
.cad-tr-bh { display: flex; align-items: center; justify-content: space-between; font-weight: 700; font-size: .78rem; padding: 4px 2px; }
.cad-tr-g { display: flex; align-items: center; gap: 6px; padding: 3px 4px 3px 10px; border-radius: 6px; font-size: .8rem; }
.cad-tr-g > span[data-g] { flex: 1; cursor: pointer; } .cad-tr-g small { color: var(--text-muted); margin-left: 4px; }
.cad-tr-g.active { background: var(--accent-light); font-weight: 700; }
.cad-tr-a { display: none; gap: 1px; } .cad-tr-bh:hover .cad-tr-a, .cad-tr-g:hover .cad-tr-a { display: flex; }
.cad-tr-a button, .cad-x { border: none; background: none; cursor: pointer; color: var(--text-muted); padding: 1px 4px; font-size: .8rem; border-radius: 4px; }
.cad-tr-a button:hover, .cad-x:hover { background: #e3e5e8; color: var(--text-primary); }
.cad-tools { flex: 1; overflow: auto; padding: 8px; }
.cad-tg-h { font-size: .64rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--text-muted); margin: 10px 2px 4px; }
.cad-tg-b { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.cad-tb { justify-content: center; padding: 6px 4px !important; font-size: .74rem !important; white-space: normal !important; text-align: center; line-height: 1.15; min-height: 30px; }
.cad-tb-wide { width: 100%; }
#cad-overlay .cad-tb.active { background: #a8c61a; border-color: #a8c61a; color: #1f2a00; }
.cad-ro .cad-edit, .cad-ro .cad-tg:not(:last-child), .cad-share .cad-flow, .cad-share #cad-rev { display: none !important; }

.cad-mid { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.cad-gtabs { display: flex; gap: 2px; padding: 6px 10px 0; background: #fff; border-bottom: 1px solid var(--border); overflow-x: auto; flex-shrink: 0; }
.cad-gtabs button { border: 1px solid var(--border); border-bottom: none; background: #F1F2F4; padding: 5px 14px; border-radius: 8px 8px 0 0; font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; color: var(--text-muted); white-space: nowrap; }
.cad-gtabs button.active { background: #fff; color: var(--text-primary); box-shadow: inset 0 3px 0 #a8c61a; }
.cad-opts { display: flex; align-items: center; gap: 10px; padding: 5px 10px; background: #fff; border-bottom: 1px solid var(--border); min-height: 40px; flex-wrap: wrap; flex-shrink: 0; font-size: .8rem; }
.cad-opts label { display: flex; align-items: center; gap: 5px; color: var(--text-muted); }
.cad-opts input[type=number], .cad-opts input[type=text], .cad-status input, .cad-status select { padding: 3px 6px; border: 1.5px solid var(--border); border-radius: 6px; font: inherit; font-size: .78rem; background: #fff; color: var(--text-primary); }
.cad-vgl { background: #FFF3CD; color: #8A6100; padding: 3px 10px; border-radius: 6px; font-weight: 600; }
.cad-views { position: relative; flex: 1; display: flex; min-height: 0; background: #fff; }
.cad-v2d, .cad-v3d { flex: 1; position: relative; overflow: hidden; min-width: 0; }
#cad-overlay[data-ansicht="2d"] .cad-v3d, #cad-overlay[data-ansicht="3d"] .cad-v2d { display: none; }
#cad-overlay[data-ansicht="split"] .cad-v3d { border-left: 2px solid var(--border); }
.cad-v3d { background: linear-gradient(#DCE6F0, #F4F6F8); }
.cad-cv { position: absolute; inset: 0; cursor: crosshair; touch-action: none; display: block; }
.cad-pick .cad-cv { cursor: default; } .cad-cv.pan { cursor: grabbing; }
.cad-cmd { display: flex; align-items: center; gap: 10px; padding: 5px 10px; background: #fff; border-top: 1px solid var(--border); flex-shrink: 0; }
.cad-cmd span { font-size: .78rem; font-weight: 600; color: var(--text-primary); white-space: nowrap; max-width: 62%; overflow: hidden; text-overflow: ellipsis; }
.cad-cmd input { flex: 1; min-width: 80px; padding: 5px 9px; border: 1.5px solid var(--border); border-radius: 7px; font-family: ui-monospace, Consolas, monospace; font-size: .8rem; outline: none; }
.cad-cmd input:focus { border-color: var(--accent); }

.cad-rtabs { display: flex; background: #fff; border-bottom: 1px solid var(--border); flex-shrink: 0; overflow-x: auto; }
.cad-rtabs button { flex: 1; border: none; background: none; padding: 9px 4px; font: inherit; font-size: .72rem; font-weight: 600; color: var(--text-muted); cursor: pointer; border-bottom: 3px solid transparent; position: relative; }
.cad-rtabs button.active { color: var(--text-primary); border-bottom-color: #a8c61a; }
.cad-rtabs button.neu::after { content: ''; position: absolute; top: 6px; right: 6px; width: 7px; height: 7px; border-radius: 50%; background: #E67E22; }
.cad-panel { flex: 1; overflow: auto; min-height: 0; }
.cad-pr-h { font-weight: 700; font-size: .86rem; padding: 10px 12px 4px; }
.cad-pr { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 3px 12px; font-size: .76rem; color: var(--text-muted); }
.cad-pr > span { flex: 1; }
.cad-pr input[type=text], .cad-pr input[type=number], .cad-pr select, .cad-pr textarea { width: 138px; padding: 4px 6px; border: 1.5px solid var(--border); border-radius: 6px; font: inherit; font-size: .78rem; background: #fff; color: var(--text-primary); }
.cad-pr input:disabled, .cad-pr select:disabled { background: #F1F2F4; }
.cad-pr-info { margin: 8px 12px; padding: 8px 10px; background: #fff; border: 1px solid var(--border); border-radius: 8px; font-size: .76rem; line-height: 1.5; font-variant-numeric: tabular-nums; }
.cad-pr-hint { padding: 4px 12px; font-size: .72rem; color: var(--text-muted); line-height: 1.4; }
.cad-pr-cap { padding: 8px 12px 3px; font-size: .64rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
.cad-sch { display: flex; align-items: center; gap: 5px; padding: 2px 12px; }
.cad-sch i { width: 14px; height: 20px; border: 1px solid #999; flex-shrink: 0; }
.cad-sch select { flex: 1; min-width: 0; } .cad-sch input { width: 62px; }
.cad-sch select, .cad-sch input { padding: 3px 5px; border: 1.5px solid var(--border); border-radius: 6px; font: inherit; font-size: .76rem; }
.cad-panel > .cad-mini { margin: 6px 12px; }
.cad-ly { margin: 6px 8px; padding: 6px 8px; background: #fff; border: 1.5px solid var(--border); border-radius: 8px; }
.cad-ly.active { border-color: #a8c61a; }
.cad-ly-1, .cad-ly-2 { display: flex; align-items: center; gap: 5px; } .cad-ly-2 { margin-top: 5px; padding-left: 20px; }
.cad-ly-1 input[type=text] { flex: 1; min-width: 0; border: none; font: inherit; font-size: .8rem; font-weight: 600; background: none; }
.cad-ly small { color: var(--text-muted); font-size: .68rem; }
.cad-ly select { flex: 1; min-width: 0; padding: 2px 4px; border: 1.5px solid var(--border); border-radius: 6px; font: inherit; font-size: .72rem; }
.cad-ly input[type=color], .cad-pr input[type=color] { width: 26px; height: 22px; padding: 0; border: 1px solid var(--border); border-radius: 4px; background: none; }
.cad-sw { border: 1.5px solid var(--border); background: #fff; border-radius: 6px; padding: 2px 8px; font: inherit; font-size: .72rem; cursor: pointer; color: var(--text-muted); }
.cad-sw.on { background: #a8c61a; border-color: #a8c61a; color: #1f2a00; font-weight: 600; }
.cad-li-bar { display: flex; align-items: center; gap: 6px; padding: 6px 8px; flex-wrap: wrap; font-size: .74rem; }
.cad-li-bar select, .cad-li-bar input[type=text] { padding: 4px 6px; border: 1.5px solid var(--border); border-radius: 6px; font: inherit; font-size: .76rem; }
.cad-li-wrap { overflow: auto; }
.cad-li { border-collapse: collapse; width: 100%; font-size: .74rem; background: #fff; }
.cad-li th { text-align: left; padding: 5px 7px; background: #F1F2F4; position: sticky; top: 0; white-space: nowrap; font-size: .68rem; }
.cad-li td { padding: 4px 7px; border-top: 1px solid var(--border); white-space: nowrap; } .cad-li td.n { text-align: right; font-variant-numeric: tabular-nums; }
.cad-km { margin: 6px 8px; padding: 8px 10px; background: #fff; border: 1px solid var(--border); border-radius: 8px; font-size: .78rem; }
.cad-km.erledigt { opacity: .7; } .cad-km.blink { box-shadow: 0 0 0 2px #E67E22; }
.cad-km-h { display: flex; align-items: center; gap: 6px; } .cad-km-h small { margin-left: auto; color: var(--text-muted); font-size: .68rem; }
.cad-pin-n { min-width: 20px; height: 20px; border-radius: 10px; background: #E67E22; color: #fff; font-size: .68rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; padding: 0 5px; }
.cad-pin-n[data-s="erledigt"] { background: #1E9E4A; }
.cad-km-t { margin: 5px 0; line-height: 1.4; word-break: break-word; } .cad-at { color: #1A56B0; font-weight: 600; }
.cad-km-z { font-size: .72rem; color: #1A56B0; font-weight: 600; }
.cad-km-r { margin: 6px 0 0 10px; padding-left: 8px; border-left: 2px solid var(--border); font-size: .76rem; }
.cad-km-foto { max-width: 100%; max-height: 120px; border-radius: 6px; margin-top: 5px; cursor: zoom-in; display: block; }
.cad-km-a { display: flex; gap: 4px; margin-top: 6px; flex-wrap: wrap; }
.cad-km-a button { border: 1px solid var(--border); background: #fff; border-radius: 6px; padding: 2px 7px; font: inherit; font-size: .7rem; cursor: pointer; }
.cad-km-a button:hover { background: var(--accent-light); }
.cad-ampel { width: 12px; height: 12px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
.cad-ms { margin-top: 4px; font-variant-numeric: tabular-nums; }
.cad-ms-soll { padding: 10px 12px; background: #F1F2F4; border-radius: 8px; margin-bottom: 12px; font-size: .9rem; } .cad-ms-soll small { display: block; color: var(--text-muted); }
.cad-ms-ampel { min-height: 20px; font-size: .8rem; display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.cad-vl-r { display: flex; gap: 8px; padding: 6px 10px; border-bottom: 1px solid var(--border); font-size: .76rem; cursor: pointer; background: #fff; }
.cad-vl-r:hover { background: var(--accent-light); } .cad-vl-r i { font-style: normal; font-weight: 700; width: 14px; }
.cad-vl-r small { display: block; color: var(--text-muted); font-size: .68rem; }
.cad-at-liste { display: flex; flex-wrap: wrap; gap: 4px; margin: -8px 0 12px; }
.cad-at-liste button { border: 1px solid var(--border); background: #fff; border-radius: 999px; padding: 2px 9px; font: inherit; font-size: .72rem; cursor: pointer; color: #1A56B0; }
.cad-fr-kopf { margin-bottom: 10px; } .cad-fr-schritte { display: flex; align-items: center; gap: 6px; margin: 10px 0 14px; font-size: .78rem; color: var(--text-muted); flex-wrap: wrap; }
.cad-fr-schritte i { font-style: normal; } .cad-fr-schritte .akt { background: #a8c61a; color: #1f2a00; font-weight: 700; padding: 2px 10px; border-radius: 999px; }
.cad-ask-info { font-size: .84rem; line-height: 1.5; margin-bottom: 14px; }

.cad-status { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 4px 12px; background: #fff; border-top: 1px solid var(--border); font-size: .72rem; color: var(--text-muted); flex-shrink: 0; }
.cad-status label { display: flex; align-items: center; gap: 4px; } .cad-st-k { font-variant-numeric: tabular-nums; min-width: 150px; color: var(--text-primary); font-weight: 600; }
.cad-toast { position: absolute; left: 50%; bottom: 84px; transform: translateX(-50%); background: #2B2F33; color: #fff; padding: 9px 18px; border-radius: 10px; font-size: .82rem; opacity: 0; pointer-events: none; transition: opacity .2s; z-index: 50; max-width: 80%; text-align: center; }
.cad-toast.open { opacity: 1; }
.cad-menu { position: absolute; display: none; flex-direction: column; background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 8px 28px rgba(0,0,0,.18); padding: 5px; z-index: 60; min-width: 190px; }
.cad-menu.open { display: flex; }
.cad-menu button { border: none; background: none; text-align: left; padding: 7px 12px; font: inherit; font-size: .8rem; border-radius: 6px; cursor: pointer; color: var(--text-primary); }
.cad-menu button:hover { background: var(--accent-light); } .cad-menu button:disabled { opacity: .4; cursor: default; }
.cad-menu-sep { height: 1px; background: var(--border); margin: 4px 0; }
.cad-modal { z-index: 3300 !important; } .cad-win { width: 100%; padding: 22px 24px; } .cad-win-b { max-height: 74vh; overflow: auto; }
.cad-modal .mf textarea { min-height: 60px; }

/* 3D-Bedienleiste */
.cad-3d-bar { position: absolute; top: 8px; left: 8px; right: 8px; display: flex; gap: 5px; flex-wrap: wrap; z-index: 3; pointer-events: none; }
.cad-3d-bar > * { pointer-events: auto; }
.cad-3d-bar .pvt-btn { padding: 4px 9px; font-size: .72rem; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.cad-3d-bar .pvt-btn.active { background: #a8c61a !important; border-color: #a8c61a !important; color: #1f2a00 !important; }
.cad-3d-schnitt { position: absolute; left: 8px; bottom: 8px; background: rgba(255,255,255,.94); border: 1px solid var(--border); border-radius: 10px; padding: 8px 10px; font-size: .72rem; z-index: 3; display: none; min-width: 230px; }
.cad-3d-schnitt.open { display: block; } .cad-3d-schnitt label { display: flex; align-items: center; gap: 6px; margin: 3px 0; } .cad-3d-schnitt input[type=range] { flex: 1; }
.cad-3d-info { position: absolute; right: 8px; bottom: 8px; background: rgba(255,255,255,.9); border-radius: 8px; padding: 4px 9px; font-size: .7rem; color: var(--text-muted); z-index: 3; pointer-events: none; }

/* Planblatt-Editor */
.cad-blatt { display: flex; gap: 14px; min-height: 60vh; } .cad-blatt-l { width: 270px; flex-shrink: 0; overflow: auto; max-height: 72vh; }
.cad-blatt-r { flex: 1; background: #8A909A; border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 14px; min-width: 0; overflow: hidden; }
.cad-blatt-r canvas { background: #fff; box-shadow: 0 4px 24px rgba(0,0,0,.4); max-width: 100%; max-height: 68vh; cursor: move; touch-action: none; }
.cad-blatt .mf { margin-bottom: 8px; } .cad-blatt .mf label { font-size: .66rem; margin-bottom: 2px; } .cad-blatt .mf input, .cad-blatt .mf select { padding: 5px 8px; font-size: .8rem; }
.cad-vp { border: 1.5px solid var(--border); border-radius: 8px; padding: 6px 8px; margin-bottom: 6px; background: #fff; font-size: .76rem; cursor: pointer; }
.cad-vp.active { border-color: #a8c61a; } .cad-vp b { display: flex; justify-content: space-between; }

/* Planliste im Panel „CAD“ */
.cad-pl-status { display: inline-block; margin-left: 8px; }

/* Mobil: Seitenleisten als Overlay, große Trefferflächen */
@media (max-width: 900px) {
  .cad-left, .cad-right { position: absolute; top: 0; bottom: 0; z-index: 20; display: none; box-shadow: 0 0 30px rgba(0,0,0,.25); max-width: 86vw; }
  .cad-left { left: 0; } .cad-right { right: 0; }
  .cad-links-auf .cad-left, .cad-rechts-auf .cad-right { display: flex; }
  .cad-links-zu .cad-left, .cad-rechts-zu .cad-right { display: none; }
  .cad-crumb { min-width: 90px; max-width: 34vw; } .cad-st-k { min-width: 0; }
  .cad-status label:nth-of-type(n+3) { display: none; }
  .cad-tb { min-height: 38px; } .cad-blatt { flex-direction: column; } .cad-blatt-l { width: auto; max-height: 30vh; }
  .cad-cmd span { max-width: 50%; }
}

/* Formularelemente der Arbeitsfläche kompakt halten (die App setzt global größere Felder) */
#cad-overlay select, #cad-overlay input[type=text], #cad-overlay input[type=number] { font-size: .78rem; height: auto; min-height: 0; width: auto; max-width: 100%; box-shadow: none; }
#cad-overlay .cad-top select { max-width: 190px; padding: 5px 6px; flex-shrink: 1; min-width: 110px; }
#cad-overlay .cad-top .pvt-btn { padding: 6px 9px; }
#cad-overlay .cad-status select, #cad-overlay .cad-status input { padding: 2px 5px; font-size: .72rem; }
#cad-overlay .cad-status #cad-layer { max-width: 130px; }
#cad-overlay .cad-pr input[type=text], #cad-overlay .cad-pr input[type=number], #cad-overlay .cad-pr select, #cad-overlay .cad-pr textarea { width: 138px; }
#cad-overlay .cad-modal .mf input[type=text], #cad-overlay .cad-modal .mf input[type=number], #cad-overlay .cad-modal .mf select, #cad-overlay .cad-modal .mf textarea { width: 100%; font-size: .9rem; }
#cad-overlay .cad-cmd input { font-size: .8rem; flex: 1; }
#cad-overlay .cad-ly-1 input[type=text] { flex: 1; width: 60px; }
#cad-overlay .cad-sch input { width: 62px; }

/* Freigabe-/Teilen-/Arbeitsstand-Bedienung ausgeblendet */
#cad-overlay [data-act="freigabe"], #cad-overlay [data-act="teilen"], #cad-overlay #cad-rev, #cad-overlay #cad-status { display: none !important; }

/* Rechte Seite: Spezifikationen statt Werkzeugliste */
.cad-spez { display: none; flex: 1; flex-direction: column; min-height: 0; }
.cad-spez-auf .cad-spez { display: flex; } .cad-spez-auf .cad-right .cad-tools { display: none; }
.cad-spez-h { display: flex; align-items: center; gap: 8px; padding: 8px; background: #fff; border-bottom: 1px solid var(--border); flex-shrink: 0; font-weight: 700; font-size: .86rem; }
.cad-spez-b { flex: 1; overflow: auto; min-height: 0; padding-bottom: 10px; }
.cad-spez-opts { display: flex; flex-direction: column; gap: 8px; padding: 10px 12px; font-size: .78rem; color: var(--text-muted); }
.cad-spez-opts label { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cad-spez-opts select { width: 100%; }
.cad-spez-opts input[type=number], .cad-spez-opts input[type=text] { padding: 4px 6px; border: 1.5px solid var(--border); border-radius: 6px; font: inherit; font-size: .78rem; background: #fff; color: var(--text-primary); }
#cad-overlay .cad-right .cad-pr input[type=text], #cad-overlay .cad-right .cad-pr input[type=number], #cad-overlay .cad-right .cad-pr select, #cad-overlay .cad-right .cad-pr textarea { width: 124px; }
.cad-status .cad-seg .pvt-btn { padding: 3px 10px; font-size: .72rem; }
/* Vergleichen ausgeblendet; Seitenleisten am Desktop fest (Umschalter nur mobil, dort sind die Leisten Overlays) */
#cad-overlay [data-act="vergleich"] { display: none !important; }
@media (min-width: 901px) {
  #cad-overlay [data-act="links"], #cad-overlay [data-act="rechts"] { display: none !important; }
  #cad-overlay.cad-links-zu .cad-left, #cad-overlay.cad-rechts-zu .cad-right { display: flex; }
}
/* Seitenleisten, Kopf- und Statusleiste im Kanban-Grau */
#cad-overlay .cad-top, #cad-overlay .cad-status, #cad-overlay .cad-left, #cad-overlay .cad-right { background: #EEF0F2; }
#cad-overlay .cad-rtabs, #cad-overlay .cad-spez-h { background: transparent; }

/* Layouts: Plan im Zeichenfeld, Quellen + PDF rechts */
.cad-vlay { display: none; flex: 1; position: relative; background: #8A909A; min-width: 0; overflow: hidden; }
.cad-vlay canvas { position: absolute; inset: 0; touch-action: none; cursor: grab; }
.cad-vlay-leer { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; color: #fff; font-weight: 600; padding: 20px; text-align: center; pointer-events: none; }
#cad-overlay.cad-lay .cad-v2d, #cad-overlay.cad-lay .cad-v3d { display: none !important; }
#cad-overlay.cad-lay .cad-vlay { display: block; }
#cad-overlay.cad-lay .cad-cmd, #cad-overlay.cad-lay .cad-status { display: none; }
.cad-layright { display: none; }
#cad-overlay.cad-lay .cad-layright { display: flex; flex-direction: column; flex: 1; min-height: 0; }
#cad-overlay.cad-lay .cad-tools, #cad-overlay.cad-lay .cad-spez { display: none !important; }
.cad-lo-quellen { flex: 1; overflow: auto; padding: 0 8px 8px; }
.cad-lo-pdf { padding: 10px 12px; border-top: 1px solid var(--border); flex-shrink: 0; }
.cad-lo-pdfbtn { width: 100%; justify-content: center; background: #a8c61a !important; border-color: #a8c61a !important; color: #1f2a00 !important; font-weight: 700; }
.cad-lo-pdfbtn:disabled { opacity: .45; }
.cad-lo-item { display: flex; align-items: center; gap: 9px; padding: 7px 9px; margin: 4px 0; background: #fff; border: 1.5px solid var(--border); border-radius: 8px; cursor: grab; font-size: .8rem; font-weight: 600; user-select: none; }
.cad-lo-item:hover { border-color: #a8c61a; background: var(--accent-light); }
.cad-lo-item i { font-style: normal; font-size: 1.1rem; width: 20px; text-align: center; color: var(--text-muted); }
.cad-lo-item small { display: block; font-weight: 400; font-size: .68rem; color: var(--text-muted); }
.cad-lo { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 4px 8px; padding: 7px 9px; background: #fff; border: 1.5px solid var(--border); border-radius: 8px; cursor: pointer; font-size: .8rem; }
.cad-lo.active { border-color: #a8c61a; background: var(--accent-light); }
.cad-lo small { display: block; font-size: .68rem; color: var(--text-muted); }
.cad-lo > span { min-width: 0; }
.cad-lo-v { padding: 5px 9px; }
.cad-lo-hint { font-size: .74rem; color: var(--text-muted); }
.cad-lo-t { white-space: nowrap; }
#cad-overlay .cad-opts input[data-lov] { width: 64px; }

/* Layouts auf der Übersichtsseite: Liste unter der Datei */
.cad-lo-liste { margin: -4px 0 8px 28px; border-left: 3px solid #a8c61a; background: #fff; border-radius: 0 8px 8px 0; }
.cad-lo-zeile { display: flex; align-items: center; gap: 12px; padding: 6px 12px; border-top: 1px solid var(--border); font-size: .82rem; }
.cad-lo-zeile:first-child { border-top: none; }
.cad-lo-zn { font-weight: 600; cursor: pointer; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cad-lo-zn:hover { text-decoration: underline; }
.cad-lo-zeile small { color: var(--text-muted); white-space: nowrap; }
.cad-lo-za { display: flex; gap: 6px; }
.cad-lo-gross { background: #8A909A; border-radius: 8px; padding: 14px; display: flex; justify-content: center; overflow: auto; max-height: 80vh; }
.cad-lo-gross canvas { background: #fff; box-shadow: 0 4px 24px rgba(0,0,0,.4); }

/* Ebenen: kompakt – Auge, Farbkreis, Titel; die gewählte Ebene hebt sich ab, alle anderen sind ausgegraut */
.cad-eb { padding: 6px 8px; }
.cad-eb-z { display: flex; align-items: center; gap: 9px; padding: 5px 8px; border-radius: 8px; cursor: pointer; opacity: .42; transition: opacity .12s; }
.cad-eb-z:hover { opacity: .75; } .cad-eb-z.active { opacity: 1; background: #fff; box-shadow: 0 0 0 1.5px #a8c61a; }
.cad-eb-z.aus .cad-eb-name { text-decoration: line-through; }
.cad-eb-auge { border: none; background: none; padding: 2px; display: flex; color: var(--text-primary); cursor: pointer; border-radius: 5px; }
.cad-eb-auge:hover { background: #e3e5e8; }
.cad-eb-farbe { position: relative; width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(0,0,0,.25); flex-shrink: 0; cursor: pointer; overflow: hidden; }
.cad-eb-farbe input { position: absolute; inset: -6px; width: 30px; height: 30px; opacity: 0; cursor: pointer; }
.cad-eb-name { flex: 1; min-width: 0; font-size: .82rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Werkzeug-Spezifikationen (rechts) und Wandaufbauten */
.cad-sp-f { display: flex; flex-direction: column; gap: 3px; } .cad-sp-f small, .cad-sp-h small { font-size: .66rem; color: var(--text-muted); font-weight: 600; }
.cad-sp-farbe { display: flex; align-items: center; gap: 7px; padding: 4px 6px; font-size: .78rem; color: var(--text-primary); }
.cad-sp-farbe i { width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(0,0,0,.3); flex-shrink: 0; }
.cad-sp-h { display: flex; align-items: center; justify-content: space-between; font-weight: 700; font-size: .8rem; color: var(--text-primary); margin-top: 6px; }
.cad-wa-list { display: flex; flex-direction: column; gap: 6px; }
.cad-wa { background: #fff; border: 1.5px solid var(--border); border-radius: 8px; padding: 6px 8px; cursor: pointer; }
.cad-wa:hover { border-color: #a8c61a; } .cad-wa.active { border-color: #a8c61a; background: var(--accent-light); box-shadow: 0 0 0 1px #a8c61a; }
.cad-wa-t { display: flex; align-items: center; gap: 6px; margin-bottom: 5px; font-size: .76rem; color: var(--text-primary); }
.cad-wa-t b { flex: 1; min-width: 0; line-height: 1.2; } .cad-wa-t small { color: var(--text-muted); white-space: nowrap; }
.cad-wa-a { display: none; gap: 1px; } .cad-wa:hover .cad-wa-a { display: flex; }
.cad-wa-a button { border: none; background: none; cursor: pointer; color: var(--text-muted); padding: 0 3px; border-radius: 4px; } .cad-wa-a button:hover { background: #e3e5e8; color: var(--text-primary); }
.cad-wa-svg { display: block; max-width: 100%; height: auto; }
.cad-we-z { display: grid; grid-template-columns: 1.4fr 70px 1.4fr 58px 84px; gap: 6px; align-items: center; margin-bottom: 5px; }
.cad-we-kopf { font-size: .64rem; font-weight: 700; text-transform: uppercase; color: var(--text-muted); letter-spacing: .05em; }
.cad-we-f { display: flex; align-items: center; gap: 2px; } .cad-we-f input[type=color] { width: 32px; height: 26px; padding: 0; border: 1px solid var(--border); border-radius: 5px; }
.cad-we-a { display: flex; } .cad-we-vor { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 12px; margin: 6px 0 8px; overflow: auto; }
#cad-overlay .cad-we-z select, #cad-overlay .cad-we-z input[type=number], #cad-overlay .cad-win .mf input[type=text] { width: 100%; }

.cad-addbar { padding: 8px; border-top: 1px solid var(--border); background: #F7F8FA; flex-shrink: 0; }
.cad-addbar .pvt-btn { width: 100%; justify-content: center; }
.cad-eb-z:hover .cad-tr-a { display: flex; }
.cad-eb-name small { font-weight: 400; color: var(--text-muted); margin-left: 4px; }
.cad-eb-kopf { font-weight: 700; font-size: .78rem; padding: 6px 8px 2px; }
.cad-tree { border-bottom: none; }
.cad-grip { display: flex; align-items: center; color: var(--text-muted); cursor: grab; padding: 2px 0; flex-shrink: 0; }
.cad-grip:active { cursor: grabbing; }
.cad-dnd-q { opacity: .3 !important; }
.cad-dnd-v { box-shadow: 0 -3px 0 0 #a8c61a !important; }
.cad-dnd-n { box-shadow: 0 3px 0 0 #a8c61a !important; }

/* Ansicht-Umschalter schwebt im Zeichenfenster */
.cad-views > .cad-seg { position: absolute; left: 14px; bottom: 14px; z-index: 30; background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.18); }
.cad-views > .cad-seg .pvt-btn { padding: 5px 14px; font-size: .78rem; }
.cad-views > .cad-seg .pvt-btn.active { background: #a8c61a; border-color: #a8c61a; color: #1f2a00; }

/* Werkzeugleiste: Symbol über Beschriftung */
.cad-tg-b { grid-template-columns: repeat(3, 1fr); }
.cad-tb { flex-direction: column; gap: 3px; min-height: 56px; padding: 6px 2px 4px !important; font-size: .66rem !important; }
.cad-tb .cad-ic { color: #3a4047; flex-shrink: 0; }
.cad-tb span { line-height: 1.1; hyphens: auto; overflow-wrap: anywhere; }
.cad-tb:hover .cad-ic { color: #1f2a00; }
#cad-overlay .cad-tb.active .cad-ic { color: #1f2a00; }

/* Werkzeug-Einstellungen mit Symbolen */
.cad-vgs { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.cad-vgg { border-top: 1px solid var(--border); padding-top: 6px; }
.cad-vgg summary { cursor: pointer; font-size: .64rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); padding: 2px 0 4px; }
.cad-spez-opts label.cad-vg { display: grid; grid-template-columns: 20px 1fr 112px; align-items: center; justify-content: stretch; gap: 6px; padding: 2px 0; font-size: .76rem; }
.cad-vg i { display: flex; color: #6b7280; } .cad-vg:hover i { color: #7f9a12; }
.cad-vg input[type=number], .cad-vg input[type=text], .cad-vg select { width: 100%; min-width: 0; box-sizing: border-box; }
.cad-vg input[type=checkbox] { justify-self: end; accent-color: #a8c61a; }
.cad-vg-f { display: flex; align-items: center; gap: 4px; } .cad-vg input[type=color] { flex: 1; height: 24px; padding: 0; border: 1px solid var(--border); border-radius: 4px; }

/* Linienart-Auswahl mit Vorschau */
.cad-ld { position: relative; width: 100%; }
.cad-ld-b { display: flex; align-items: center; justify-content: space-between; gap: 6px; width: 100%; padding: 4px 8px; border: 1.5px solid var(--border); border-radius: 6px; background: #fff; color: var(--text-primary); cursor: pointer; }
.cad-ld-b b { font-size: .7rem; color: var(--text-muted); }
.cad-ld-l { display: none; position: fixed; z-index: 9999; background: #fff; border: 1.5px solid var(--border); border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,.18); padding: 4px; flex-direction: column; gap: 2px; }
.cad-ld.auf .cad-ld-l { display: flex; }
.cad-ld-o { display: flex; align-items: center; padding: 7px 10px; border: none; border-radius: 6px; background: none; color: var(--text-primary); cursor: pointer; }
.cad-ld-o:hover { background: #f1f3e4; } .cad-ld-o.on { background: #a8c61a; color: #1f2a00; }

.cad-ld-b em, .cad-ld-o em { font-style: normal; font-size: .72rem; margin-left: 8px; white-space: nowrap; flex: 1; text-align: left; }
.cad-ld-b svg, .cad-ld-o svg { flex-shrink: 0; }

/* Eingabeart als Symbole */
.cad-ei-r { display: flex; flex-wrap: wrap; gap: 4px; }
.cad-ei-b { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1.5px solid var(--border); border-radius: 8px; background: #fff; color: #3a4047; cursor: pointer; padding: 0; }
.cad-ei-b:hover { border-color: #a8c61a; }
.cad-ei-b.on { background: #a8c61a; border-color: #a8c61a; color: #1f2a00; }
.cad-ei-n { display: block; margin-top: 4px; font-size: .7rem; color: var(--text-muted); }

/* Muster-Auswahl */
.cad-ld-g { display: none; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.cad-ld.auf .cad-ld-g { display: grid; }
.cad-ld-g .cad-ld-o { padding: 4px; justify-content: center; }
.cad-ld-m .cad-ld-b { justify-content: space-between; }
.cad-spez-opts label.cad-vg:has(.cad-ld) { grid-template-columns: 20px 76px 1fr; }
