/* Portal-specific additions on top of the real McCloud site stylesheet. */
.mc-workplace-hero { min-height: 760px; }
.mc-workplace-hero .hero-banner-content { min-height: 760px; }
.mc-workplace-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 460px);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
}
.mc-workplace-copy { max-width: 680px; }
.mc-portal-card {
    border: 0;
    border-radius: 22px;
    padding: clamp(1.35rem, 3vw, 2rem);
    background: rgba(255,255,255,.96);
    color: #495057;
    box-shadow: 0 25px 60px rgba(28,37,51,.24);
}
.mc-portal-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.mc-portal-card .h-section { font-size: clamp(1.8rem, 3vw, 2.55rem); margin: 0 0 .5rem; }
.mc-portal-card p { color: #6b727a; line-height: 1.6; margin-bottom: 0; }
.mc-form-stack { display: grid; gap: 1rem; }
.field { display: grid; gap: .4rem; }
.field label, .form-label { color: #495057; font-weight: 700; }
.field input, .field textarea, .field select, .form-control, .form-select {
    width: 100%;
    min-height: 52px;
    border-radius: 13px;
    border: 1px solid #cdd2d8;
    background: #fff;
    color: #2a2e31;
    padding: .75rem 1rem;
    font: inherit;
    outline: none;
}
.field input:focus, .field textarea:focus, .field select:focus, .form-control:focus, .form-select:focus {
    border-color: #7791ae;
    box-shadow: 0 0 0 .24rem rgba(119,145,174,.18);
}
.mc-full-button { width: 100%; min-height: 52px; }
.mc-status-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #35c979;
    box-shadow: 0 0 0 9px rgba(53,201,121,.14);
    flex: 0 0 auto;
    margin-top: .4rem;
}
.mc-form-message { min-height: 1.5rem; margin-top: 1rem; color: #6b727a; font-weight: 600; }
.mc-form-message.error { color: #b42318; }
.mc-form-message.success { color: #237a45; }
.mc-portal-links { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.15rem; }
.mc-resource-list { display: grid; gap: 1rem; margin-top: 1.2rem; }
.mc-resource-actions { border: 1px solid rgba(205,210,216,.75); border-radius: 16px; padding: 1rem; background: #f7f9fc; }
.mc-resource-actions .d-grid { display: grid; gap: .65rem; }
.mc-simple-hero { min-height: 430px; }
.mc-simple-hero .hero-banner-content { min-height: 430px; }
.admin-body { background: #f7f9fc; color: #495057; }
.admin-main { max-width: 1720px; }
.admin-hero, .admin-panel, .admin-stat {
    background: #fff;
    border: 1px solid rgba(205,210,216,.8);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(28,37,51,.08);
}
.admin-hero { padding: 2rem; }
.admin-panel { padding: 1.5rem; }
.admin-stat { padding: 1.35rem; min-height: 126px; display: grid; align-content: space-between; }
.admin-hero h1, .admin-panel h1, .admin-panel h2 { color: #2c3a4d; font-weight: 800; letter-spacing: -.035em; }
.admin-stat span { color: #6b727a; font-weight: 700; }
.admin-stat strong { color: #2c3a4d; font-size: 2.4rem; line-height: 1; }
.mc-admin-login { min-height: 100vh; display: grid; place-items: center; padding: 2rem; background:#f7f9fc; }
.mc-login-logo { width: 190px; max-height: 90px; object-fit: contain; margin-bottom: 1.4rem; }
.table { --bs-table-bg: transparent; }
.pagination .page-link { color: #4a607d; }
.pagination .active .page-link { background: #4a607d; border-color: #4a607d; }
.d-none { display: none !important; }
.collapse:not(.show) { display: none; }
@media (max-width: 1080px) {
    .mc-workplace-grid { grid-template-columns: 1fr; }
    .mc-portal-card { max-width: 620px; }
}
@media (max-width: 640px) {
    .mc-workplace-hero, .mc-workplace-hero .hero-banner-content { min-height: auto; }
    .mc-portal-card { padding: 1.25rem; }
    .hero-slide-actions .btn { width: 100%; }
}

.mc-section-soft { background: #f7f9fc; }
.mc-open-card { max-width: 760px; }
.mc-admin-login-card { max-width: 460px; }
.mc-page-card { background:#fff; border:1px solid rgba(205,210,216,.8); border-radius:18px; box-shadow:0 18px 45px rgba(28,37,51,.08); }
