/* NormGuru – zentrale UI-Komponenten */
.ng-page{max-width:1320px;margin:0 auto;padding:28px 28px 42px}
.ng-page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}
.ng-eyebrow{color:#1768c4;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:800;margin-bottom:6px}
.ng-page h1{margin:0;color:#172b4d;font-size:30px;line-height:1.2;letter-spacing:-.6px}
.ng-subtitle{margin:8px 0 0;color:#66758a;font-size:14px}
.ng-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid #d7e0eb;border-radius:9px;background:#fff;color:#263b57;font-weight:700;font-size:13px;text-decoration:none;cursor:pointer}
.ng-button:hover{background:#f3f7fc}
.ng-button-primary{background:#1768c4;border-color:#1768c4;color:#fff}
.ng-button-primary:hover{background:#1055a4;color:#fff}
.ng-panel{min-width:0;background:#fff;border:1px solid #e3eaf2;border-radius:14px;box-shadow:0 3px 12px rgba(24,48,79,.035)}
.ng-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 0}
.ng-panel-title{margin:0;font-size:16px;line-height:1.4;color:#203651;font-weight:750}
.ng-panel-description{margin:5px 0 0;color:#758399;font-size:12px}
.ng-panel-body{padding:20px 22px 22px}
.ng-project-picker{margin-bottom:22px;padding:18px 22px;display:flex;align-items:flex-end;gap:14px}
.ng-field{display:flex;flex:1;min-width:0;flex-direction:column;gap:7px}
.ng-field label{color:#42536b;font-size:12px;font-weight:750}
.ng-field select{width:100%;min-height:43px;padding:10px 12px;border:1px solid #d5deea;border-radius:8px;background:#fff;color:#233750;font:inherit;font-size:13px}
.ng-project-overview{padding:22px;margin-bottom:22px}
.ng-project-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.ng-project-name{margin:0;color:#203651;font-size:21px;line-height:1.4;font-weight:750}
.ng-project-meta{margin:6px 0 0;color:#718097;font-size:12px}
.ng-status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 10px;background:#edf4fd;color:#225b9e;font-size:11px;font-weight:800;white-space:nowrap}
.ng-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ng-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:22px}
.ng-metric{min-width:0;padding:16px;border:1px solid #e7edf5;border-radius:11px;background:#f9fbfe}
.ng-metric-label{color:#6e7d92;font-size:12px;font-weight:650}
.ng-metric-value{margin-top:7px;color:#203651;font-size:27px;line-height:1.1;font-weight:800}
.ng-metric-note{margin-top:6px;color:#8390a2;font-size:11px}
.ng-metric-danger .ng-metric-value{color:#c43d46}
.ng-metric-good .ng-metric-value{color:#18845c}
.ng-project-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;padding-top:17px;border-top:1px solid #edf1f6}
.ng-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}
.ng-list{list-style:none;margin:0;padding:0}
.ng-list li{position:relative;padding:12px 0 12px 22px;border-bottom:1px solid #edf1f6;color:#42536b;font-size:13px;line-height:1.55}
.ng-list li:last-child{border-bottom:0}
.ng-list li:before{position:absolute;left:1px;top:18px;content:"";width:7px;height:7px;border-radius:50%;background:#4186d6}
.ng-empty{padding:15px;border-radius:9px;background:#f7f9fc;color:#6d7d92;font-size:13px;line-height:1.6}
.ng-empty-success{background:#edf8f2;color:#23734f}
.ng-milestone{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #edf1f6}
.ng-milestone:last-child{border-bottom:0;padding-bottom:0}
.ng-milestone:first-child{padding-top:2px}
.ng-milestone-title{color:#2b405c;font-size:13px;font-weight:750;line-height:1.5}
.ng-milestone-detail{margin-top:4px;color:#7a8799;font-size:11px}
.ng-date{flex-shrink:0;color:#52647c;font-size:12px;font-weight:750;white-space:nowrap}
.ng-date-danger{color:#c43d46}
.ng-alert{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid #f0dfb4;border-radius:11px;background:#fff9e9;color:#76571a;font-size:12px;line-height:1.65}
.ng-alert strong{display:block;margin-bottom:2px}
.ng-alert-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#f6e9c6;font-weight:800}
.ng-empty-page{padding:40px 24px;text-align:center}
.ng-empty-page h2{margin:0 0 8px;font-size:18px;color:#203651}
.ng-empty-page p{margin:0 0 20px;color:#718097;font-size:13px}
@media(max-width:760px){.ng-page{padding:20px 14px 30px}.ng-page-header{align-items:flex-start;flex-direction:column}.ng-page h1{font-size:25px}.ng-project-picker{align-items:stretch;flex-direction:column}.ng-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ng-columns{grid-template-columns:1fr;gap:14px}.ng-project-top{flex-direction:column}.ng-panel-head,.ng-panel-body{padding-left:17px;padding-right:17px}.ng-project-overview{padding:17px}.ng-milestone{gap:8px}}


/* NormGuru – gemeinsame Wissenssuche */
.ng3-search {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #dfe3eb;
    border-radius: 14px;
    box-shadow: 0 5px 20px rgba(23,43,77,.05);
}
.ng3-search:focus-within {
    border-color: #0866d9;
}
.ng3-search-symbol {
    color: #667085;
    font-size: 21px;
    margin-right: 12px;
}
.ng3-search input {
    flex: 1;
    min-width: 0;
    padding: 12px 0;
    border: 0;
    outline: none;
    background: transparent;
    font: inherit;
    font-size: 15px;
}
.ng3-search-submit {
    border: 0;
    background: transparent;
    color: #0866d9;
    font: inherit;
    font-size: 23px;
    cursor: pointer;
    padding: 4px 8px;
}
.ng3-search-submit:hover {
    color: #0756b5;
}
.ng3-search-submit:focus-visible {
    outline: 2px solid #0866d9;
    outline-offset: 3px;
    border-radius: 5px;
}

/* NormGuru – gemeinsame Themen unter der Wissenssuche */
.ng3-topics {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
    color: #667085;
    font-size: 13px;
}
.ng3-topics span {
    color: #0866d9;
}

/* NormGuru – gemeinsamer Wissensbereich */
.ng3-hero {
    text-align: center;
    padding: 40px 0 64px;
}
.ng3-hero h1 {
    font-size: clamp(34px, 5vw, 52px);
    letter-spacing: -1.8px;
    margin: 0 0 14px;
}
.ng3-subtitle {
    color: #667085;
    font-size: 16px;
    margin: 0 0 35px;
}
