html,
body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a,
.btn-link {
    color: var(--brand-600, #7C3AED);
}

    a:hover {
        color: var(--brand-700, #6D28D9);
    }

.btn-primary {
    color: #ffffff;
    background-color: var(--brand-600, #7C3AED);
    border-color: var(--brand-700, #6D28D9);
}

    .btn-primary:hover {
        color: #ffffff;
        background-color: var(--brand-700, #6D28D9);
        border-color: var(--brand-700, #6D28D9);
    }

    .btn-primary:active {
        color: #ffffff;
        background-color: var(--brand-800, #5B21B6);
        border-color: var(--brand-800, #5B21B6);
    }

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem #ffffff, 0 0 0 0.25rem rgba(139,92,246,.30);
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type="checkbox"]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    padding: 1rem 1rem 1rem 3.7rem;
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem / 1.8rem, #b32121;
    color: #ffffff;
}

    .blazor-error-boundary::after {
        content: "An error has occurred.";
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* =========================================================
   PROJECTCTRL THEME
   ========================================================= */

:root {
    --bs-primary: #7C3AED;
    --bs-primary-rgb: 14, 139, 255;
    --bs-link-color: #7C3AED;
    --bs-link-hover-color: #6D28D9;
    --bs-focus-ring-color: rgba(139,92,246,.30);
}

/* =========================================================
   SIDEBAR LINK OVERRIDES
   ========================================================= */

.sidebar a,
.sidebar a:visited,
.sidebar a:hover,
.sidebar a:focus,
.sidebar a:active {
    text-decoration: none;
}

.sidebar .child-link,
.sidebar .child-link:visited {
    color: #f5f9fe !important;
}

    .sidebar .child-link:hover,
    .sidebar .child-link:focus {
        color: #ffffff !important;
    }

    .sidebar .child-link.active {
        color: #A78BFA !important;
    }

.sidebar .home-link,
.sidebar .home-link:visited {
    color: #f5f9fe !important;
}

    .sidebar .home-link:hover,
    .sidebar .home-link:focus {
        color: #ffffff !important;
    }

    .sidebar .home-link.active {
        color: #A78BFA !important;
    }

/* =========================================================
   CREATE PROJECT WIZARD
   ========================================================= */

.create-project-page {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
}

    .create-project-page .page-heading {
        margin-bottom: 1.5rem;
    }

    .create-project-page .page-eyebrow {
        color: #7C3AED;
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.12em;
    }

    .create-project-page .page-title {
        margin-top: 0.25rem;
        color: #1f2b3a;
        font-weight: 750;
    }

    .create-project-page .page-description {
        max-width: 850px;
        margin-top: 0.35rem;
        color: #5f6b7a;
    }

    .create-project-page .wizard-shell {
        overflow: hidden;
        border: 1px solid #dce6f2;
        border-radius: 12px;
        background: #ffffff;
    }

    .create-project-page .wizard-stepper {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        border-bottom: 1px solid #dce6f2;
        background: #f5f9fe;
    }

    .create-project-page .wizard-step {
        position: relative;
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 0.7rem;
        padding: 1rem;
        border: 0;
        border-right: 1px solid #dce6f2;
        background: transparent;
        color: #5f6b7a;
        cursor: pointer;
        text-align: left;
    }

        .create-project-page .wizard-step:last-child {
            border-right: 0;
        }

        .create-project-page .wizard-step:hover {
            background: #F4F6F9;
        }

        .create-project-page .wizard-step.active {
            background: #ffffff;
            color: #6D28D9;
        }

            .create-project-page .wizard-step.active::after {
                content: "";
                position: absolute;
                right: 0;
                bottom: -1px;
                left: 0;
                height: 3px;
                background: #7C3AED;
            }

        .create-project-page .wizard-step.complete {
            color: #6D28D9;
        }

    .create-project-page .step-circle {
        width: 30px;
        height: 30px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        border: 1px solid #c3d3e6;
        border-radius: 50%;
        background: #ffffff;
        font-size: 0.72rem;
        font-weight: 800;
    }

    .create-project-page .wizard-step.active .step-circle,
    .create-project-page .wizard-step.complete .step-circle {
        border-color: #7C3AED;
        background: #7C3AED;
        color: #ffffff;
    }

    .create-project-page .step-details {
        min-width: 0;
        display: flex;
        flex-direction: column;
    }

        .create-project-page .step-details strong {
            overflow: hidden;
            font-size: 0.75rem;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .create-project-page .step-details small {
            overflow: hidden;
            margin-top: 0.1rem;
            font-size: 0.65rem;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

    .create-project-page .wizard-content {
        min-height: 540px;
        padding: 2rem;
    }

    .create-project-page .step-heading {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
        margin-bottom: 1.75rem;
    }

    .create-project-page .step-heading-number {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        border-radius: 9px;
        background: #F4F6F9;
        color: #7C3AED;
        font-size: 0.76rem;
        font-weight: 850;
    }

    .create-project-page .step-heading-description {
        margin-top: 0.25rem;
        color: #5f6b7a;
    }

    .create-project-page .section-label {
        margin-bottom: 0.75rem;
        color: #1f2b3a;
        font-weight: 700;
    }

    .create-project-page .section-description {
        color: #5f6b7a;
    }

    .create-project-page .option-card-grid {
        display: grid;
        gap: 0.85rem;
    }

    .create-project-page .project-type-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .create-project-page .delivery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .create-project-page .profile-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .create-project-page .option-card {
        position: relative;
        min-height: 120px;
        display: flex;
        align-items: flex-start;
        gap: 0.8rem;
        padding: 1rem;
        border: 1px solid #dce6f2;
        border-radius: 9px;
        background: #ffffff;
        color: #1f2b3a;
        cursor: pointer;
        text-align: left;
        transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
    }

        .create-project-page .option-card:hover {
            border-color: #A78BFA;
            background: #f5f9fe;
            transform: translateY(-1px);
        }

        .create-project-page .option-card.selected {
            border-color: #7C3AED;
            background: #F4F6F9;
            box-shadow: 0 0 0 2px rgba(139,92,246, 0.12);
        }

    .create-project-page .option-icon {
        min-width: 28px;
        font-size: 1.3rem;
        line-height: 1;
        text-align: center;
    }

    .create-project-page .option-content {
        min-width: 0;
        display: flex;
        flex-direction: column;
    }

        .create-project-page .option-content strong {
            color: #1f2b3a;
            font-size: 0.84rem;
        }

        .create-project-page .option-content small {
            margin-top: 0.3rem;
            color: #5f6b7a;
            font-size: 0.7rem;
            line-height: 1.4;
        }

    .create-project-page .option-check {
        position: absolute;
        top: 0.7rem;
        right: 0.7rem;
        color: transparent;
    }

    .create-project-page .option-card.selected .option-check {
        color: #7C3AED;
    }

    .create-project-page .toggle-card-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.85rem;
    }

    .create-project-page .toggle-card {
        position: relative;
        min-height: 104px;
        display: grid;
        grid-template-columns: 28px 28px minmax(0, 1fr);
        align-items: flex-start;
        gap: 0.65rem;
        padding: 0.95rem;
        border: 1px solid #dce6f2;
        border-radius: 9px;
        background: #ffffff;
        color: inherit;
        cursor: pointer;
        text-align: left;
    }

        .create-project-page .toggle-card:hover {
            border-color: #A78BFA;
            background: #f5f9fe;
        }

        .create-project-page .toggle-card.selected {
            border-color: #7C3AED;
            background: #F4F6F9;
            box-shadow: 0 0 0 2px rgba(139,92,246, 0.1);
        }

    .create-project-page .selection-indicator {
        width: 22px;
        height: 22px;
        display: grid;
        place-items: center;
        border: 1px solid #c3d3e6;
        border-radius: 5px;
        background: #ffffff;
        color: transparent;
    }

    .create-project-page .toggle-card.selected .selection-indicator {
        border-color: #7C3AED;
        background: #7C3AED;
        color: #ffffff;
    }

    .create-project-page .toggle-icon {
        margin-top: 0.1rem;
        font-size: 1.2rem;
    }

    .create-project-page .toggle-copy {
        display: flex;
        flex-direction: column;
    }

        .create-project-page .toggle-copy strong {
            color: #1f2b3a;
            font-size: 0.83rem;
        }

        .create-project-page .toggle-copy small {
            margin-top: 0.25rem;
            color: #5f6b7a;
            font-size: 0.69rem;
            line-height: 1.4;
        }

    .create-project-page .review-card {
        height: 100%;
        padding: 1.25rem;
        border: 1px solid #dce6f2;
        border-radius: 9px;
        background: #f5f9fe;
    }

    .create-project-page .review-row {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr);
        gap: 1rem;
        padding: 0.6rem 0;
        border-bottom: 1px solid #dce6f2;
    }

        .create-project-page .review-row:last-child {
            border-bottom: 0;
        }

        .create-project-page .review-row span {
            color: #5f6b7a;
            font-size: 0.73rem;
        }

        .create-project-page .review-row strong {
            color: #1f2b3a;
            font-size: 0.76rem;
            font-weight: 700;
        }

    .create-project-page .review-chip-list {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .create-project-page .review-chip {
        display: inline-flex;
        align-items: center;
        padding: 0.35rem 0.65rem;
        border: 1px solid #7C3AED;
        border-radius: 999px;
        background: #F4F6F9;
        color: #6D28D9;
        font-size: 0.72rem;
        font-weight: 650;
    }

        .create-project-page .review-chip.secondary {
            border-color: #A78BFA;
            background: #f5f9fe;
            color: #5f6b7a;
        }

    .create-project-page .wizard-actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 1.5rem;
        border-top: 1px solid #dce6f2;
        background: #f5f9fe;
    }

@media (max-width: 1200px) {
    .create-project-page .wizard-stepper {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .create-project-page .project-type-grid,
    .create-project-page .profile-grid,
    .create-project-page .delivery-grid,
    .create-project-page .toggle-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .create-project-page .wizard-stepper {
        grid-template-columns: 1fr;
    }

    .create-project-page .wizard-step {
        border-right: 0;
        border-bottom: 1px solid #dce6f2;
    }

    .create-project-page .project-type-grid,
    .create-project-page .profile-grid,
    .create-project-page .delivery-grid,
    .create-project-page .toggle-card-grid {
        grid-template-columns: 1fr;
    }

    .create-project-page .wizard-content {
        padding: 1rem;
    }

    .create-project-page .wizard-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 0.75rem;
    }
}


/* =========================================================
   PROJECT SETUP V0.4
   ========================================================= */
.setup-page{max-width:1460px;margin:0 auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.eyebrow{color:#7C3AED;font-size:.68rem;font-weight:800;letter-spacing:.08em}.page-heading h1{margin:.2rem 0 .35rem;color:#1f2b3a}.page-heading p{max-width:820px;margin:0;color:#5f6b7a}.heading-actions{display:flex;align-items:center;gap:.75rem}.heading-actions button,.list-heading button,.inline-actions button,.checklist-summary button{min-height:40px;padding:.55rem .85rem;border:0;border-radius:6px;background:#7C3AED;color:#fff;font-size:.74rem;font-weight:750;cursor:pointer}.setup-progress{padding:.45rem .65rem;border-radius:999px;background:#F4F6F9;color:#6D28D9;font-size:.68rem;font-weight:750}.setup-tabs{display:flex;gap:.25rem;overflow-x:auto;margin-bottom:1rem;padding:.35rem;border:1px solid #dce6f2;border-radius:9px;background:#fff}.setup-tabs button{display:flex;align-items:center;gap:.35rem;padding:.55rem .65rem;border:0;border-radius:6px;background:transparent;color:#5f6b7a;font-size:.7rem;white-space:nowrap;cursor:pointer}.setup-tabs button>span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#F4F6F9;font-size:.61rem;font-weight:800}.setup-tabs button small{padding:.15rem .35rem;border-radius:999px;background:#F4F6F9;font-size:.58rem}.setup-tabs button.active{background:#F4F6F9;color:#6D28D9;font-weight:750}.setup-tabs button.active>span{background:#7C3AED;color:#fff}.setup-card{padding:1.15rem;border:1px solid #dce6f2;border-radius:9px;background:#fff;box-shadow:0 2px 8px rgba(11,20,38, .035)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading>div{display:flex;align-items:center;gap:.65rem}.section-heading>div>span{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:#F4F6F9;color:#7C3AED;font-size:.7rem;font-weight:800}.section-heading h2{margin:0;color:#1f2b3a;font-size:1rem}.section-heading p{max-width:520px;margin:0;color:#5f6b7a;font-size:.72rem}.field-grid,.inline-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.compact-fields{max-width:900px}.field-grid label,.inline-form label{display:flex;flex-direction:column;gap:.35rem}.field-grid label>span,.inline-form label>span{color:#5f6b7a;font-size:.67rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase}.field-grid input,.field-grid select,.field-grid textarea,.inline-form input,.inline-form select{width:100%;min-height:42px;padding:.55rem .68rem;border:1px solid #c3d3e6;border-radius:6px;background:#fff;color:#1f2b3a;font:inherit;font-size:.77rem}.field-grid textarea{min-height:105px;resize:vertical}.full-width{grid-column:1/-1}.profile-columns,.two-column-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.profile-columns h3{margin:0 0 .65rem;color:#1f2b3a;font-size:.78rem}.selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.selection-grid button{display:flex;align-items:center;gap:.45rem;padding:.55rem .6rem;border:1px solid #dce6f2;border-radius:6px;background:#f5f9fe;color:#5f6b7a;font-size:.7rem;text-align:left;cursor:pointer}.selection-grid button span{width:19px;height:19px;display:grid;place-items:center;border:1px solid #c3d3e6;border-radius:4px;color:transparent}.selection-grid button.selected{border-color:#A78BFA;background:#F4F6F9;color:#6D28D9}.selection-grid button.selected span{border-color:#7C3AED;background:#7C3AED;color:#fff}.setup-list-card{min-height:460px}.list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid #dce6f2}.list-heading h2{margin:0;color:#1f2b3a;font-size:1rem}.list-heading p{margin:.2rem 0 0;color:#5f6b7a;font-size:.72rem}.inline-form{margin-bottom:1rem;padding:1rem;border:1px solid #dce6f2;border-radius:8px;background:#f5f9fe}.inline-form.single-line{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.inline-form .wide{grid-column:span 2}.inline-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.5rem}.inline-actions button.secondary{border:1px solid #c3d3e6;background:#fff;color:#5f6b7a}.data-table{border:1px solid #dce6f2;border-radius:7px;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 90px;align-items:center;gap:.75rem;padding:.7rem .8rem}.table-head.contacts,.table-row.contacts{grid-template-columns:1.2fr 1fr 1fr 1.3fr 80px}.table-head{background:#F4F6F9;color:#5f6b7a;font-size:.62rem;font-weight:800;text-transform:uppercase}.table-row{border-top:1px solid #dce6f2;color:#5f6b7a;font-size:.72rem}.table-row>span:first-child{display:flex;flex-direction:column}.table-row strong{color:#1f2b3a}.table-row small{color:#5f6b7a}.danger-link{padding:.25rem;border:0;background:transparent;color:#a14b43;font-size:.65rem;cursor:pointer}.card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.card-list.compact{grid-template-columns:1fr}.card-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.8rem;border:1px solid #dce6f2;border-radius:7px;background:#f5f9fe}.card-list article.subsystem{margin-left:1rem;border-left:3px solid #A78BFA}.card-list article>div{display:flex;flex-direction:column}.card-list strong{color:#1f2b3a;font-size:.75rem}.card-list span{margin-top:.15rem;color:#5f6b7a;font-size:.67rem}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.team-grid article{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.85rem;border:1px solid #dce6f2;border-radius:8px;background:#f5f9fe}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#7C3AED;color:#fff;font-size:.7rem;font-weight:800}.team-grid article>div{display:flex;flex-direction:column}.team-grid strong{font-size:.75rem;color:#1f2b3a}.team-grid span,.team-grid small{font-size:.66rem;color:#5f6b7a}.team-grid em{padding:.2rem .4rem;border-radius:999px;background:#F4F6F9;color:#6D28D9;font-size:.57rem;font-style:normal;font-weight:800}.team-grid .danger-link{position:absolute;right:.45rem;bottom:.35rem}.timeline{display:flex;flex-direction:column}.timeline article{display:grid;grid-template-columns:18px 1fr auto auto;align-items:flex-start;gap:.75rem;padding:.8rem 0;border-bottom:1px solid #dce6f2}.timeline-dot{width:12px;height:12px;margin-top:.25rem;border:3px solid #dce6f2;border-radius:50%;background:#7C3AED}.timeline article>div{display:flex;flex-direction:column}.timeline strong{color:#1f2b3a;font-size:.75rem}.timeline small{color:#5f6b7a;font-size:.65rem}.timeline p{margin:.2rem 0 0;color:#5f6b7a;font-size:.67rem}.status-pill{padding:.25rem .45rem;border-radius:999px;background:#F4F6F9;color:#6D28D9;font-size:.61rem;font-weight:750}.checklist-summary{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem;border-radius:8px;background:#F4F6F9}.checklist-summary>div{display:flex;flex-direction:column}.checklist-summary strong{color:#1f2b3a;font-size:.75rem}.checklist-summary span{color:#5f6b7a;font-size:.65rem}.checklist-summary progress{width:100%;accent-color:#7C3AED}.checklist{display:flex;flex-direction:column}.checklist article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.7rem;border-bottom:1px solid #dce6f2}.checklist article.complete{background:#f5f9fe}.checklist article>div{display:flex;flex-direction:column}.checklist strong{color:#1f2b3a;font-size:.73rem}.checklist article.complete strong{text-decoration:line-through;color:#5f6b7a}.checklist span{color:#5f6b7a;font-size:.63rem}.checklist input{accent-color:#7C3AED}.save-message{margin-top:1rem;padding:.75rem;border-radius:6px;background:#e4f7ee;color:#1a9c62;font-size:.75rem}.save-message.error{background:#f8e6e4;color:#923f38}.state-card{padding:2rem;border:1px solid #dce6f2;border-radius:9px;background:#fff;color:#5f6b7a}.empty-state{text-align:center}.empty-state a{display:inline-flex;margin-top:.7rem;padding:.55rem .8rem;border-radius:6px;background:#7C3AED;color:#fff!important;text-decoration:none}@media(max-width:1050px){.profile-columns,.two-column-layout{grid-template-columns:1fr}.card-list,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.page-heading,.heading-actions{flex-direction:column}.field-grid,.inline-form,.inline-form.single-line,.selection-grid{grid-template-columns:1fr}.full-width,.inline-form .wide{grid-column:auto}.data-table{overflow-x:auto}.table-head,.table-row,.table-head.contacts,.table-row.contacts{min-width:720px}.card-list,.team-grid{grid-template-columns:1fr}.checklist-summary{grid-template-columns:1fr}.section-heading,.list-heading{flex-direction:column}}

/* =========================================================
   PROJECTCTRL STABLE MODULE LANDING PAGES V0.7.3
   ========================================================= */
.module-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.module-heading h1{margin:.15rem 0 .45rem;font-size:clamp(1.7rem,3vw,2.35rem);font-weight:750}.module-heading p{max-width:760px;margin:0;color:var(--text-muted,#5f6b7a)}.module-eyebrow{color:var(--brand-600,#7C3AED);font-size:.76rem;font-weight:800;letter-spacing:.11em}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.module-card{min-height:112px;display:flex;flex-direction:column;justify-content:center;gap:.35rem;padding:1.15rem;border:1px solid var(--border,#dce6f2);border-radius:12px;background:#fff;color:var(--text,#0d1b2a);text-decoration:none;box-shadow:0 8px 24px rgba(11,20,38,.05);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.module-card:hover{color:var(--text,#0d1b2a);transform:translateY(-2px);border-color:var(--brand-300,#A78BFA);box-shadow:0 12px 28px rgba(11,20,38,.10)}.module-card span{color:var(--text-muted,#5f6b7a);font-size:.9rem}

/* Blueprint-aligned nested project navigation */
.nav-subgroup {
    margin: 0.15rem 0;
}

.nav-subgroup > summary {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 1rem 0.65rem 2.6rem;
    color: #F4F6F9;
    cursor: pointer;
    list-style: none;
    font-weight: 600;
}

.nav-subgroup > summary::-webkit-details-marker { display: none; }
.nav-subgroup > summary::before {
    content: "▸";
    width: 0.8rem;
    color: #A78BFA;
    transition: transform 0.15s ease;
}
.nav-subgroup[open] > summary::before { transform: rotate(90deg); }
.nav-subgroup > summary:hover { background: rgba(139,92,246, 0.08); }
.nav-subgroup-links { padding-bottom: 0.2rem; }
.sidebar .child-link.nested { padding-left: 3.85rem; font-size: 0.92rem; }

/* ---- Administration ---- */
.admin-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; align-items: end; }
.admin-role-checks { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.admin-note { background: #f4ecd8; border: 1px solid #e6d9b8; color: #6b551f; border-radius: 8px; padding: 10px 14px; font-size: 14px; }
.admin-placeholder { background: #fff; border: 1px dashed #cdd5df; border-radius: 10px; padding: 24px; color: #5a6675; }
.module-card-soon { opacity: .6; }
.perm-matrix-scroll { overflow-x: auto; border: 1px solid #dce1e8; border-radius: 10px; background: #fff; }
.perm-matrix { border-collapse: collapse; width: 100%; font-size: 14px; }
.perm-matrix th, .perm-matrix td { border-bottom: 1px solid #eef1f5; padding: 6px 12px; text-align: center; }
.perm-matrix th.perm-name, .perm-matrix td.perm-name { text-align: left; white-space: nowrap; }
.perm-matrix thead th { background: #f5f7f9; font-weight: 600; position: sticky; top: 0; }
.perm-role { min-width: 96px; }
.perm-group-row td { background: #fafbfc; font-weight: 600; text-transform: uppercase; font-size: 11px; letter-spacing: .06em; color: #6a7889; text-align: left; }

/* ---- Administration (Slice C) ---- */
.integration-status { display: inline-block; margin-top: 8px; font-size: 12px; color: #a93838; font-weight: 600; }
.license-table { width: 100%; border-collapse: collapse; }
.license-table td { padding: 8px 12px; border-bottom: 1px solid #eef1f5; font-size: 14px; }
.license-table td:first-child { color: #6a7889; width: 200px; }

/* ---- Permission matrix (compact, override earlier rules) ---- */
.perm-matrix { width: auto; min-width: 620px; table-layout: fixed; }
.perm-matrix th.perm-name, .perm-matrix td.perm-name {
    width: 300px; padding-left: 16px; border-right: 1px solid #e3e8ee;
    position: sticky; left: 0; background: #fff; z-index: 1;
}
.perm-matrix thead th.perm-name { background: #f5f7f9; }
.perm-matrix th.perm-role { width: 132px; }
.perm-matrix tbody tr:nth-child(even) td { background: #fbfcfd; }
.perm-matrix tbody tr:nth-child(even) td.perm-name { background: #fbfcfd; }
.perm-matrix tbody tr:hover td, .perm-matrix tbody tr:hover td.perm-name { background: #f2f6fb; }
.perm-cell { padding: 2px 12px; }
.perm-cell .mud-checkbox { margin: 0; display: inline-flex; justify-content: center; }
.perm-cell .mud-checkbox .mud-icon-button { padding: 4px; }
.perm-group-row td { border-right: none !important; position: static !important; }

/* ============================================================
   Compact navigation rail + hover/focus PEEK  (CP1 Gate 1 — Visual Correction 01)
   These need a `body.nav-collapsed` ancestor selector, which Blazor scoped CSS
   cannot express (:global() is unsupported and gets mangled into an invalid
   selector). They therefore live here, in the GLOBAL stylesheet, where the
   selectors are valid and reliably target the shell elements by class.
   Behavior: compact mode shrinks the rail to 60px; hovering (or keyboard-focusing)
   the rail temporarily expands the WHOLE sidebar to full width as an overlay —
   the workspace keeps its 60px margin and does NOT reflow.
   ============================================================ */
body.nav-collapsed .sidebar { width: 60px; overflow: visible; }
body.nav-collapsed .main-area { margin-left: 60px; }
body.nav-collapsed .sidebar:hover,
body.nav-collapsed .sidebar:focus-within {
    width: 248px;
    z-index: 200;
    box-shadow: 8px 0 30px rgba(0, 0, 0, .5);
}
