:root{--navy:#17396f;--navy2:#203f73;--coral:#ec6b58;--ink:#162f59;--muted:#67778b;--line:#d5dde7;--soft:#f2f5f8;--white:#fff;--sidebar:268px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"soleil","Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#f4f6f8;font-size:16px}button,input,select,textarea{font:inherit;color:inherit}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#18345f;color:#fff;z-index:20;display:flex;flex-direction:column}
.sidebar nav{display:grid}.sidebar nav button{width:100%;max-width:100%;overflow:hidden;border:0;border-left:4px solid transparent;background:none;color:#e5ebf3;min-height:58px;text-align:left;padding:10px 16px;display:flex;gap:11px;align-items:center;cursor:pointer}
.sidebar nav button span.nav-icon{flex:0 0 22px;color:var(--coral);font-weight:800}
.sidebar .nav-label{display:block;min-width:0;max-width:calc(var(--sidebar) - 72px);color:inherit!important;font-weight:inherit;line-height:1.22;white-space:normal;text-align:left}
.sidebar .nav-label small{display:inline;color:#b9c7d8;font-size:12px;font-weight:400}
.sidebar nav button.active{background:#274879;border-left-color:var(--coral);color:#fff}
.sidebar nav button.active .nav-label small{color:#dce5ef}
.sidebar-foot{margin-top:auto;border-top:1px solid #31507b;padding:20px;display:grid;gap:4px}.sidebar-foot small{color:#aebdd0}.sidebar-foot img{display:block;width:150px;height:auto;margin-bottom:8px}
.topbar{position:sticky;top:0;margin-left:var(--sidebar);height:72px;background:#fff;border-bottom:1px solid var(--line);z-index:15;display:flex;align-items:center;padding:0 28px;gap:20px}
.brand{border:0;background:var(--navy);display:flex;align-items:center;justify-content:center;flex:0 0 178px;height:54px;padding:10px 16px;cursor:pointer}
.brand img{display:block;width:146px;height:auto}
.global-history{display:flex;flex:0 0 auto;border:1px solid #b9c5d4;background:#fff}
.history-button{height:36px;min-height:36px;padding:0 11px;border:0;border-right:1px solid #dce4ee;background:#fff;color:#263451;font-size:10px;font-weight:700;white-space:nowrap}
.history-button:last-child{border-right:0}
.history-button:hover:not(:disabled){background:#fff7f4;color:#263f78}
.history-button:disabled{opacity:.42}
@media(max-width:1050px){.brand{flex-basis:132px}.brand img{width:108px}}
.project-nav{display:flex;align-self:stretch}.project-nav button{border:0;border-bottom:4px solid transparent;background:none;padding:0 17px;cursor:pointer}.project-nav button.active{border-bottom-color:var(--coral);color:var(--navy);font-weight:800}
.project-badge{margin-left:auto;border-left:3px solid var(--coral);padding:7px 12px;display:grid;gap:3px;background:#f5f7fa;min-width:220px}.project-badge span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.project-badge strong{font-size:12px}
main{margin-left:var(--sidebar)}.view{display:none;min-height:calc(100vh - 72px)}.view.active{display:block}
.hero{background:var(--navy2);color:#fff;padding:24px 34px;display:flex;justify-content:space-between;align-items:center}
.hero .eyebrow,.panel-label{font-size:10px;font-weight:800;letter-spacing:.18em;color:#8293aa}.hero .eyebrow{color:#aebdd0}
.hero h1{margin:5px 0 3px;font-size:30px}.hero h1 em{font-style:normal;color:var(--coral)}.hero p{margin:0;color:#d8e0eb}
.content{padding:22px 28px 44px}
.panel{background:#fff;border:1px solid var(--line)}
.catalog-head,.projects-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.catalog-head h2,.projects-head h2{margin:4px 0;font-size:25px}.catalog-head p,.projects-head p{margin:0;color:var(--muted)}
.catalog-head-actions{display:flex;align-items:center;gap:14px}
.count{font-size:28px;font-weight:800;color:var(--navy);border-left:3px solid var(--coral);padding-left:14px}
input,select,textarea{border:1px solid #bdc9d6;background:#fff;padding:10px 12px;min-height:42px}
button.primary,.savebar button{border:0;background:var(--navy);color:#fff;padding:11px 18px;font-weight:800;cursor:pointer}
button.secondary{border:1px solid #9fb0c5;background:#fff;padding:10px 16px;font-weight:800;cursor:pointer}
.project-list{display:grid;gap:9px}
.project-row{background:#fff;border:1px solid var(--line);border-left:5px solid var(--navy);padding:14px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.project-row strong{display:block;font-size:17px}.project-row small{color:var(--muted)}
.project-row button{border:1px solid #9fb0c5;background:#fff;padding:9px 13px;font-weight:800;cursor:pointer}
.project-row button.danger{border-color:#e4a69c;color:#9c4438}
.project-shell{padding:18px 24px 40px}
.project-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.project-title h2{margin:3px 0}.project-title p{margin:0;color:var(--muted)}
.empty-page{background:#fff;border:1px solid var(--line);min-height:420px;display:grid;place-items:center;text-align:center}
.empty-page div{max-width:520px}
.empty-page b{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;font-size:22px}
.empty-page h3{font-size:24px;margin:13px 0 7px}.empty-page p{color:var(--muted)}
.form-section{background:#fff;border:1px solid var(--line);padding:17px;margin-bottom:14px}.form-section h3{margin:0 0 13px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.form-grid label{display:grid;gap:5px}.form-grid label span{font-size:11px;font-weight:800}
.hint{padding:10px 12px;background:#edf2f7;color:var(--muted);font-size:13px}
dialog{border:0;padding:0;box-shadow:0 20px 60px #0d23465c}
.dialog-body{padding:22px;min-width:420px}.dialog-body h3{margin-top:0}.dialog-body div{display:flex;justify-content:flex-end;gap:8px}
.dialog-body button{padding:9px 14px;border:1px solid var(--line);background:#fff}.dialog-body .danger{background:#9c4438;color:#fff;border:0}
.save-status{margin-left:auto;padding:7px 10px;border-left:3px solid #5b8a70;background:#edf4ef;color:#315f48;font-size:11px;font-weight:800;white-space:nowrap}
.help-button{border:1px solid #9fb0c5;background:#fff;padding:9px 14px;font-weight:800;cursor:pointer;margin-left:auto}
@media(max-width:1050px){:root{--sidebar:72px}.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center}.sidebar nav button span.nav-icon{font-size:18px}.sidebar-foot{display:none}.topbar{gap:12px}.project-nav button{padding:0 8px;font-size:13px}.form-grid{grid-template-columns:1fr}}
@media(max-width:720px){.topbar{height:auto;min-height:72px;flex-wrap:wrap;padding:10px 14px}.project-nav{order:3;width:100%;overflow-x:auto;min-height:45px}.project-badge{min-width:0}.content{padding:15px}}

/* ---- Company-Intelligence-spezifisch ---- */
.company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.company-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:16px;display:grid;gap:8px;cursor:pointer;text-align:left;transition:box-shadow .15s,border-color .15s}
.company-card:hover{border-color:#9fb0c5;box-shadow:0 2px 8px #0d234626}
.company-card h3{margin:0;font-size:18px;color:var(--ink)}
.company-card .cc-revenue{font-size:22px;font-weight:800;color:var(--navy)}
.company-card .cc-revenue small{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;display:block}
.company-card .cc-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px}
.badge{display:inline-block;padding:3px 8px;border-radius:2px;font-weight:700;font-size:11px;background:var(--soft);color:var(--muted);border:1px solid var(--line)}
.badge.ok{background:#eef7f1;color:#245f42;border-color:#bfe0cc}
.badge.warn{background:#fff3ef;color:#a4432f;border-color:#e9b8ab}
.company-card .cc-updated{color:var(--muted);font-size:11px}
.request-card{border-top-color:var(--coral);border-style:dashed}

.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:18px;align-items:start}
.kpi-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:14px 16px;display:grid;gap:5px}
.kpi-card .kpi-label{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.kpi-card .kpi-value{font-size:26px;font-weight:800;color:var(--navy)}
.kpi-card .kpi-source{font-size:11px;color:var(--muted);font-style:italic}

.person-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:18px}
.person-card{background:#fff;border:1px solid var(--line);padding:14px 16px;display:grid;gap:4px}
.person-card .role{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--coral);text-transform:uppercase}
.person-card .name{font-size:17px;font-weight:800;color:var(--ink)}
.person-card .contact{font-size:13px;color:var(--muted)}
.person-card .contact.missing{font-style:italic}
.person-card .name.missing{color:var(--muted);font-style:italic;font-weight:400}

table.data-table{border-collapse:collapse;width:100%}
table.data-table th,table.data-table td{border-bottom:1px solid #e4e9ef;padding:8px 10px;text-align:left;font-size:13px;vertical-align:top}
table.data-table thead th{background:var(--navy);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.03em}
table.data-table tbody tr:nth-child(even){background:#f7f9fb}
.data-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);margin-bottom:18px}

.source-note{margin:14px 0 0;padding:12px 14px;background:var(--soft);border-left:3px solid var(--muted);color:var(--muted);font-size:12px;line-height:1.5;white-space:pre-wrap}
.status-banner{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:11px 14px;border-left:5px solid var(--coral);background:#fff3ef;color:#8a3428;font-size:13px}
.copy-row{display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--line);padding:10px 12px;margin-top:10px}
.copy-row code{flex:1;font-size:13px;background:none}
