:root{--bg:#10141b;--panel:#171d27;--line:#2b3444;--text:#e8edf4;--muted:#97a3b6;--gold:#c9b37a;--gold2:#e4d3a0;--brand:#FFE44D;--ok:#4caf82;--warn:#c9b37a;--bad:#d07171;--act:#243044}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:14px/1.4 "Segoe UI",system-ui,sans-serif}
body{min-height:100vh}
.top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.32rem .8rem;border-bottom:1px solid var(--line);background:#141a23;position:sticky;top:0;z-index:20}
.brand{min-width:0}
.eyebrow{display:none}
.brand h1,#appTitle{margin:0;font-size:1.16rem;font-weight:400;letter-spacing:.06em;color:var(--brand);font-family:Georgia,"Times New Roman",serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-tools{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
#clock{font-variant-numeric:tabular-nums;font-size:.9rem;color:var(--text);min-width:5.5rem;text-align:right}
.badge{padding:.2rem .5rem;border-radius:4px;font-size:.7rem;letter-spacing:.04em;border:1px solid var(--line);white-space:nowrap;text-transform:uppercase}
.badge.READY,.badge.OK,.badge.BEREIT{background:#143024;color:#9ad4b4;border-color:#2e6a4a}
.badge.BLOCKED,.badge.UNKNOWN,.badge.AUSSTEHEND{background:#2c2718;color:var(--gold2);border-color:#6a5a2e}
.badge.UNCONFIGURED,.badge.AKTION,.badge.FREIGABE{background:#2a2416;color:#e0c070;border-color:#6a5a2e}
.badge.FAILED,.badge.BAD{background:#3a1820;color:#f0a0a0;border-color:#7a3333}
.badge.WAITING_FOR_APPROVAL,.badge.LEGACY_REVIEW_REQUIRED{background:#2c2718;color:var(--gold2)}
.badge.QUEUED,.badge.SENDING{background:#1d2a44;color:var(--text)}
.badge.SENT{background:#143024;color:#9ad4b4}
.badge.CANCELLED{background:#2a3140;color:var(--muted)}
.nav{display:flex;flex-wrap:wrap;gap:.16rem;padding:.22rem .65rem;border-bottom:1px solid var(--line);background:#121821}
.nav button{background:transparent;color:var(--muted);border:1px solid transparent;border-radius:4px;padding:.14rem .42rem;cursor:pointer;font-size:.76rem}
.nav button:hover{color:var(--text);border-color:var(--line)}
.nav button.on{color:var(--brand);border-color:#8a7a28;background:#1c1a10}
main{padding:.4rem .7rem 1rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:.42rem .55rem;margin:0 0 .38rem}
.card h2,h2{margin:0 0 .28rem;font-size:.88rem;color:var(--text);letter-spacing:.02em;text-transform:none;font-weight:600}
.card h3,h3{margin:.4rem 0 .18rem;font-size:.7rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:600}
p{margin:0 0 .2rem}
.hint{color:var(--muted);font-size:.78rem;margin:.15rem 0}
.mono{font-family:Consolas,ui-monospace,monospace;font-size:.74rem;word-break:break-all}
.row{display:flex;gap:.35rem;flex-wrap:wrap;margin:.28rem 0;align-items:flex-end}
.act,button.act,a.act{background:var(--act);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:.24rem .5rem;cursor:pointer;font-size:.78rem;text-decoration:none;display:inline-block;line-height:1.3}
.act:hover,button.act:hover{border-color:var(--gold)}
.act.on,button.act.on{border-color:var(--gold);color:var(--gold2)}
.act.danger,button.danger{background:#3a1820;border-color:#7a3333}
.act:disabled,button.act:disabled{opacity:.45;cursor:not-allowed}
.conc-ctl{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin:.25rem 0}
.conc-ctl input#concVal{width:4.2rem;text-align:center}
table{width:100%;border-collapse:collapse;font-size:.8rem}
th,td{text-align:left;padding:.16rem .28rem;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
td{overflow:hidden;text-overflow:ellipsis}
.clip{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.error{color:var(--bad);padding:0 .85rem}
.lead-cards{display:flex;flex-wrap:wrap;gap:.25rem;margin:.3rem 0}
.lead-cards button.act{min-width:0;font-size:.74rem}
label.f{display:flex;flex-direction:column;gap:.12rem;margin:.2rem 0;color:var(--muted);font-size:.76rem;min-width:8rem;flex:1 1 10rem}
input,textarea,select{width:100%;background:#10151d;color:var(--text);border:1px solid var(--line);border-radius:4px;padding:.26rem .4rem;font:inherit}
textarea{min-height:2.4rem}
.total{font-size:1.05rem;color:var(--gold2)}
pre.mono{white-space:pre-wrap;max-height:12rem;overflow:auto;background:#10151d;padding:.4rem;border-radius:4px}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:.4rem;margin:0 0 .5rem}
.kpi .card{margin:0;padding:.4rem .55rem}
.kpi span{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.kpi b{display:block;margin-top:.1rem;font-size:1.2rem;color:var(--gold2);font-weight:650}
.prov-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:.4rem;margin:.35rem 0}
.prov-card{display:block;width:auto;max-width:none;border:1px solid var(--line);border-radius:6px;padding:.4rem .5rem;margin:0;background:#151b26}
.prov-card p{margin:.1rem 0;font-size:.76rem}
.field-row{display:grid;grid-template-columns:minmax(8rem,1.4fr) 7rem minmax(10rem,1.6fr);gap:.35rem;align-items:center;padding:.28rem 0;border-bottom:1px solid var(--line)}
.field-row .fname{min-width:0;color:var(--text);font-size:.86rem}
.field-row .ftype{color:var(--muted);font-size:.74rem}
.field-row .ftags{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.field-row label.chk{display:inline-flex;align-items:center;gap:.3rem;margin:0;width:auto;color:var(--muted);font-size:.76rem;white-space:nowrap}
.field-row input[type=checkbox]{width:auto}
.group-title{margin:.7rem 0 .25rem;font-size:.72rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
details.tech,details.more{margin-top:.4rem;border-top:1px solid var(--line);padding-top:.35rem;color:var(--muted);font-size:.78rem}
details.tech summary,details.more summary{cursor:pointer;color:var(--muted)}
.obj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.25rem .5rem;margin:.35rem 0}
.kv{display:grid;grid-template-columns:minmax(9rem,13rem) 1fr;gap:.12rem .55rem;margin:.25rem 0;font-size:.82rem}
.kv>div{display:contents}
.kv b{color:var(--muted);font-weight:500}
.hist-row{display:flex;gap:.55rem;padding:.22rem 0;border-bottom:1px solid var(--line);align-items:flex-start}
.hist-row .when{color:var(--muted);min-width:8.4rem;font-size:.74rem;flex:0 0 8.4rem}
.hist-row .what{flex:1;min-width:0}
.mail-card{border:1px solid var(--line);border-radius:6px;padding:.4rem .5rem;margin:.28rem 0}
.mail-card .row{margin:.12rem 0}
.protocol{max-width:54rem}
.st-ok{color:#9ad4b4}.st-act{color:#e0c070}.st-wait{color:var(--brand)}.st-off{color:var(--muted)}.st-bad{color:#f0a0a0}
table.status-table{table-layout:fixed}
table.status-table col.sys{width:18%}
table.status-table col.st{width:30%}
table.status-table col.dt{width:52%}
table.status-table td{white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word}
table.status-table td.sys{font-family:Consolas,ui-monospace,monospace;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.status-table td.st{font-size:.76rem;font-weight:600;letter-spacing:.02em}
table.status-table td.dt{color:var(--muted);font-size:.74rem}
table.owner-termine{table-layout:fixed;width:100%;max-width:100%}
table.owner-termine col.c-fn{width:14%}
table.owner-termine col.c-ln{width:16%}
table.owner-termine col.c-ph{width:16%}
table.owner-termine col.c-tm{width:18%}
table.owner-termine col.c-st{width:14%}
table.owner-termine col.c-sm{width:22%}
table.owner-termine th,table.owner-termine td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:keep-all;overflow-wrap:normal;vertical-align:middle}
table.owner-termine td.owner-missing{color:var(--muted)}
table.owner-tech{table-layout:fixed;width:100%;margin:.35rem 0}
table.owner-tech td,table.owner-tech th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:keep-all;overflow-wrap:normal;font-size:.72rem}
table.owner-tech td{font-family:Consolas,ui-monospace,monospace}
.dp-wrap{overflow-x:auto;max-width:100%}
table.owner-datapool{table-layout:auto;width:max-content;min-width:100%}
table.owner-datapool th{text-transform:none;letter-spacing:.02em}
table.owner-datapool th,table.owner-datapool td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14rem;word-break:keep-all;overflow-wrap:normal;vertical-align:middle}
#leadclearcf,#leadrmsyscf,#leadpurgecf{margin:.45rem 0;padding:.55rem .65rem;border:1px solid #5a4a22;background:#16130c;border-radius:6px}
.dp-context{font-size:.86rem;margin:.2rem 0 .35rem}
.dp-cats{display:flex;flex-wrap:wrap;gap:.28rem;margin:.25rem 0}
.lead-prog{margin:.75rem 0 1rem;padding:.75rem .85rem;border:1px solid #3d3420;background:#16130c;border-radius:8px}
.lead-prog-head{font-size:1.08rem;font-weight:700;margin:0 0 .4rem;color:#f0d789}
.lead-prog-pct{font-size:1.55rem;font-weight:700;margin:.15rem 0 .45rem}
.lead-prog-meta{font-size:.92rem;margin:.12rem 0;color:#ddd}
.lead-prog-bar{height:20px;background:#2a2518;border:1px solid #5a4a22;border-radius:10px;overflow:hidden}
.lead-prog-fill{height:100%;width:0%;background:linear-gradient(90deg,#b8860b,#e6c35c);transition:width .2s linear}
.split{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
tr[data-cid],tr.pick{cursor:pointer}
tr.sel{background:#241e12}
.ops-line{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;font-size:.82rem;margin:.2rem 0}
.chk{display:flex;gap:.35rem;align-items:center;font-size:.8rem;margin:.15rem 0}
.fr-dd-panel{position:fixed;z-index:9000;min-width:8rem;max-height:min(70vh,16rem);overflow-x:hidden;overflow-y:auto;background:#10151d;color:var(--text);border:1px solid var(--line);border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.55);padding:.18rem 0}
.fr-dd-panel[hidden]{display:none !important}
.fr-dd-panel button.fr-dd-opt{display:block;width:100%;text-align:left;background:transparent;color:var(--text);border:0;border-radius:0;padding:.28rem .5rem;cursor:pointer;font:inherit;font-size:.78rem;line-height:1.35}
.fr-dd-panel button.fr-dd-opt:hover,.fr-dd-panel button.fr-dd-opt.on{background:#243044;color:var(--gold2)}
.fr-dd-panel button.fr-dd-opt[aria-selected="true"]{color:var(--gold2)}
.fr-dd-panel .fr-dd-empty{padding:.35rem .55rem;color:var(--muted);font-size:.76rem}
.fr-bal-ok{color:#9ad4b4;font-weight:600}
.fr-bal-low{color:#e0c070;font-weight:600}
.fr-bal-empty{color:#f0a0a0;font-weight:700}
.nav button .fr-warn{margin-left:.25rem;padding:.05rem .28rem;border-radius:3px;border:1px solid #7a3333;background:#3a1820;color:#f0a0a0;font-size:.68rem}
@media (max-width:1100px){.split{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}table.status-table col.sys,table.status-table col.st,table.status-table col.dt{width:auto}}
@media (max-width:900px){.top{flex-wrap:wrap}.brand h1,#appTitle{font-size:1.02rem;white-space:normal}}
@media print{
  header.top,nav.nav,#err,.no-print,details.tech,#protolist{display:none !important}
  body{background:#fff;color:#111}
  main{padding:0}
  .card,.protocol{border:none;background:#fff;padding:0;margin:0}
  .card h3,h3{color:#333}
  a{color:#111;text-decoration:none}
}
