:root {
    --adrecom-blue: #367eb7;
    --adrecom-blue-dark: #245f93;
    --adrecom-blue-deep: #174972;
    --adrecom-blue-soft: #eaf3fb;
    --adrecom-orange: #f5822a;
    --adrecom-ink: #172b4d;
    --adrecom-muted: #607087;
    --adrecom-canvas: #f4f7fb;
    --adrecom-border: #d9e2ec;
}

/* Customer portal form controls */
.auth-card.wide { width: min(100%, 44rem); }
.portal-login-card { width: min(100%, 62rem); }
.floating-field { position: relative; }
.floating-field input, .floating-field textarea { width: 100%; padding: 1.25rem .75rem .45rem; }
.floating-field label { position: absolute; left: .75rem; top: .85rem; color: var(--sp-muted); font-weight: 500; pointer-events: none; transition: all .15s ease; }
.floating-field input:focus + label, .floating-field input:not(:placeholder-shown) + label, .floating-field textarea:focus + label, .floating-field textarea:not(:placeholder-shown) + label { top: .32rem; font-size: .72rem; color: var(--sp-accent); }
.floating-field ul { margin: .25rem 0; padding-left: 1rem; color: #9c2f20; }
.submission-summary { display: grid; grid-template-columns: minmax(8rem, .35fr) 1fr; gap: .65rem 1rem; margin: 1.5rem 0; padding: 1rem; background: var(--sp-wash); border-radius: .4rem; }
.submission-summary dt { font-weight: 700; }
.submission-summary dd { margin: 0; white-space: pre-wrap; }
.portal-auth .auth-card.portal-login-card { width: 40rem; max-width: 100%; }
.sign-in-trigger { padding: 0; border: 0; background: transparent; font: inherit; cursor: pointer; }
.sign-in-dialog { width: min(calc(100% - 2rem), 40rem); padding: 2.5rem; border: 1px solid #dbe4df; border-radius: .75rem; box-shadow: 0 1rem 3rem #17223830; color: var(--sp-ink); }
.sign-in-dialog::backdrop { background: rgb(23 34 56 / 55%); }
.sign-in-dialog h2 { margin: .5rem 0 1.5rem; font-size: 2.4rem; letter-spacing: -.05em; }
.sign-in-dialog form { display: grid; gap: 1rem; }.sign-in-dialog .button { width: 100%; }.dialog-close { position: absolute; top: .75rem; right: .75rem; border: 0; background: transparent; color: var(--sp-muted); font-size: 2rem; line-height: 1; cursor: pointer; }
.admin-form .profile-field > .form-control { border: 1px solid #cdd8e4; border-radius: .7rem; }
.admin-form .profile-field > .form-control:focus { border-color: var(--adrecom-blue); box-shadow: 0 0 0 .2rem rgb(54 126 183 / 13%); }

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body {
    color: var(--adrecom-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.adrecom-mark {
    position: relative;
    display: inline-flex;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    align-items: center;
    justify-content: center;
    border: .28rem solid var(--adrecom-orange);
    border-right-color: transparent;
    border-radius: 50%;
    transform: rotate(7deg);
}

.adrecom-mark::before,
.adrecom-mark::after {
    position: absolute;
    right: -.32rem;
    width: .75rem;
    height: .25rem;
    content: "";
    background: var(--adrecom-orange);
    border-radius: 1rem;
}

.adrecom-mark::before { top: .19rem; transform: rotate(18deg); }
.adrecom-mark::after { bottom: .19rem; transform: rotate(-18deg); }

.adrecom-mark > span {
    width: .66rem;
    height: .66rem;
    background: currentColor;
    border-radius: 50%;
}

/* Sapientpi customer portal: intentionally independent from the administrator UI. */
.sapient-site,.portal-app,.portal-auth{--sp-ink:#172238;--sp-muted:#5e6a7d;--sp-accent:#236a61;--sp-accent-dark:#164b45;--sp-paper:#fffdf9;--sp-wash:#f0f5f1;margin:0;color:var(--sp-ink);background:var(--sp-paper);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.sapient-site a,.portal-app a,.portal-auth a{color:inherit}.sapient-wordmark{font-size:1.45rem;font-weight:800;letter-spacing:-.07em;text-decoration:none}.sapient-wordmark span{color:var(--sp-accent)}.site-nav{max-width:76rem;margin:auto;padding:1.25rem clamp(1.25rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-nav>div{display:flex;align-items:center;gap:1rem}.site-nav>div>a:not(.button){font-size:.9rem;text-decoration:none}.button{display:inline-block;padding:.75rem 1.05rem;border:0;border-radius:.4rem;background:var(--sp-accent);color:white!important;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.button:hover{background:var(--sp-accent-dark)}.button-quiet{background:transparent;color:var(--sp-ink)!important;border:1px solid #c6d0ca}.hero{max-width:76rem;margin:auto;padding:clamp(4rem,11vw,9rem) clamp(1.25rem,4vw,3rem);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,8vw,7rem);align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--sp-accent)}.hero h1,.portal-intro h1,.auth-card h1{font-size:clamp(2.6rem,6vw,5.2rem);line-height:.98;letter-spacing:-.06em;margin:.5rem 0 1.5rem}.lead{font-size:1.2rem;line-height:1.6;color:var(--sp-muted);max-width:38rem}.text-link{margin-left:1rem;color:var(--sp-accent)!important;font-weight:700}.hero-card{padding:2rem;background:var(--sp-ink);color:white;border-radius:.75rem;display:grid;gap:.35rem}.hero-card strong{margin-top:1rem}.hero-card span,.future-note{color:#d9e5df;line-height:1.5}.future-note{font-size:.88rem;border-top:1px solid #516070;padding-top:1rem;margin-top:1rem}.feature-grid{max-width:76rem;margin:auto;padding:0 clamp(1.25rem,4vw,3rem) 5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.feature-grid article,.summary-cards article,.project-list,.profile-card{padding:1.5rem;border:1px solid #dae2dc;border-radius:.65rem}.feature-grid p{color:var(--sp-muted);line-height:1.55}.site-footer{padding:2rem;text-align:center;background:var(--sp-wash);color:var(--sp-muted);font-size:.85rem}.portal-header{padding:1rem clamp(1.25rem,5vw,5rem);border-bottom:1px solid #dce4df;display:flex;justify-content:space-between;align-items:center}.portal-header nav{display:flex;gap:1.25rem}.portal-header nav a{font-size:.92rem;text-decoration:none;font-weight:650}.portal-main{max-width:70rem;margin:auto;padding:clamp(2rem,5vw,4.5rem) clamp(1.25rem,4vw,2rem)}.portal-intro h1{font-size:clamp(2.2rem,5vw,4rem)}.portal-intro p:not(.eyebrow){color:var(--sp-muted)}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.summary-cards strong{display:block;font-size:2rem}.summary-cards span{font-weight:700}.summary-cards small{display:block;margin-top:.5rem;color:var(--sp-muted)}.project-list ul{list-style:none;padding:0;margin:1rem 0 0}.project-list li{padding:1rem 0;border-top:1px solid #e3e9e5}.project-list li>div{display:flex;justify-content:space-between;gap:1rem}.project-list li span,.project-list p,.empty-state,.form-note{color:var(--sp-muted)}.profile-card{max-width:38rem}.portal-alert{padding:1rem;background:#e8f5ec;border-left:4px solid var(--sp-accent)}.auth-shell{min-height:100vh;padding:clamp(1.5rem,6vw,4rem);display:grid;place-content:center;gap:2rem}.auth-card{width:min(100%,29rem);padding:2rem;background:white;border:1px solid #dbe4df;border-radius:.75rem;box-shadow:0 1rem 3rem #17223812}.auth-card.wide{width:min(100%,40rem)}.auth-card h1{font-size:2.4rem}.auth-card form,.profile-card form{display:grid;gap:1rem}.auth-card label,.profile-card label{display:grid;gap:.4rem;font-weight:700}.auth-card input,.auth-card textarea,.profile-card input{padding:.7rem;border:1px solid #b9c7c0;border-radius:.3rem;font:inherit}.auth-card textarea{min-height:5rem}.form-error{padding:.8rem;background:#fff0ee;color:#9c2f20}.sapient-site :focus-visible,.portal-app :focus-visible,.portal-auth :focus-visible{outline:3px solid #e7952c;outline-offset:3px}@media(max-width:700px){.site-nav{align-items:flex-start}.site-nav>div{flex-wrap:wrap;justify-content:flex-end}.site-nav>div>a:not(.button){display:none}.hero,.feature-grid{grid-template-columns:1fr}.hero{padding-top:3rem}.summary-cards{grid-template-columns:1fr}.portal-header{align-items:flex-start;gap:1rem}.portal-header nav{gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.text-link{display:block;margin:1rem 0 0}}

/* Login */
.manage-login-page {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 12% 16%, rgb(54 126 183 / 16%), transparent 31rem),
        radial-gradient(circle at 90% 86%, rgb(245 130 42 / 10%), transparent 24rem),
        var(--adrecom-canvas);
}

.login-shell {
    display: grid;
    min-height: 100vh;
    padding: clamp(1.25rem, 5vw, 4rem);
    place-items: center;
}

.login-card {
    width: min(100%, 29rem);
    overflow: hidden;
    background: #fff;
    border: 1px solid rgb(23 73 114 / 10%);
    border-radius: 1.35rem;
    box-shadow: 0 1.5rem 4rem rgb(23 73 114 / 16%);
}

.login-brand {
    display: flex;
    min-height: 6rem;
    align-items: center;
    padding: 1.25rem 2rem;
    color: #fff;
    background: linear-gradient(120deg, var(--adrecom-blue-dark), var(--adrecom-blue));
}

.login-brand .adrecom-logo {
    display: block;
    width: 10.5rem;
    max-width: 72%;
    height: auto;
}

.login-brand-name {
    font-size: 1.25rem;
    font-weight: 750;
    letter-spacing: .015em;
}

.login-brand-product {
    align-self: flex-end;
    margin: 0 0 1.25rem .45rem;
    color: rgb(255 255 255 / 70%);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.login-card-body { padding: clamp(1.6rem, 5vw, 2.35rem); }

.login-eyebrow,
.content-eyebrow,
.welcome-kicker {
    color: var(--adrecom-blue);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.login-card h1 {
    margin: .2rem 0 .55rem;
    color: var(--adrecom-ink);
    font-size: clamp(1.8rem, 7vw, 2.35rem);
    font-weight: 720;
    letter-spacing: -.035em;
}

.login-intro { margin: 0 0 1.7rem; color: var(--adrecom-muted); }
.login-form { display: grid; gap: 1.15rem; }

.form-field label {
    display: inline-block;
    margin-bottom: .42rem;
    color: #34445d;
    font-size: .88rem;
    font-weight: 650;
}

.login-form .input-group {
    border: 1px solid #cdd8e4;
    border-radius: .75rem;
    box-shadow: 0 .1rem .25rem rgb(23 43 77 / 3%);
    transition: border-color .15s, box-shadow .15s;
}

.login-form .input-group:focus-within {
    border-color: var(--adrecom-blue);
    box-shadow: 0 0 0 .22rem rgb(54 126 183 / 13%);
}

.login-form .input-group-text,
.login-form .form-control,
.login-form .password-toggle { min-height: 3.15rem; border: 0; }

.login-form .input-group-text {
    min-width: 3rem;
    justify-content: center;
    color: var(--adrecom-blue);
    background: #fff;
    border-radius: .75rem 0 0 .75rem;
}

.login-form .form-control { color: var(--adrecom-ink); box-shadow: none; }
.login-form .form-control::placeholder { color: #98a6b8; }

.password-toggle {
    min-width: 3.25rem;
    color: #fff;
    background: var(--adrecom-blue);
    border-radius: 0 .7rem .7rem 0 !important;
}

.password-toggle:hover,
.password-toggle:focus-visible { color: #fff; background: var(--adrecom-blue-dark); }

.login-submit {
    display: flex;
    min-height: 3.15rem;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    margin-top: .35rem;
    color: #fff;
    font-weight: 700;
    background: var(--adrecom-blue);
    border: 0;
    border-radius: .75rem;
    box-shadow: 0 .6rem 1.15rem rgb(54 126 183 / 20%);
}

.login-submit:hover,
.login-submit:focus-visible { color: #fff; background: var(--adrecom-blue-dark); }

a.login-submit { text-decoration: none; }

.login-form-options {
    display: flex;
    justify-content: flex-end;
    margin-top: -.35rem;
}

.login-form-options a,
.auth-back-link {
    color: var(--adrecom-blue-dark);
    font-size: .9rem;
    font-weight: 650;
    text-decoration: none;
}

.login-form-options a:hover,
.auth-back-link:hover { color: var(--adrecom-blue); text-decoration: underline; }

.auth-back-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: 1.45rem;
}

.auth-status-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1.2rem;
    color: var(--adrecom-blue);
    background: var(--adrecom-blue-soft);
    border-radius: .8rem;
    place-items: center;
}

.auth-status-icon-error { color: #b42318; background: #fee4e2; }

.login-alert {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    margin-bottom: 1.2rem;
    border: 0;
    border-radius: .65rem;
    font-size: .9rem;
}

.login-alert ul { margin: 0; padding-left: 1rem; }

/* AdminLTE manage shell */
.manage-app .app-wrapper { background: var(--adrecom-canvas); }

.manage-app .app-header {
    min-height: 4rem;
    background: #fff;
    border-bottom: 1px solid var(--adrecom-border);
    box-shadow: 0 .2rem 1rem rgb(23 43 77 / 5%);
}

.manage-header-start {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .85rem;
}

.manage-header-breadcrumbs { min-width: 0; }

.manage-header-breadcrumbs .breadcrumb {
    flex-wrap: nowrap;
    color: var(--adrecom-muted);
    font-size: .86rem;
    white-space: nowrap;
}

.manage-header-breadcrumbs .breadcrumb-item { overflow: hidden; text-overflow: ellipsis; }
.manage-header-breadcrumbs .breadcrumb-item a { color: var(--adrecom-blue); text-decoration: none; }
.manage-header-breadcrumbs .breadcrumb-item a:hover { color: var(--adrecom-blue-dark); text-decoration: underline; }

.manage-app .sidebar-toggle {
    width: 2.6rem;
    height: 2.6rem;
    color: var(--adrecom-blue-dark);
    background: var(--adrecom-blue-soft);
    border: 0;
    border-radius: .7rem;
}

.manage-sidebar {
    color: #fff;
    background: linear-gradient(180deg, #347bb3, #245f93) !important;
}

.manage-sidebar .sidebar-brand {
    display: flex;
    height: 4rem;
    align-items: center;
    gap: .4rem;
    padding: 0 .9rem;
    border-bottom: 1px solid rgb(255 255 255 / 12%);
}

.brand-link {
    display: flex;
    min-width: 0;
    height: 100%;
    flex: 1 1 auto;
    align-items: center;
    color: #fff;
    text-decoration: none;
}

.brand-link:hover { color: #fff; }

.brand-link .adrecom-logo {
    display: block;
    width: 8rem;
    max-width: 78%;
    height: auto;
}

.sidebar-brand-toggle {
    display: inline-grid;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    color: #fff;
    background: rgb(255 255 255 / 10%);
    border: 0;
    border-radius: .62rem;
    place-items: center;
}

.sidebar-brand-toggle:hover,
.sidebar-brand-toggle:focus-visible {
    color: var(--adrecom-blue-dark);
    background: #fff;
}

.brand-text {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: .015em;
}

.brand-product {
    align-self: flex-end;
    margin: 0 0 .82rem .35rem;
    color: rgb(255 255 255 / 68%);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.manage-sidebar .nav-link {
    position: relative;
    display: flex;
    min-height: 3rem;
    align-items: center;
    margin: .2rem .7rem;
    padding: .72rem .85rem;
    color: rgb(255 255 255 / 88%);
    border-radius: .7rem;
}

@media (min-width: 992px) {
    .sidebar-mini.sidebar-collapse .manage-sidebar .sidebar-brand {
        justify-content: center;
        padding-inline: .65rem;
    }

    .sidebar-mini.sidebar-collapse .manage-sidebar .brand-link {
        display: none;
    }

    .sidebar-mini.sidebar-collapse .manage-sidebar .sidebar-brand-toggle {
        margin-inline: auto;
    }

    .sidebar-mini.sidebar-collapse .manage-sidebar,
    .sidebar-mini.sidebar-collapse .manage-sidebar .sidebar-wrapper,
    .sidebar-mini.sidebar-collapse .manage-sidebar nav,
    .sidebar-mini.sidebar-collapse .manage-sidebar .sidebar-menu,
    .sidebar-mini.sidebar-collapse .manage-sidebar .nav-item {
        overflow: visible !important;
    }

    .sidebar-mini.sidebar-collapse .manage-sidebar .nav-link {
        width: 3.1rem;
        justify-content: center;
        margin-inline: auto;
        padding-inline: 0;
    }

    .sidebar-mini.sidebar-collapse .manage-sidebar .sidebar-wrapper,
    .sidebar-mini.sidebar-collapse .manage-sidebar nav,
    .sidebar-mini.sidebar-collapse .manage-sidebar .sidebar-menu {
        width: 100%;
        padding-inline: 0 !important;
    }

    .sidebar-mini.sidebar-collapse .manage-sidebar .nav-item {
        display: flex;
        width: 100%;
        justify-content: center;
    }

    .sidebar-mini.sidebar-collapse .manage-sidebar .nav-icon {
        width: auto;
        margin: 0 !important;
    }

    .sidebar-mini.sidebar-collapse .manage-sidebar .nav-link p {
        position: absolute;
        z-index: 1100;
        top: 50%;
        left: calc(100% + .65rem);
        display: block !important;
        width: auto !important;
        padding: .48rem .68rem;
        color: #fff;
        white-space: nowrap;
        visibility: hidden !important;
        opacity: 0;
        background: var(--adrecom-blue-deep);
        border-radius: .5rem;
        box-shadow: 0 .45rem 1rem rgb(23 43 77 / 22%);
        transform: translateY(-50%) translateX(-.2rem);
        transition: opacity .12s, transform .12s;
        pointer-events: none;
    }

    .sidebar-mini.sidebar-collapse .manage-sidebar .nav-link:hover p,
    .sidebar-mini.sidebar-collapse .manage-sidebar .nav-link:focus-visible p {
        visibility: visible !important;
        opacity: 1;
        transform: translateY(-50%) translateX(0);
    }
}

.manage-sidebar .nav-link.active {
    color: var(--adrecom-blue-dark);
    background: #fff;
    box-shadow: 0 .45rem 1rem rgb(23 73 114 / 18%);
}

.manage-sidebar .nav-icon {
    width: 1.4rem;
    margin-right: .75rem;
    font-size: .96rem;
    text-align: center;
}

.manage-sidebar .nav-link p { margin: 0; font-size: .94rem; font-weight: 650; }
.nav-link-placeholder { cursor: default; }
.nav-link-placeholder:hover { color: #fff; background: rgb(255 255 255 / 8%); }

.header-user {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem .7rem;
    color: var(--adrecom-muted);
    background: transparent;
    border: 0;
    border-radius: .65rem;
    font-size: .9rem;
    font-weight: 650;
}

.manage-header-actions { display: flex; align-items: center; gap: .35rem; }
.manage-frontend-preview {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    gap: .45rem;
    padding: .5rem .7rem;
    color: var(--adrecom-blue-dark);
    background: var(--adrecom-blue-soft);
    border: 1px solid #c8ddeb;
    border-radius: .65rem;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
}
.manage-frontend-preview:hover,
.manage-frontend-preview:focus-visible { color: #fff; background: var(--adrecom-blue); border-color: var(--adrecom-blue); }

.header-user i { color: var(--adrecom-blue); }

.header-user-avatar {
    width: 1.8rem;
    height: 1.8rem;
    object-fit: cover;
    background: var(--adrecom-blue-soft);
    border: 2px solid var(--adrecom-blue);
    border-radius: 50%;
    box-shadow: 0 .15rem .4rem rgb(23 73 114 / 14%);
}

.header-user:hover,
.header-user:focus-visible,
.header-user-menu .dropdown-toggle.show {
    color: var(--adrecom-blue-dark);
    background: var(--adrecom-blue-soft);
}

.header-user-menu .dropdown-menu {
    min-width: 13rem;
    margin-top: .45rem !important;
    padding: .45rem;
    border: 1px solid var(--adrecom-border);
    border-radius: .75rem;
}

.header-user-option {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .65rem .75rem;
    color: var(--adrecom-ink);
    border-radius: .5rem;
    font-size: .9rem;
    font-weight: 600;
}

.header-user-option i {
    width: 1.1rem;
    color: var(--adrecom-blue);
    text-align: center;
}

.header-user-option:hover,
.header-user-option:focus-visible {
    color: var(--adrecom-blue-dark);
    background: var(--adrecom-blue-soft);
}

.header-user-signout { color: #a53b32; }
.header-user-signout i { color: inherit; }

.manage-app .app-main { background: var(--adrecom-canvas); }
.app-content-header { padding: 1.8rem .25rem 1.2rem; }

.app-content-header h1 {
    color: var(--adrecom-ink);
    font-size: clamp(1.55rem, 4vw, 2rem);
    font-weight: 740;
    letter-spacing: -.025em;
}

.breadcrumb-item.active { color: var(--adrecom-muted); }

.welcome-panel {
    position: relative;
    display: grid;
    min-height: 25rem;
    overflow: hidden;
    align-items: center;
    padding: clamp(2rem, 6vw, 4.5rem);
    color: #fff;
    background: linear-gradient(125deg, var(--adrecom-blue-deep), var(--adrecom-blue) 68%, #4e93c8);
    border-radius: 1.25rem;
    box-shadow: 0 1.1rem 2.5rem rgb(36 95 147 / 18%);
}

.welcome-copy { position: relative; z-index: 1; max-width: 43rem; }

.welcome-icon {
    display: grid;
    width: 3.2rem;
    height: 3.2rem;
    margin-bottom: 1.45rem;
    color: var(--adrecom-orange);
    background: #fff;
    border-radius: .9rem;
    box-shadow: 0 .6rem 1.2rem rgb(10 50 82 / 20%);
    place-items: center;
}

.welcome-kicker { margin-bottom: .65rem; color: #cde6f8; }

.welcome-panel h2 {
    margin-bottom: 1rem;
    font-size: clamp(2rem, 6vw, 3.65rem);
    font-weight: 760;
    letter-spacing: -.045em;
    line-height: 1.02;
}

.welcome-panel p:last-child {
    max-width: 37rem;
    margin: 0;
    color: rgb(255 255 255 / 82%);
    font-size: clamp(1rem, 2vw, 1.16rem);
    line-height: 1.7;
}

.welcome-decoration span {
    position: absolute;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 50%;
}

.welcome-decoration span:nth-child(1) { top: -8rem; right: -5rem; width: 25rem; height: 25rem; }
.welcome-decoration span:nth-child(2) { right: 7rem; bottom: -11rem; width: 20rem; height: 20rem; background: rgb(245 130 42 / 11%); }
.welcome-decoration span:nth-child(3) { top: 3rem; right: 5rem; width: 5rem; height: 5rem; background: rgb(255 255 255 / 6%); }

/* Profile */
.profile-content { padding-bottom: 2rem; }

.profile-content > .container-fluid,
.profile-content-header > .container-fluid {
    width: min(100%, 60rem);
    margin-inline: auto;
}

.profile-alert,
.admin-alert {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1.25rem;
    border: 0;
    border-radius: .75rem;
    box-shadow: 0 .4rem 1rem rgb(23 73 114 / 7%);
}

.profile-alert-success,
.admin-alert--success { color: #17623b; background: #e7f6ee; }
.admin-alert--warning { color: #7a4b00; background: #fff6df; border: 1px solid #eed394; }
.admin-alert--error { color: #8a3029; background: #fbeceb; border: 1px solid #e7c3bf; }

.profile-summary-card,
.profile-card {
    background: #fff;
    border: 1px solid var(--adrecom-border);
    border-radius: 1rem;
    box-shadow: 0 .65rem 1.75rem rgb(23 73 114 / 7%);
}

.profile-summary-card {
    position: sticky;
    top: 5.25rem;
    overflow: hidden;
    padding: 2rem;
    text-align: center;
}

.profile-summary-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 6.5rem;
    content: "";
    background: linear-gradient(120deg, var(--adrecom-blue-deep), var(--adrecom-blue));
}

.profile-avatar {
    position: relative;
    display: grid;
    width: 5.8rem;
    height: 5.8rem;
    margin: 1rem auto 1.15rem;
    color: var(--adrecom-blue-dark);
    background: #fff;
    border: .32rem solid rgb(255 255 255 / 65%);
    border-radius: 1.4rem;
    box-shadow: 0 .8rem 1.8rem rgb(23 73 114 / 20%);
    font-size: 2rem;
    font-weight: 800;
    place-items: center;
}

.profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1.08rem;
}

.profile-summary-card h2 {
    margin: 0 0 .2rem;
    color: var(--adrecom-ink);
    font-size: 1.35rem;
    font-weight: 750;
}

.profile-summary-username { margin: 0; color: var(--adrecom-muted); font-size: .9rem; }

.profile-remove-avatar { margin-top: .9rem; }

.profile-remove-avatar .btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .65rem;
    color: #a53b32;
    background: #fff;
    border: 1px solid #e6c1bd;
    border-radius: .55rem;
    font-size: .76rem;
    font-weight: 700;
}

.profile-remove-avatar .btn:hover,
.profile-remove-avatar .btn:focus-visible { color: #fff; background: #a53b32; border-color: #a53b32; }

.profile-facts {
    display: grid;
    gap: 0;
    margin: 1.5rem 0 0;
    text-align: left;
}

.profile-facts > div { padding: .9rem 0; border-top: 1px solid var(--adrecom-border); }

.profile-facts dt {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .25rem;
    color: var(--adrecom-muted);
    font-size: .74rem;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.profile-facts dt i { width: 1rem; color: var(--adrecom-blue); text-align: center; }
.profile-facts dd { margin: 0; overflow-wrap: anywhere; color: var(--adrecom-ink); font-size: .9rem; }
.profile-card-stack { display: grid; gap: 1.5rem; }
.profile-card { margin: 0; overflow: hidden; }

.profile-card-header {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: 1.2rem 1.35rem;
    background: #fff;
    border-bottom: 1px solid var(--adrecom-border);
}

.profile-card-icon {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    flex: 0 0 2.7rem;
    color: var(--adrecom-blue);
    background: var(--adrecom-blue-soft);
    border-radius: .75rem;
    place-items: center;
}

.profile-card-header h2 { margin: 0; color: var(--adrecom-ink); font-size: 1.08rem; font-weight: 750; }
.profile-card-header p { margin: .15rem 0 0; color: var(--adrecom-muted); font-size: .84rem; }
.profile-card .card-body { padding: clamp(1.2rem, 3vw, 1.6rem); }

.profile-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
}

.profile-field-wide { grid-column: 1 / -1; }

.profile-field label {
    margin-bottom: .45rem;
    color: var(--adrecom-ink);
    font-size: .84rem;
    font-weight: 700;
}

.profile-field .input-group {
    flex-wrap: nowrap;
    border: 1px solid #cdd8e4;
    border-radius: .7rem;
    box-shadow: 0 .1rem .25rem rgb(23 43 77 / 3%);
    transition: border-color .15s, box-shadow .15s;
}

.profile-field .input-group:focus-within {
    border-color: var(--adrecom-blue);
    box-shadow: 0 0 0 .22rem rgb(54 126 183 / 13%);
}

.profile-field .input-group.is-invalid {
    border-color: #c64b42;
    box-shadow: 0 0 0 .18rem rgb(198 75 66 / 10%);
}

.profile-field--invalid > label { color: #a53b32; }

.admin-form-global-errors {
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    color: #8e3029;
    background: #fff1ef;
    border: 1px solid #edc2bd;
    border-radius: .65rem;
}

.admin-form-global-errors > ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.profile-field .input-group-text,
.profile-field .form-control,
.profile-field .password-toggle { min-height: 3rem; border: 0; }

.profile-field .input-group-text {
    min-width: 2.9rem;
    justify-content: center;
    color: var(--adrecom-blue);
    background: var(--adrecom-blue-soft);
    border-radius: .65rem 0 0 .65rem;
}

.profile-field .form-control { min-width: 0; color: var(--adrecom-ink); box-shadow: none; }
.profile-field .form-control::placeholder { color: #98a6b8; }
.profile-field .form-text { margin: .35rem 0 0; color: var(--adrecom-muted); font-size: .75rem; }

textarea.form-control,
.profile-field textarea.form-control {
    padding: .8rem .9rem;
    color: var(--adrecom-ink);
    background: #fff;
    border: 1px solid #cdd8e4;
    border-radius: .7rem;
    box-shadow: 0 .1rem .25rem rgb(23 43 77 / 3%);
    resize: vertical;
    transition: border-color .15s, box-shadow .15s;
}

textarea.form-control:focus {
    border-color: var(--adrecom-blue);
    box-shadow: 0 0 0 .22rem rgb(54 126 183 / 13%);
}

.profile-file-input {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .55rem .7rem;
    background: var(--adrecom-blue-soft);
    border: 1px dashed #9dbbd3;
    border-radius: .7rem;
}

.profile-file-input > i { width: 1.4rem; color: var(--adrecom-blue); text-align: center; }

.profile-file-input .form-control {
    min-height: auto;
    padding: .35rem;
    background: #fff;
    border: 1px solid var(--adrecom-border);
    border-radius: .45rem;
}

.profile-file-input .form-control::file-selector-button {
    color: var(--adrecom-blue-dark);
    background: var(--adrecom-blue-soft);
}

.avatar-crop-ready {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: .7rem;
}

.avatar-crop-preview {
    width: 4rem;
    height: 4rem;
    flex: 0 0 4rem;
    object-fit: cover;
    border: 2px solid #fff;
    border-radius: .8rem;
    box-shadow: 0 .35rem .9rem rgb(23 73 114 / 16%);
}

.avatar-crop-status { margin: 0; color: var(--adrecom-muted); font-size: .78rem; line-height: 1.5; }
.avatar-crop-error { margin: .55rem 0 0; color: #a53b32; font-size: .8rem; font-weight: 650; }

.avatar-crop-dialog {
    width: min(calc(100% - 2rem), 46rem);
    max-width: none;
    max-height: calc(100dvh - 2rem);
    padding: 0;
    overflow: auto;
    color: var(--adrecom-ink);
    background: #fff;
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 2rem 5rem rgb(12 39 61 / 35%);
}

.avatar-crop-dialog::backdrop { background: rgb(13 39 61 / 72%); backdrop-filter: blur(3px); }

.avatar-crop-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
}

.avatar-crop-dialog-header .content-eyebrow { margin: 0 0 .2rem; }
.avatar-crop-dialog-header h3 { margin: 0; font-size: 1.25rem; font-weight: 760; }
.avatar-crop-dialog-header p:last-child { margin: .25rem 0 0; color: var(--adrecom-muted); font-size: .84rem; }

.avatar-crop-close {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;
    color: var(--adrecom-muted);
    background: var(--adrecom-canvas);
    border-radius: .65rem;
    place-items: center;
}

.avatar-crop-close:hover,
.avatar-crop-close:focus-visible { color: var(--adrecom-blue-dark); background: var(--adrecom-blue-soft); }

.avatar-crop-workspace {
    width: 100%;
    height: min(52dvh, 27rem);
    min-height: 20rem;
    overflow: hidden;
    background: #10273a;
}

.avatar-crop-workspace cropper-canvas { width: 100%; height: 100%; }

.avatar-crop-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .85rem 1.25rem;
    background: var(--adrecom-canvas);
    border-bottom: 1px solid var(--adrecom-border);
}

.avatar-crop-toolbar .btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem .65rem;
    color: var(--adrecom-blue-dark);
    background: #fff;
    border: 1px solid var(--adrecom-border);
    border-radius: .55rem;
    font-size: .78rem;
    font-weight: 650;
}

.avatar-crop-toolbar .btn:hover,
.avatar-crop-toolbar .btn:focus-visible { background: var(--adrecom-blue-soft); border-color: #a9c5dc; }

.avatar-crop-dialog-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .7rem;
    padding: 1rem 1.25rem;
}

.avatar-crop-dialog-error {
    flex: 1 1 auto;
    margin: 0 auto 0 0;
    color: #a53b32;
    font-size: .8rem;
    font-weight: 700;
}

.avatar-crop-cancel { color: var(--adrecom-muted); font-weight: 650; }
.avatar-crop-cancel:hover,
.avatar-crop-cancel:focus-visible { color: var(--adrecom-blue-dark); background: var(--adrecom-blue-soft); }

.profile-field > ul {
    margin: .4rem 0 0;
    padding: 0;
    color: #a53b32;
    font-size: .8rem;
    list-style: none;
}

.profile-form-actions { display: flex; justify-content: flex-end; margin-top: 1.35rem; }

.profile-primary-button,
.admin-primary-action {
    display: inline-flex;
    min-height: 2.8rem;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .65rem 1.1rem;
    color: #fff;
    background: var(--adrecom-blue);
    border: 0;
    border-radius: .65rem;
    font-weight: 700;
}

.profile-primary-button:hover,
.profile-primary-button:focus-visible,
.admin-primary-action:hover,
.admin-primary-action:focus-visible { color: #fff; background: var(--adrecom-blue-dark); }

.profile-password-note { margin: .85rem 0 0; color: var(--adrecom-muted); font-size: .78rem; }
.profile-password-note i { margin-right: .25rem; color: var(--adrecom-blue); }

.account-password-card .profile-card-header > div { min-width: 0; }
.password-generate-button {
    display: inline-grid;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    margin-left: auto;
    padding: 0;
    color: var(--adrecom-blue-dark);
    background: var(--adrecom-blue-soft);
    border: 1px solid #b9d0e2;
    border-radius: .55rem;
    place-items: center;
}
.password-generate-button:hover,
.password-generate-button:focus-visible {
    color: #fff;
    background: var(--adrecom-blue);
    border-color: var(--adrecom-blue);
}

/* Settings */
.settings-panel {
    width: min(100%, 64rem);
    margin-inline: auto;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgb(23 73 114 / 9%);
    border-radius: 1rem;
    box-shadow: 0 .8rem 2.2rem rgb(23 43 77 / 8%);
}

.settings-panel-heading { padding: 1.4rem 1.5rem 1.1rem; }

.settings-panel-heading h2 {
    margin: 0;
    color: var(--adrecom-ink);
    font-size: 1.2rem;
    font-weight: 760;
}

.settings-panel-heading p {
    margin: .3rem 0 0;
    color: var(--adrecom-muted);
    font-size: .86rem;
}

.settings-list { border-top: 1px solid var(--adrecom-border); }

.settings-list-item {
    display: grid;
    min-height: 4.7rem;
    grid-template-columns: 2.7rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .9rem 1.5rem;
    border-bottom: 1px solid var(--adrecom-border);
}

.settings-list-item:last-child { border-bottom: 0; }

.settings-list-link {
    color: inherit;
    text-decoration: none;
    transition: background-color .15s, box-shadow .15s;
}

.settings-list-link:hover,
.settings-list-link:focus-visible {
    color: inherit;
    background: #f8fbfe;
    box-shadow: inset .22rem 0 0 var(--adrecom-blue);
    outline: 0;
}

.settings-list-link:hover .settings-list-arrow,
.settings-list-link:focus-visible .settings-list-arrow { color: var(--adrecom-blue); transform: translateX(.15rem); }

.settings-list-icon {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    color: var(--adrecom-blue);
    background: var(--adrecom-blue-soft);
    border-radius: .72rem;
    place-items: center;
}

.settings-list-copy { display: grid; min-width: 0; gap: .15rem; }
.settings-list-copy strong { color: var(--adrecom-ink); font-size: .94rem; }
.settings-list-copy span { color: var(--adrecom-muted); font-size: .82rem; }
.settings-list-arrow { color: #8ca0b5; font-size: .8rem; }

/* Administrator accounts */
.admin-page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.admin-accounts-shell,
.admin-account-form-layout {
    width: min(100%, 72rem);
    margin-inline: auto;
}

.admin-accounts-panel {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgb(23 73 114 / 9%);
    border-radius: 1rem;
    box-shadow: 0 .8rem 2.2rem rgb(23 43 77 / 8%);
}

.admin-accounts-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.4rem;
    border-bottom: 1px solid var(--adrecom-border);
}

.admin-accounts-panel-heading h2 { margin: 0; font-size: 1.08rem; font-weight: 760; }
.admin-accounts-panel-heading p { margin: .2rem 0 0; color: var(--adrecom-muted); font-size: .8rem; }

.admin-account-row {
    display: grid;
    grid-template-columns: minmax(14rem, 1.35fr) minmax(13rem, 1fr) minmax(10rem, .85fr) auto;
    align-items: center;
    gap: 1.1rem;
    padding: 1rem 1.4rem;
    border-bottom: 1px solid var(--adrecom-border);
}

.admin-account-row:last-child { border-bottom: 0; }

.admin-account-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .8rem;
}

.admin-account-avatar {
    display: grid;
    width: 2.85rem;
    height: 2.85rem;
    flex: 0 0 2.85rem;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(145deg, var(--adrecom-blue), var(--adrecom-blue-dark));
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 .25rem .7rem rgb(23 73 114 / 18%);
    font-weight: 750;
    place-items: center;
}

.admin-account-avatar img { width: 100%; height: 100%; object-fit: cover; }
.account-avatar-current { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-bottom: .9rem; padding: .75rem; background: #f7faf8; border: 1px solid var(--adrecom-border); border-radius: .75rem; }
.account-avatar-current-image { width: 3.4rem; height: 3.4rem; flex-basis: 3.4rem; }
.account-avatar-current-copy { display: grid; min-width: 0; flex: 1; gap: .12rem; }
.account-avatar-current-copy strong { color: var(--adrecom-ink); font-size: .86rem; }
.account-avatar-current-copy small { color: var(--adrecom-muted); font-size: .75rem; line-height: 1.35; }
.account-avatar-remove { display: inline-flex; align-items: center; gap: .38rem; padding: .42rem .62rem; color: #a53b32; background: #fff; border: 1px solid #e6c1bd; border-radius: .55rem; font-size: .74rem; font-weight: 700; }
.account-avatar-remove:hover,.account-avatar-remove:focus-visible { color: #fff; background: #a53b32; border-color: #a53b32; }
.admin-account-name { display: grid; min-width: 0; gap: .1rem; }
.admin-account-name strong { overflow: hidden; color: var(--adrecom-ink); font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-account-name > span { overflow: hidden; color: var(--adrecom-muted); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }

.admin-you-badge {
    flex: 0 0 auto;
    padding: .2rem .45rem;
    color: var(--adrecom-blue-dark);
    background: var(--adrecom-blue-soft);
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 750;
}

.admin-account-meta { display: grid; min-width: 0; gap: .15rem; color: var(--adrecom-ink); font-size: .8rem; overflow-wrap: anywhere; }
.admin-account-meta-label { color: var(--adrecom-muted); font-size: .68rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }

.admin-account-actions { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; }
.admin-account-actions form { margin: 0; }
.admin-account-actions .btn,
.admin-back-button {
    display: inline-flex;
    min-height: 2.4rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .45rem .65rem;
    border-radius: .55rem;
    font-size: .76rem;
    font-weight: 700;
}

.admin-account-edit,
.admin-back-button,
.admin-secondary-action { color: var(--adrecom-blue-dark); background: var(--adrecom-blue-soft); border: 1px solid #b9d0e2; }
.admin-account-edit:hover,
.admin-account-edit:focus-visible,
.admin-back-button:hover,
.admin-back-button:focus-visible,
.admin-secondary-action:hover,
.admin-secondary-action:focus-visible { color: #fff; background: var(--adrecom-blue); border-color: var(--adrecom-blue); }
.admin-account-delete { color: #a53b32; background: #fff; border: 1px solid #e6c1bd; }
.admin-account-delete:hover,
.admin-account-delete:focus-visible { color: #fff; background: #a53b32; border-color: #a53b32; }

.admin-alert-warning {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    color: #7a4b00;
    background: #fff6df;
    border: 1px solid #eed394;
}

.admin-danger-card { border-color: #e7c3bf; }
.admin-danger-card .profile-card-icon { color: #a53b32; background: #fbeceb; }
.admin-danger-body { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.admin-danger-body p { margin: 0; color: var(--adrecom-muted); font-size: .84rem; }
.admin-danger-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .6rem .85rem;
    color: #fff;
    white-space: nowrap;
    background: #a53b32;
    border: 1px solid #a53b32;
    border-radius: .6rem;
    font-size: .8rem;
    font-weight: 700;
}
.admin-danger-button:hover,
.admin-danger-button:focus-visible { color: #fff; background: #812a23; border-color: #812a23; }

/* SMTP settings */
.smtp-settings-shell { width: min(100%, 72rem); margin-inline: auto; }
.smtp-settings-card { overflow: visible; }
.admin-form-card-header { flex-wrap: wrap; }
.admin-form-heading-copy { min-width: 0; }
.admin-form-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .45rem; margin-left: auto; }
.admin-form-actions .admin-compact-action {
    display: inline-flex;
    min-height: 2.2rem;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .38rem .65rem;
    border-radius: .5rem;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}
.smtp-form-grid { align-items: start; }
.smtp-settings-card .form-select { min-height: 3rem; color: var(--adrecom-ink); border: 0; box-shadow: none; }
.smtp-settings-card .form-select:focus { box-shadow: none; }
.smtp-preset-panel {
    display: grid;
    grid-template-columns: 2.8rem minmax(12rem, 1fr) minmax(22rem, .9fr);
    align-items: center;
    gap: .9rem 1rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: linear-gradient(115deg, var(--adrecom-blue-soft), #f8fbfe);
    border: 1px solid #bfd5e6;
    border-radius: .8rem;
}
.smtp-preset-icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    color: #fff;
    background: linear-gradient(145deg, var(--adrecom-blue), var(--adrecom-blue-dark));
    border-radius: .7rem;
    place-items: center;
}
.smtp-preset-copy h3 { margin: 0; color: var(--adrecom-ink); font-size: .94rem; font-weight: 760; }
.smtp-preset-copy p { margin: .2rem 0 0; color: var(--adrecom-muted); font-size: .76rem; line-height: 1.45; }
.smtp-preset-controls { display: flex; align-items: stretch; gap: .55rem; }
.smtp-preset-controls .form-select { min-width: 0; background-color: #fff; border: 1px solid #aec8dc; border-radius: .58rem; }
.smtp-preset-apply {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding-inline: .8rem;
    color: #fff;
    white-space: nowrap;
    background: var(--adrecom-blue);
    border: 0;
    border-radius: .58rem;
    font-size: .78rem;
    font-weight: 700;
}
.smtp-preset-apply:hover,
.smtp-preset-apply:focus-visible { color: #fff; background: var(--adrecom-blue-dark); }
.smtp-preset-feedback {
    min-height: 1rem;
    grid-column: 2 / -1;
    margin: -.45rem 0 0;
    color: var(--adrecom-blue-dark);
    font-size: .73rem;
    font-weight: 650;
}
.smtp-input-suffix {
    width: auto !important;
    padding-inline: .8rem;
    color: var(--adrecom-muted) !important;
    background: #fff !important;
    border-left: 1px solid var(--adrecom-border) !important;
    border-radius: 0 .65rem .65rem 0 !important;
    font-size: .78rem;
}
.smtp-credential-disabled { color: #7f8da0 !important; background: #eef2f6 !important; }
.smtp-security-note { margin: 1.35rem 0 0; color: var(--adrecom-muted); font-size: .78rem; }
.smtp-security-note i { margin-right: .3rem; color: var(--adrecom-blue); }
.smtp-test-card { margin-top: 1.25rem; }
.smtp-test-note {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin: 0 0 1rem;
    color: var(--adrecom-muted);
    font-size: .78rem;
    line-height: 1.5;
}
.smtp-test-note i { margin-top: .18rem; color: var(--adrecom-blue); }
.smtp-test-form {
    display: grid;
    grid-template-columns: minmax(15rem, 1fr) auto;
    align-items: end;
    gap: 1rem;
}
.smtp-test-recipient { margin: 0; }
.smtp-test-button { min-height: 3rem; white-space: nowrap; }
.smtp-mailpit-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: 1rem;
    color: var(--adrecom-blue-dark);
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
}
.smtp-mailpit-link:hover,
.smtp-mailpit-link:focus-visible { color: var(--adrecom-blue); text-decoration: underline; }
.smtp-mailpit-link .fa-arrow-up-right-from-square { font-size: .68rem; }

/* Confirmation settings */
.confirmation-shell { width: min(100%, 78rem); margin-inline: auto; }
.confirmation-form-shell { width: min(100%, 74rem); }
.confirmation-list-card { overflow: hidden; }
.confirmation-list { display: grid; }
.confirmation-row {
    display: grid;
    grid-template-columns: minmax(15rem, 1.2fr) minmax(28rem, 1.7fr) auto;
    align-items: center;
    gap: 1.2rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--adrecom-border);
}
.confirmation-main { display: flex; min-width: 0; align-items: center; gap: .85rem; }
.confirmation-type-icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
    color: var(--adrecom-blue-dark);
    background: var(--adrecom-blue-soft);
    border-radius: .72rem;
    place-items: center;
}
.confirmation-main > div { min-width: 0; }
.confirmation-name-line { display: flex; min-width: 0; align-items: center; gap: .55rem; }
.confirmation-name-line h3 { overflow: hidden; margin: 0; font-size: .9rem; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.confirmation-main p { overflow: hidden; margin: .22rem 0 0; color: var(--adrecom-muted); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.confirmation-status { padding: .16rem .42rem; border-radius: 999px; font-size: .63rem; font-weight: 780; letter-spacing: .02em; text-transform: uppercase; }
.confirmation-status.is-enabled { color: #216842; background: #e4f5eb; }
.confirmation-status.is-disabled { color: #687487; background: #edf0f4; }
.confirmation-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.confirmation-meta div { min-width: 0; }
.confirmation-meta dt { margin-bottom: .15rem; color: #8491a3; font-size: .62rem; font-weight: 760; letter-spacing: .045em; text-transform: uppercase; }
.confirmation-meta dd { overflow: hidden; margin: 0; color: var(--adrecom-ink); font-size: .75rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.confirmation-actions { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; }
.confirmation-actions .btn { display: inline-flex; align-items: center; gap: .35rem; padding: .48rem .65rem; font-size: .74rem; font-weight: 700; }
.confirmation-empty { padding: 3.5rem 1.5rem; text-align: center; }
.confirmation-empty > span { display: grid; width: 4rem; height: 4rem; margin: 0 auto 1rem; color: var(--adrecom-blue); background: var(--adrecom-blue-soft); border-radius: 1rem; font-size: 1.4rem; place-items: center; }
.confirmation-empty h3 { margin: 0; font-size: 1rem; font-weight: 760; }
.confirmation-empty p { max-width: 30rem; margin: .4rem auto 1.1rem; color: var(--adrecom-muted); font-size: .8rem; }
.confirmation-form { display: grid; gap: 1.25rem; }
.confirmation-form .profile-card { margin: 0; }
.confirmation-form-grid { align-items: start; }
.confirmation-form-grid .form-select { min-height: 3rem; border: 0; box-shadow: none; }
.confirmation-form-grid .form-select:focus { box-shadow: none; }
.confirmation-switches { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.confirmation-switch {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .9rem 1rem;
    cursor: pointer;
    background: #f8fafc;
    border: 1px solid var(--adrecom-border);
    border-radius: .7rem;
}
.confirmation-switch .form-check-input { flex: 0 0 auto; margin-top: .18rem; }
.confirmation-switch span { display: grid; gap: .08rem; }
.confirmation-switch strong { color: var(--adrecom-ink); font-size: .8rem; }
.confirmation-switch small { color: var(--adrecom-muted); font-size: .72rem; }
.confirmation-template-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.confirmation-template-main { grid-column: 1 / -1; }
.confirmation-item-template-toggle { grid-column: 1 / -1; }
.confirmation-item-template-toggle .confirmation-switch { max-width: 32rem; }
.confirmation-item-template-panel { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.confirmation-item-template-panel[hidden] { display: none; }
.confirmation-code-field { min-height: 8rem; padding: .75rem; border: 1px solid var(--adrecom-border) !important; border-radius: .65rem !important; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .78rem; line-height: 1.5; }
.confirmation-form-actions { margin: 0; padding: 0 0 1.5rem; }

/* General settings */
.general-settings-shell { width: min(100%, 74rem); margin-inline: auto; }
.general-heading-actions { display: flex; align-items: center; gap: .65rem; }
.general-heading-actions .btn { min-height: 2.8rem; }
.general-settings-form { display: grid; gap: 1.25rem; }
.general-settings-form .profile-card { margin: 0; }
.general-identity-grid { display: grid; grid-template-columns: minmax(18rem, .75fr) minmax(26rem, 1.25fr); align-items: start; gap: 1.5rem; }
.general-logo-panel { display: grid; grid-template-columns: 7rem minmax(0, 1fr); align-items: center; gap: 1rem; padding: 1rem; background: #f8fafc; border: 1px solid var(--adrecom-border); border-radius: .8rem; }
.general-logo-preview { display: grid; width: 7rem; height: 7rem; overflow: hidden; background: #fff; border: 1px solid var(--adrecom-border); border-radius: .75rem; place-items: center; }
.general-logo-preview img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.general-logo-preview span { color: #91a0b3; font-size: 1.55rem; }
.general-logo-field { min-width: 0; margin: 0; }
.general-logo-field .form-control { padding: .55rem; background: #fff; border: 1px solid var(--adrecom-border); border-radius: .6rem; }
.general-logo-current { margin: .5rem 0 0; color: #28734b; font-size: .7rem; font-weight: 650; }
.general-logo-current i { margin-right: .25rem; }
.general-logo-selected { margin: .5rem 0 0; color: var(--adrecom-blue-dark); font-size: .7rem; font-weight: 700; }
.general-logo-remove {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .6rem;
    padding: .42rem .65rem;
    color: #a53b32;
    background: #fff;
    border: 1px solid #e6c1bd;
    border-radius: .55rem;
    font-size: .72rem;
    font-weight: 700;
}
.general-logo-remove:hover,
.general-logo-remove:focus-visible { color: #fff; background: #a53b32; border-color: #a53b32; }
.general-company-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.general-address-grid .form-select { min-height: 3rem; border: 0; box-shadow: none; }
.general-address-grid .form-select:focus { box-shadow: none; }

/* Companies */
.company-page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.admin-page-actions { display: flex; align-items: center; gap: .65rem; }

.admin-total-badge {
    display: inline-flex;
    min-height: 2.55rem;
    align-items: center;
    gap: .5rem;
    padding: .55rem .8rem;
    color: var(--adrecom-blue-dark);
    background: var(--adrecom-blue-soft);
    border: 1px solid #c8ddeb;
    border-radius: .7rem;
    font-size: .78rem;
    font-weight: 750;
}

.admin-list-shell { width: min(100%, 88rem); margin-inline: auto; }
.admin-form-shell { width: min(100%, 74rem); margin-inline: auto; }
.admin-form-shell.admin-account-form-shell { width: 100%; max-width: none; }
.admin-form { display: grid; gap: 1.25rem; }
.admin-form .profile-card { width: 100%; max-width: none; margin: 0; }
.registration-request-card .profile-card-header .admin-status { margin-left: auto; }
.registration-request-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin: 0; }
.registration-request-details > div { min-width: 0; padding: .95rem 1rem; border: 1px solid #d9e0e8; border-radius: .45rem; background: #f8fafc; }
.registration-request-details dt { margin: 0 0 .25rem; color: var(--adrecom-muted); font-size: .72rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.registration-request-details dd { margin: 0; color: var(--adrecom-ink); line-height: 1.55; overflow-wrap: anywhere; white-space: pre-line; }
.registration-request-detail-wide { grid-column: 1 / -1; }
.admin-form-grid .form-select { min-height: 3rem; border: 0; box-shadow: none; }
.admin-form-grid .form-select:focus { box-shadow: none; }
.material-current-file {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem .65rem;
    margin: 0 0 .55rem;
    color: var(--adrecom-muted);
    font-size: .78rem;
}
.material-current-file strong { color: var(--adrecom-ink); }
.material-current-file-link {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: .4rem;
    color: var(--adrecom-blue-dark);
    font-weight: 700;
    text-decoration: none;
}
.material-current-file-link:hover,
.material-current-file-link:focus-visible { color: var(--adrecom-blue); text-decoration: underline; }
.admin-active-panel { max-width: 32rem; }
.profile-card label.admin-account-toggle {
    display: inline-flex;
    align-items: center;
    grid-template-columns: none;
    gap: .5rem;
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
}
.admin-account-toggle-input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.admin-account-toggle-input:checked + .knowledge-editor-toggle-track { background: var(--adrecom-blue); }
.admin-account-toggle-input:checked + .knowledge-editor-toggle-track > span { transform: translateX(.93rem); }
.admin-account-toggle-input:focus-visible + .knowledge-editor-toggle-track { outline: 3px solid rgba(29, 124, 184, .22); outline-offset: 2px; }
.admin-account-toggle > strong { color: var(--adrecom-ink); font-size: .8rem; white-space: nowrap; }
.admin-form-header-active { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; }
.account-client-picker { position: relative; }
.account-client-selector {
    display: flex;
    min-height: 3.15rem;
    align-items: center;
    gap: .7rem;
    padding: .45rem;
    background: #fff;
    border: 1px solid var(--adrecom-border);
    border-radius: .72rem;
    box-shadow: 0 .1rem .25rem rgb(23 43 77 / 3%);
}
.account-client-selector.is-invalid {
    border-color: #c64b42;
    box-shadow: 0 0 0 .18rem rgb(198 75 66 / 10%);
}
.account-client-selection { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; padding-left: .35rem; }
.account-client-selection .knowledge-picker-chips { margin: 0; }
.account-client-empty { color: var(--adrecom-muted); font-size: .82rem; }
.account-client-empty[hidden] { display: none; }
.account-client-open { min-height: 2.35rem; flex: none; gap: .45rem; }
.account-client-native-select { display: none; }
.account-client-dialog-search {
    display: flex;
    align-items: center;
    margin: .9rem 1rem 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--adrecom-border);
    border-radius: .65rem;
}
.account-client-dialog-search > span { display: grid; width: 2.8rem; flex: 0 0 2.8rem; color: var(--adrecom-blue); place-items: center; }
.account-client-dialog-search .form-control { min-height: 2.8rem; padding-left: 0; border: 0; box-shadow: none; }
.account-client-options { display: grid; gap: .45rem; }
.account-client-options.is-empty::after {
    display: block;
    padding: 1.4rem;
    color: var(--adrecom-muted);
    content: attr(data-empty-message);
    background: #f8fafc;
    border: 1px dashed var(--adrecom-border);
    border-radius: .65rem;
    text-align: center;
}
.account-client-option {
    display: flex;
    min-height: 3.4rem;
    align-items: center;
    gap: .75rem;
    padding: .65rem .75rem;
    cursor: pointer;
    background: #fff;
    border: 1px solid var(--adrecom-border);
    border-radius: .65rem;
    transition: border-color .14s ease, background-color .14s ease;
}
.account-client-option[hidden] { display: none; }
.account-client-option:hover { background: #f3f8fb; border-color: #b9d5e8; }
.account-client-option input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.account-client-option-marker {
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 1.35rem;
    color: transparent;
    background: #fff;
    border: 1px solid #b9c8d5;
    border-radius: .35rem;
    font-size: .68rem;
    place-items: center;
}
.account-client-option input:checked + .account-client-option-marker { color: #fff; background: var(--adrecom-blue); border-color: var(--adrecom-blue); }
.account-client-option input:focus-visible + .account-client-option-marker { outline: 3px solid rgba(29, 124, 184, .22); outline-offset: 2px; }
.account-client-option > span:last-child { display: grid; gap: .08rem; }
.account-client-option strong { color: var(--adrecom-ink); font-size: .82rem; }
.account-client-option small { color: var(--adrecom-muted); font-size: .68rem; }
.admin-filter-bar {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: 1rem;
    padding: .8rem;
    background: #fff;
    border: 1px solid rgb(23 73 114 / 9%);
    border-radius: .85rem;
    box-shadow: 0 .35rem 1.2rem rgb(23 43 77 / 5%);
}

.admin-search-field {
    display: flex;
    min-width: 16rem;
    flex: 1 1 28rem;
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--adrecom-border);
    border-radius: .62rem;
}

.admin-search-field:focus-within { border-color: var(--adrecom-blue); box-shadow: 0 0 0 .2rem rgb(54 126 183 / 12%); }
.admin-search-field > span { display: grid; width: 2.75rem; flex: 0 0 2.75rem; color: #8190a4; place-items: center; }
.admin-search-field .form-control { min-height: 2.75rem; padding-left: 0; border: 0; box-shadow: none; font-size: .82rem; }
.admin-filter-field { flex: 0 0 10.5rem; }
.admin-filter-field .form-select { min-height: 2.75rem; border-color: var(--adrecom-border); border-radius: .62rem; font-size: .8rem; }
.admin-filter-button,
.admin-empty-action {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    padding: .55rem .9rem;
    color: #fff;
    white-space: nowrap;
    background: var(--adrecom-blue);
    border: 1px solid var(--adrecom-blue);
    border-radius: .62rem;
    font-size: .78rem;
    font-weight: 750;
}
.admin-filter-button:hover,
.admin-filter-button:focus-visible,
.admin-empty-action:hover,
.admin-empty-action:focus-visible { color: #fff; background: var(--adrecom-blue-dark); border-color: var(--adrecom-blue-dark); }
.admin-clear-filters { padding: .45rem .25rem; color: var(--adrecom-muted); font-size: .76rem; font-weight: 700; text-decoration: none; }
.admin-clear-filters:hover,
.admin-clear-filters:focus-visible { color: var(--adrecom-blue-dark); text-decoration: underline; }

.admin-list-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgb(23 73 114 / 9%);
    border-radius: 1rem;
    box-shadow: 0 .8rem 2.2rem rgb(23 43 77 / 8%);
}
.admin-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.3rem; border-bottom: 1px solid var(--adrecom-border); }
.admin-list-heading h2 { margin: 0; font-size: 1.05rem; font-weight: 760; }
.admin-list-heading p { margin: .18rem 0 0; color: var(--adrecom-muted); font-size: .76rem; }
.admin-list-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: .55rem; }
.admin-list-actions .admin-primary-action {
    min-height: 2.45rem;
    gap: .42rem;
    padding: .45rem .72rem;
    border-radius: .56rem;
    font-size: .74rem;
}
.admin-danger-action {
    display: inline-flex;
    min-height: 2.45rem;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    padding: .45rem .72rem;
    color: #9b352e;
    background: #fff;
    border: 1px solid #d9aaa6;
    border-radius: .56rem;
    font-size: .74rem;
    font-weight: 750;
    white-space: nowrap;
}
.admin-danger-action:hover,
.admin-danger-action:focus-visible { color: #fff; background: #9b352e; border-color: #9b352e; }
.admin-danger-action:disabled { color: #9ca5b1; background: #f4f6f8; border-color: #dce1e7; opacity: 1; cursor: not-allowed; }
.admin-selected-count { display: inline-grid; min-width: 1.2rem; height: 1.2rem; padding: 0 .28rem; color: inherit; background: rgb(155 53 46 / 10%); border-radius: 999px; font-size: .64rem; place-items: center; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; min-width: 68rem; border-collapse: collapse; }
.admin-table th {
    padding: .72rem 1rem;
    color: #748297;
    background: #f8fafc;
    border-bottom: 1px solid var(--adrecom-border);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-align: left;
    text-transform: uppercase;
}
.admin-table td { padding: .9rem 1rem; color: var(--adrecom-ink); border-bottom: 1px solid var(--adrecom-border); font-size: .78rem; vertical-align: middle; }
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table-row { transition: background-color .15s; }
.admin-table-row:hover { background: #fbfdff; }
.admin-sort-link { display: inline-flex; align-items: center; gap: .38rem; color: inherit; text-decoration: none; }
.admin-sort-link i { color: #91a0b3; font-size: .62rem; }
.admin-sort-link:hover,
.admin-sort-link:focus-visible { color: var(--adrecom-blue-dark); }
.admin-actions-column {
    position: sticky;
    z-index: 2;
    right: 0;
    background: #f8fafc !important;
    box-shadow: -.65rem 0 .8rem -.8rem rgb(23 43 77 / 28%);
    text-align: right !important;
}
.admin-actions-cell {
    position: sticky;
    z-index: 1;
    right: 0;
    background: #fff;
    box-shadow: -.65rem 0 .8rem -.8rem rgb(23 43 77 / 28%);
}
.admin-table-row:hover .admin-actions-cell { background: #fbfdff; }
.admin-selection-column { width: 3rem; padding-right: .35rem !important; padding-left: 1rem !important; text-align: center !important; }
.admin-selection-checkbox { width: 1rem; height: 1rem; margin: 0; accent-color: var(--adrecom-blue); cursor: pointer; }
.admin-selection-checkbox:focus-visible { outline: 3px solid rgb(54 126 183 / 22%); outline-offset: 2px; }
.admin-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; }
.admin-row-delete-form { margin: 0; }
.admin-row-action { display: inline-flex; min-height: 2.2rem; align-items: center; justify-content: center; gap: .35rem; padding: .38rem .58rem; border-radius: .5rem; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.admin-row-edit { color: var(--adrecom-blue-dark); background: var(--adrecom-blue-soft); border: 1px solid #b9d0e2; }
.admin-row-edit:hover,
.admin-row-edit:focus-visible { color: #fff; background: var(--adrecom-blue); border-color: var(--adrecom-blue); }
.admin-row-delete { color: #9b352e; background: #fff4f3; border: 1px solid #e1bbb7; }
.admin-row-delete:hover,
.admin-row-delete:focus-visible { color: #fff; background: #9b352e; border-color: #9b352e; }
.admin-record-identity { display: flex; min-width: 13rem; align-items: center; gap: .7rem; }
.admin-record-avatar {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 2.6rem;
    color: #fff;
    background: linear-gradient(145deg, var(--adrecom-blue), var(--adrecom-blue-dark));
    border-radius: .7rem;
    box-shadow: 0 .2rem .55rem rgb(23 73 114 / 16%);
    font-size: .9rem;
    font-weight: 800;
    place-items: center;
}
.admin-record-identity > span:last-child { display: grid; min-width: 0; gap: .12rem; }
.material-file-link { color: var(--adrecom-blue-dark); font-weight: 750; text-decoration: none; }
.material-file-link:hover,
.material-file-link:focus-visible { color: var(--adrecom-blue); text-decoration: underline; }
.admin-record-identity strong { overflow: hidden; max-width: 16rem; font-size: .82rem; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.admin-record-identity small { overflow: hidden; max-width: 16rem; color: var(--adrecom-muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.company-client-name { font-weight: 650; }
.company-contact { display: grid; gap: .23rem; }
.company-contact a { display: inline-flex; max-width: 14rem; align-items: center; gap: .38rem; overflow: hidden; color: var(--adrecom-ink); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.company-contact a:hover,
.company-contact a:focus-visible { color: var(--adrecom-blue-dark); text-decoration: underline; }
.company-contact i { width: .85rem; color: #8291a4; text-align: center; }
.company-website { display: inline-flex; max-width: 14rem; align-items: center; gap: .35rem; color: var(--adrecom-blue-dark); text-decoration: none; }
.company-website span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.company-website i { flex: 0 0 auto; font-size: .62rem; }
.company-website:hover,
.company-website:focus-visible { color: var(--adrecom-blue); text-decoration: underline; }
.admin-empty-value { color: #929eae; }
.admin-status { display: inline-flex; align-items: center; gap: .38rem; padding: .28rem .55rem; border-radius: 999px; font-size: .68rem; font-weight: 750; }
.admin-status > span { width: .42rem; height: .42rem; border-radius: 50%; }
.admin-status--active { color: #216842; background: #e4f5eb; }
.admin-status--active > span { background: #35a367; }
.admin-status--inactive { color: #687487; background: #edf0f4; }
.admin-status--inactive > span { background: #909bab; }
.admin-status--open { color: #245d8c; background: #e6f1fb; }
.admin-status--open > span { background: #3c8dcc; }
.admin-status--in_progress { color: #6b4d12; background: #fff2ce; }
.admin-status--in_progress > span { background: #dba62f; }
.admin-status--waiting { color: #74451e; background: #fbe9dc; }
.admin-status--waiting > span { background: #c77b3d; }
.admin-status--resolved { color: #216842; background: #e4f5eb; }
.admin-status--resolved > span { background: #35a367; }
.admin-status--closed { color: #687487; background: #edf0f4; }
.admin-status--closed > span { background: #909bab; }
.admin-updated { color: var(--adrecom-muted); white-space: nowrap; }
.client-type { display: grid; gap: .12rem; }
.client-type strong { font-size: .78rem; font-weight: 700; }
.client-type small { color: var(--adrecom-muted); font-size: .66rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.client-reference { color: var(--adrecom-blue-deep); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .74rem; font-weight: 700; }
.client-localization { display: grid; gap: .16rem; }
.client-localization strong { font-size: .76rem; font-weight: 700; }
.client-localization small { color: var(--adrecom-muted); font-size: .68rem; }

.admin-empty-state { padding: 4rem 1.5rem; text-align: center; }
.admin-empty-state-icon { display: grid; width: 4.2rem; height: 4.2rem; margin: 0 auto 1rem; color: var(--adrecom-blue); background: var(--adrecom-blue-soft); border-radius: 1rem; font-size: 1.45rem; place-items: center; }
.admin-empty-state h3 { margin: 0; font-size: 1rem; font-weight: 760; }
.admin-empty-state p { max-width: 31rem; margin: .4rem auto 1rem; color: var(--adrecom-muted); font-size: .8rem; }
.admin-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border-top: 1px solid var(--adrecom-border); }
.admin-page-link,
.admin-page-number { display: inline-flex; min-height: 2.25rem; align-items: center; justify-content: center; color: var(--adrecom-blue-dark); border: 1px solid var(--adrecom-border); border-radius: .52rem; font-size: .72rem; font-weight: 700; text-decoration: none; }
.admin-page-link { gap: .38rem; padding: .4rem .65rem; }
.admin-page-numbers { display: flex; gap: .35rem; }
.admin-page-number { min-width: 2.25rem; padding: .35rem; }
.admin-page-link:hover,
.admin-page-link:focus-visible,
.admin-page-number:hover,
.admin-page-number:focus-visible,
.admin-page-number.is-current { color: #fff; background: var(--adrecom-blue); border-color: var(--adrecom-blue); }
.admin-page-link.is-disabled { color: #9aa5b4; background: #f5f7f9; }

.manage-app .app-footer {
    color: var(--adrecom-muted);
    background: #fff;
    border-top-color: var(--adrecom-border);
    font-size: .82rem;
}

@media (max-width: 575.98px) {
    .login-shell { align-items: start; padding: 1rem; }
    .login-card { margin-top: 4vh; border-radius: 1rem; }
    .login-brand { min-height: 5rem; padding: 1rem 1.35rem; }
    .login-brand-product { margin-bottom: .95rem; }
    .welcome-panel { min-height: 22rem; border-radius: 1rem; }
    .welcome-decoration span:nth-child(2),
    .welcome-decoration span:nth-child(3) { display: none; }
    .manage-header-start { gap: .5rem; }
    .manage-header-breadcrumbs .breadcrumb { max-width: 12rem; font-size: .76rem; }
    .profile-form-grid { grid-template-columns: 1fr; }
    .profile-field-wide { grid-column: auto; }
    .profile-form-actions { justify-content: stretch; }
    .profile-primary-button,
    .admin-primary-action { width: 100%; }
    .profile-summary-card { position: relative; top: auto; padding-inline: 1.25rem; }
    .avatar-crop-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
    .avatar-crop-workspace { min-height: 16rem; }
    .avatar-crop-toolbar .btn span { display: none; }
    .avatar-crop-dialog-actions { align-items: stretch; flex-direction: column-reverse; }
    .avatar-crop-dialog-actions .btn { width: 100%; }
    .avatar-crop-dialog-error { order: 1; margin: 0; text-align: center; }
    .settings-panel-heading { padding: 1.2rem 1rem .9rem; }
    .settings-list-item {
        min-height: 4.35rem;
        grid-template-columns: 2.45rem minmax(0, 1fr) auto;
        gap: .75rem;
        padding: .8rem 1rem;
    }
    .settings-list-icon { width: 2.45rem; height: 2.45rem; }
    .settings-list-copy span { font-size: .76rem; }
    .admin-page-heading { align-items: stretch; flex-direction: column; }
    .admin-page-heading > .btn { width: 100%; }
    .admin-account-row {
        grid-template-columns: 1fr;
        gap: .8rem;
        padding: 1rem;
    }
    .admin-account-meta { padding-left: 3.65rem; }
    .admin-account-actions { justify-content: stretch; padding-top: .25rem; }
    .admin-account-actions > *,
    .admin-account-actions .btn { flex: 1 1 0; width: 100%; }
    .admin-danger-body { align-items: stretch; flex-direction: column; }
    .admin-danger-button { width: 100%; }
    .smtp-preset-panel { grid-template-columns: 2.5rem minmax(0, 1fr); padding: .9rem; }
    .admin-form-card-header { align-items: flex-start; }
    .admin-form-heading-copy { flex: 1 1 calc(100% - 3.6rem); }
    .admin-form-actions { width: 100%; margin-left: 0; padding-left: 0; flex-wrap: wrap; }
    .admin-form-actions .btn { width: 100%; min-width: 0; flex: 1 1 8.5rem; }
    .registration-request-card .profile-card-header { align-items: flex-start; flex-wrap: wrap; }
    .registration-request-card .profile-card-header > div { min-width: 0; flex: 1 1 calc(100% - 3.6rem); }
    .registration-request-card .profile-card-header .admin-status { flex: 0 0 auto; margin-left: 3.6rem; }
    .registration-request-details { grid-template-columns: 1fr; }
    .registration-request-detail-wide { grid-column: auto; }
    .smtp-preset-icon { width: 2.5rem; height: 2.5rem; }
    .smtp-preset-controls,
    .smtp-preset-feedback { grid-column: 1 / -1; }
    .smtp-preset-controls { align-items: stretch; flex-direction: column; }
    .smtp-preset-apply { min-height: 2.8rem; width: 100%; }
    .smtp-preset-feedback { margin: 0; text-align: center; }
    .smtp-test-form { grid-template-columns: 1fr; }
    .smtp-test-button { width: 100%; }
    .confirmation-row { grid-template-columns: 1fr; gap: .85rem; padding: 1rem; }
    .confirmation-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 3.65rem; }
    .confirmation-actions { justify-content: stretch; }
    .confirmation-actions > *,
    .confirmation-actions .btn { flex: 1 1 0; width: 100%; }
    .confirmation-switches,
    .confirmation-template-grid,
    .confirmation-item-template-panel { grid-template-columns: 1fr; }
    .confirmation-template-main { grid-column: auto; }
    .confirmation-form-actions { align-items: stretch; flex-direction: column-reverse; }
    .confirmation-form-actions .btn { width: 100%; }
    .general-identity-grid { grid-template-columns: 1fr; }
    .general-logo-panel { grid-template-columns: 5rem minmax(0, 1fr); padding: .85rem; }
    .general-logo-preview { width: 5rem; height: 5rem; }
    .general-heading-actions { align-items: stretch; flex-direction: column-reverse; }
    .general-heading-actions .btn { width: 100%; }
    .general-company-fields { grid-template-columns: 1fr; }
    .admin-page-actions { width: 100%; align-items: stretch; flex-direction: column; }
    .admin-page-actions .admin-primary-action { width: 100%; }
    .admin-filter-bar { align-items: stretch; flex-direction: column; }
    .admin-search-field,
    .admin-filter-field { width: 100%; min-width: 0; flex-basis: auto; }
    .admin-clear-filters { text-align: center; }
    .admin-list-heading { align-items: stretch; flex-direction: column; padding-inline: 1rem; }
    .admin-list-actions { width: 100%; }
    .admin-list-actions .btn { width: 100%; }
    .admin-pagination { flex-wrap: wrap; justify-content: center; }
    .admin-page-link { flex: 1 1 7rem; }
    .admin-page-numbers { order: -1; width: 100%; justify-content: center; }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .smtp-preset-panel { grid-template-columns: 2.8rem minmax(0, 1fr); }
    .smtp-preset-controls,
    .smtp-preset-feedback { grid-column: 2; }
}

@media (min-width: 576px) and (max-width: 1199.98px) {
    .admin-account-row { grid-template-columns: minmax(14rem, 1.2fr) minmax(13rem, 1fr) auto; }
    .admin-account-row .admin-account-meta:nth-of-type(3) { display: none; }
    .confirmation-row { grid-template-columns: minmax(15rem, 1fr) minmax(21rem, 1.35fr) auto; }
    .confirmation-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .general-identity-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Knowledge */
.knowledge-sidebar-scope { display: contents; }
.manage-sidebar .sidebar-menu .knowledge-nav-children { display: block !important; height: auto !important; visibility: visible !important; padding: .15rem 0 .35rem 1rem; }
.knowledge-nav-children .nav-link { min-height: 2.35rem; font-size: .85rem; }
.knowledge-nav-children .nav-icon { font-size: .8rem !important; }
.nav-link-section { cursor: default; }
.knowledge-category-sidebar { display: flex; flex-direction: column; height: calc(100% - 4.15rem); padding: .8rem .65rem 1rem; overflow: hidden; }
.knowledge-category-sidebar[hidden] { display: none; }
.knowledge-sidebar-heading { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: center; padding: .45rem .35rem 1rem; border-bottom: 1px solid rgba(255,255,255,.14); }
.knowledge-sidebar-heading strong, .knowledge-sidebar-heading small { display: block; }
.knowledge-sidebar-heading strong { color: #fff; font-size: .9rem; }
.knowledge-sidebar-heading small { color: rgba(255,255,255,.62); margin-top: .12rem; font-size: .7rem; }
.knowledge-sidebar-back { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.2rem; padding: 0 .6rem; color: #fff; background: rgba(255,255,255,.1); border: 0; border-radius: .45rem; font-size: .75rem; }
.knowledge-category-sidebar > nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: .7rem 0; }
.knowledge-sidebar-all, .knowledge-sidebar-manage { display: flex; gap: .65rem; align-items: center; min-height: 2.55rem; padding: .55rem .7rem; color: rgba(255,255,255,.82); border-radius: .45rem; text-decoration: none; font-size: .83rem; }
.knowledge-sidebar-all:hover, .knowledge-sidebar-all.active, .knowledge-sidebar-manage:hover { color: #fff; background: rgba(255,255,255,.12); }
.knowledge-sidebar-manage { flex: none; margin-top: .35rem; border-top: 1px solid rgba(255,255,255,.14); border-radius: 0; }
.knowledge-tree { margin: 0; padding: 0; list-style: none; }
.knowledge-tree .knowledge-tree { margin-left: 1rem; border-left: 1px solid rgba(255,255,255,.14); }
.knowledge-tree-row { display: flex; align-items: center; gap: .3rem; min-height: 2.5rem; }
.knowledge-tree-toggle { display: inline-grid; place-items: center; flex: 0 0 1.8rem; width: 1.8rem; height: 1.8rem; padding: 0; color: rgba(255,255,255,.78); background: transparent; border: 0; border-radius: .35rem; font-size: .68rem; }
.knowledge-tree-toggle:hover { color: #fff; background: rgba(255,255,255,.1); }
.knowledge-tree-toggle--empty { pointer-events: none; }
.knowledge-tree-link { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; justify-content: space-between; gap: .4rem; padding: .4rem .45rem; color: rgba(255,255,255,.82); border-radius: .4rem; text-decoration: none; font-size: .8rem; }
.knowledge-tree-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-tree-link small { flex: none; color: rgba(255,255,255,.48); font-size: .65rem; }
.knowledge-tree-link:hover { color: #fff; background: rgba(255,255,255,.1); }
.knowledge-tree-error { margin: .3rem .4rem .5rem 2.1rem; color: #ffd5d5; font-size: .72rem; }
.knowledge-category-context { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 1rem; padding: .85rem 1rem; background: #eef7ff; border: 1px solid #cfe6fa; border-radius: .65rem; }
.knowledge-category-context span, .knowledge-category-context strong, .knowledge-category-context small { display: block; }
.knowledge-category-context span { color: var(--adrecom-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; }
.knowledge-category-context strong { color: var(--adrecom-ink); margin: .1rem 0; }
.knowledge-category-context small { color: var(--adrecom-muted); }
.knowledge-category-context > a { flex: none; font-size: .8rem; }
.knowledge-category-tags { display: flex; flex-wrap: wrap; gap: .3rem; min-width: 10rem; }
.knowledge-category-tags span { padding: .2rem .45rem; color: #1d5e8a; background: #e7f3fb; border-radius: 999px; font-size: .68rem; }
.knowledge-category-tags small { color: var(--adrecom-muted); }
.knowledge-picker { position: relative; }
.knowledge-picker > label { display: block; margin-bottom: .45rem; font-weight: 600; }
.knowledge-picker-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .55rem; }
.knowledge-picker-chips:empty { display: none; }
.knowledge-picker-chip { display: inline-flex; align-items: center; gap: .45rem; min-height: 2rem; padding: .3rem .6rem; color: #164d72; background: #e8f3fa; border: 1px solid #c7e1f1; border-radius: 999px; font-size: .78rem; }
.knowledge-picker-chip:hover { background: #d9ebf7; }
.knowledge-picker-search { max-width: 34rem; }
.knowledge-picker-results { position: absolute; z-index: 20; width: min(34rem,100%); max-height: 16rem; overflow-y: auto; margin-top: .25rem; padding: .35rem; color: var(--adrecom-muted); background: #fff; border: 1px solid var(--adrecom-border); border-radius: .55rem; box-shadow: 0 .65rem 1.5rem rgba(19,42,61,.14); font-size: .8rem; }
.knowledge-picker-result { display: flex; width: 100%; justify-content: space-between; align-items: center; padding: .55rem .65rem; color: var(--adrecom-ink); background: transparent; border: 0; border-radius: .4rem; text-align: left; }
.knowledge-picker-result:hover { background: #eff6fb; }
.knowledge-picker-result small { color: var(--adrecom-muted); }
.knowledge-rich-text-field { gap: 0; }
.knowledge-editor-label-row { display: flex; min-height: 2rem; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .45rem; }
.knowledge-editor-label-row > label:first-child { margin: 0; }
.knowledge-editor-toggle { display: inline-flex; align-items: center; gap: .5rem; padding: .15rem .1rem; color: var(--adrecom-muted); background: transparent; border: 0; border-radius: .35rem; font-size: .72rem; font-weight: 700; }
.knowledge-editor-toggle-track { position: relative; width: 2.15rem; height: 1.2rem; background: #abb5c2; border-radius: 999px; transition: background-color .16s ease; }
.knowledge-editor-toggle-track > span { position: absolute; top: .17rem; left: .18rem; width: .86rem; height: .86rem; background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(21, 45, 65, .28); transition: transform .16s ease; }
.knowledge-editor-toggle[aria-checked="true"] .knowledge-editor-toggle-track { background: var(--adrecom-blue); }
.knowledge-editor-toggle[aria-checked="true"] .knowledge-editor-toggle-track > span { transform: translateX(.93rem); }
.knowledge-editor-toggle:focus-visible .knowledge-editor-toggle-track { outline: 3px solid rgba(29, 124, 184, .22); outline-offset: 2px; }
.knowledge-rich-text-shell { overflow: hidden; background: #fff; border: 1px solid var(--adrecom-border); border-radius: .58rem; transition: border-color .15s ease, box-shadow .15s ease; }
.knowledge-rich-text-shell[hidden],
.knowledge-rich-text-source[hidden] { display: none !important; }
.knowledge-rich-text-shell.has-focus { border-color: var(--adrecom-blue); box-shadow: 0 0 0 .2rem rgba(29, 124, 184, .13); }
.knowledge-rich-text-toolbar { display: flex; min-height: 3rem; align-items: center; flex-wrap: wrap; gap: .42rem; padding: .45rem .55rem; background: #f7f9fb; border-bottom: 1px solid var(--adrecom-border); }
.knowledge-rich-text-group { display: inline-flex; align-items: center; gap: .15rem; padding-left: .42rem; border-left: 1px solid #dce2e7; }
.knowledge-rich-text-group button { display: inline-grid; width: 2rem; height: 2rem; padding: 0; color: #526577; background: transparent; border: 1px solid transparent; border-radius: .38rem; font-size: .76rem; place-items: center; }
.knowledge-rich-text-group button:hover:not(:disabled),
.knowledge-rich-text-group button:focus-visible { color: var(--adrecom-blue-dark); background: #e8f2f8; border-color: #cfe3ef; }
.knowledge-rich-text-group button.is-active { color: #fff; background: var(--adrecom-blue); border-color: var(--adrecom-blue); }
.knowledge-rich-text-group button:disabled { opacity: .36; cursor: default; }
.knowledge-rich-text-block { height: 2rem; min-width: 7.5rem; padding: 0 1.8rem 0 .55rem; color: var(--adrecom-ink); background-color: #fff; border: 1px solid #d5dde4; border-radius: .38rem; font-size: .72rem; font-weight: 650; }
.knowledge-rich-text-content { min-height: 12rem; padding: .9rem 1rem; color: var(--adrecom-ink); font-size: .88rem; line-height: 1.65; outline: none; }
.knowledge-rich-text-content > *:first-child { margin-top: 0; }
.knowledge-rich-text-content > *:last-child { margin-bottom: 0; }
.knowledge-rich-text-content p { margin: 0 0 .65rem; }
.knowledge-rich-text-content h2 { margin: 1rem 0 .55rem; font-size: 1.22rem; font-weight: 760; }
.knowledge-rich-text-content h3 { margin: .9rem 0 .45rem; font-size: 1.02rem; font-weight: 740; }
.knowledge-rich-text-content ul,
.knowledge-rich-text-content ol { margin: .5rem 0 .75rem; padding-left: 1.5rem; }
.knowledge-rich-text-content blockquote { margin: .75rem 0; padding: .55rem .8rem; color: #536a7b; background: #f3f7f9; border-left: 3px solid var(--adrecom-blue); }
.knowledge-rich-text-content a { color: var(--adrecom-blue-dark); text-decoration: underline; }
.knowledge-rich-text-source { min-height: 14rem; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; line-height: 1.55; }
.knowledge-rich-text-field.is-source-mode .knowledge-rich-text-source { padding: .85rem 1rem; background: #fff; border: 1px solid #cbd6df; border-radius: .58rem; box-shadow: inset 0 1px 2px rgba(25, 50, 70, .04); }
.knowledge-rich-text-field.is-source-mode .knowledge-rich-text-source:focus { border-color: var(--adrecom-blue); box-shadow: 0 0 0 .2rem rgba(29, 124, 184, .13); }
.knowledge-rich-text-field--article .knowledge-rich-text-content { min-height: 22rem; }
.knowledge-rich-text-field--article .knowledge-rich-text-source { min-height: 24rem; }
.knowledge-rich-text-field--summary .knowledge-rich-text-content { min-height: 8rem; }
.knowledge-rich-text-field--summary .knowledge-rich-text-source { min-height: 10rem; }
.knowledge-meta-description { min-height: 7rem; }
.knowledge-rich-text-help { display: flex; justify-content: space-between; gap: 1rem; margin-top: .45rem; color: var(--adrecom-muted); font-size: .68rem; }
.knowledge-rich-text-help span { flex: none; color: #4e6575; font-weight: 750; }
.knowledge-rich-text-help small { font-size: inherit; text-align: right; }
.knowledge-publication-panel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.knowledge-category-card .knowledge-tree-row { color: var(--adrecom-ink); border-bottom: 1px solid #edf0f3; padding: .25rem 1rem; }
.knowledge-category-card .knowledge-tree .knowledge-tree { margin-left: 2.6rem; border-left-color: #d9e2e9; }
.knowledge-category-card .knowledge-tree-toggle { color: #496170; background: #f1f5f7; }
.knowledge-category-card .knowledge-tree-link { color: var(--adrecom-ink); }
.knowledge-category-card .knowledge-tree-link:hover { color: var(--adrecom-blue); background: #f3f8fb; }
.knowledge-category-card .knowledge-tree-link small { color: var(--adrecom-muted); }
.knowledge-tree-checkbox { flex: none; }
.knowledge-category-card { overflow: visible; }
.knowledge-category-search { padding: .85rem 1rem; background: #f8fafc; border-bottom: 1px solid var(--adrecom-border); }
.knowledge-category-search > label { display: block; margin-bottom: .38rem; color: var(--adrecom-ink); font-size: .74rem; font-weight: 750; }
.knowledge-category-search-field { width: min(40rem, 100%); }
.knowledge-category-search-clear { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; margin-right: .12rem; padding: 0; color: #718096; background: transparent; border: 0; border-radius: .45rem; place-items: center; }
.knowledge-category-search-clear[hidden] { display: none; }
.knowledge-category-search-clear:hover,
.knowledge-category-search-clear:focus-visible { color: var(--adrecom-blue-dark); background: #edf4f8; outline: none; }
.knowledge-category-search-status { min-height: 1rem; margin: .32rem 0 0; color: var(--adrecom-muted); font-size: .68rem; }
.knowledge-category-search-results { padding: .75rem 1rem 1rem; background: #fff; }
.knowledge-category-search-list { overflow: hidden; border: 1px solid var(--adrecom-border); border-radius: .68rem; }
.knowledge-category-search-result { display: flex; min-height: 3.65rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .85rem; color: var(--adrecom-ink); background: #fff; border-bottom: 1px solid #edf1f3; text-decoration: none; transition: background-color .14s ease, color .14s ease; }
.knowledge-category-search-result:last-child { border-bottom: 0; }
.knowledge-category-search-result:hover,
.knowledge-category-search-result:focus-visible { color: var(--adrecom-blue-dark); background: #f3f8fb; outline: none; }
.knowledge-category-search-identity { display: flex; min-width: 0; flex-direction: column; gap: .16rem; }
.knowledge-category-search-identity strong { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-category-search-identity small { overflow: hidden; color: var(--adrecom-muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-category-search-result-actions { display: inline-flex; flex: none; align-items: center; gap: .55rem; }
.knowledge-category-search-inactive { padding: .2rem .42rem; color: #855e1c; background: #fff4d9; border: 1px solid #ead59e; border-radius: 999px; font-size: .62rem; font-weight: 750; }
.knowledge-category-search-edit { display: inline-flex; align-items: center; gap: .35rem; color: var(--adrecom-blue-dark); font-size: .7rem; font-weight: 750; }
.knowledge-category-search-message { margin: 0; padding: 1.15rem; color: var(--adrecom-muted); background: #f8fafc; border: 1px dashed #cbd7df; border-radius: .62rem; font-size: .76rem; text-align: center; }
.knowledge-category-actions { position: relative; flex: 0 0 2rem; }
.knowledge-category-actions > summary {
    display: inline-grid;
    width: 2rem;
    height: 2rem;
    padding: 0;
    color: var(--adrecom-blue);
    border-radius: .38rem;
    cursor: pointer;
    list-style: none;
    place-items: center;
}
.knowledge-category-actions > summary::-webkit-details-marker { display: none; }
.knowledge-category-actions > summary:hover,
.knowledge-category-actions > summary:focus-visible,
.knowledge-category-actions[open] > summary { color: var(--adrecom-blue-dark); background: #e9f3f9; outline: none; }
.knowledge-category-menu {
    position: absolute;
    z-index: 30;
    top: calc(100% + .3rem);
    right: 0;
    width: 13.5rem;
    padding: .35rem;
    background: #fff;
    border: 1px solid var(--adrecom-border);
    border-radius: .62rem;
    box-shadow: 0 .75rem 1.8rem rgba(19, 42, 61, .18);
}
.knowledge-category-menu a,
.knowledge-category-menu button {
    display: flex;
    width: 100%;
    min-height: 2.35rem;
    align-items: center;
    gap: .6rem;
    padding: .48rem .62rem;
    color: var(--adrecom-ink);
    background: transparent;
    border: 0;
    border-radius: .42rem;
    font-size: .76rem;
    text-align: left;
    text-decoration: none;
}
.knowledge-category-menu a:hover,
.knowledge-category-menu a:focus-visible,
.knowledge-category-menu button:hover,
.knowledge-category-menu button:focus-visible { color: var(--adrecom-blue-dark); background: #eff6fb; outline: none; }
.knowledge-category-menu form { margin: .2rem 0 0; padding-top: .2rem; border-top: 1px solid #edf0f3; }
.knowledge-category-menu form button { color: #9b352e; }
.knowledge-category-menu form button:hover,
.knowledge-category-menu form button:focus-visible { color: #842c26; background: #fbeeed; }
.knowledge-manage-tree-head { display: grid; grid-template-columns: 2.2rem 1fr auto; gap: .5rem; align-items: center; padding: .65rem 1rem; color: var(--adrecom-muted); background: #f7f9fa; border-bottom: 1px solid var(--adrecom-border); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.knowledge-manage-tree-actions-label { text-align: right; }
.knowledge-main-drop-label { display: none; align-items: center; gap: .38rem; color: var(--adrecom-blue-dark); }
.knowledge-category-move-handle { cursor: grab; }
.knowledge-category-move-handle:active { cursor: grabbing; }
.knowledge-tree-row[draggable="true"],
.knowledge-tree-row[draggable="true"] .knowledge-tree-link { cursor: grab; }
.knowledge-tree-row[draggable="true"]:active,
.knowledge-tree-row[draggable="true"] .knowledge-tree-link:active { cursor: grabbing; }
.knowledge-category-move-status { position: fixed; z-index: 1200; right: 1.25rem; bottom: 1.25rem; width: min(28rem, calc(100vw - 2rem)); padding: .7rem .9rem; color: #245879; background: #eef7fc; border: 1px solid #cfe4f0; border-radius: .62rem; box-shadow: 0 .75rem 1.8rem rgba(19, 42, 61, .18); font-size: .74rem; font-weight: 700; }
.knowledge-category-move-status.is-error { color: #8a322b; background: #fbeeed; border-color: #ebc9c6; }
.knowledge-manage-tree.is-moving-category .knowledge-manage-tree-head { color: var(--adrecom-blue-dark); background: #eef7fc; box-shadow: inset 0 0 0 2px #8cc2df; }
.knowledge-manage-tree.is-moving-category .knowledge-manage-tree-actions-label > span:first-child { display: none; }
.knowledge-manage-tree.is-moving-category .knowledge-main-drop-label { display: inline-flex; }
.knowledge-manage-tree.is-moving-category .knowledge-tree-row { transition: background-color .12s ease, box-shadow .12s ease, opacity .12s ease; }
.knowledge-manage-tree.is-moving-category .knowledge-tree-row:not(.is-drag-source) { box-shadow: inset 0 0 0 1px rgba(29, 124, 184, .18); }
.knowledge-tree-row.is-drag-source { opacity: .45; }
.knowledge-manage-tree-head.is-category-drop-target,
.knowledge-tree-row.is-category-drop-target { background: #ddf1fc !important; box-shadow: inset 0 0 0 2px var(--adrecom-blue) !important; }
.material-category-move-handle { color: #52677a; background: #f7f9fb; border: 1px solid #d5dfe7; cursor: grab; }
.material-category-move-handle:hover,
.material-category-move-handle:focus-visible { color: var(--adrecom-blue-dark); background: #eef7fc; border-color: #a9c9dd; }
.material-category-move-handle:active { cursor: grabbing; }
.material-category-row[draggable="true"] { cursor: grab; transition: background-color .12s ease, box-shadow .12s ease, opacity .12s ease; }
.material-category-row[draggable="true"]:active { cursor: grabbing; }
.material-category-row.is-drag-source { opacity: .42; }
.material-category-row.is-category-drop-target > td { background: #ddf1fc !important; box-shadow: inset 0 2px 0 var(--adrecom-blue), inset 0 -2px 0 var(--adrecom-blue); }
.material-category-row.is-category-drop-target > td:first-child { box-shadow: inset 2px 0 0 var(--adrecom-blue), inset 0 2px 0 var(--adrecom-blue), inset 0 -2px 0 var(--adrecom-blue); }
.material-category-row.is-category-drop-target > td:last-child { box-shadow: inset -2px 0 0 var(--adrecom-blue), inset 0 2px 0 var(--adrecom-blue), inset 0 -2px 0 var(--adrecom-blue); }
.material-category-tree.is-moving-category .material-category-row.is-category-drop-disabled { opacity: .32; cursor: not-allowed; }
.material-category-tree.is-moving-category .material-category-row.is-category-drop-disabled .material-category-move-handle { cursor: not-allowed; }
.knowledge-parent-panel { display: grid; grid-template-columns: minmax(13rem, .55fr) minmax(18rem, 1.45fr); gap: 1rem 1.4rem; margin-bottom: 1.4rem; padding: 1rem; background: #f7fafc; border: 1px solid #dce6ed; border-radius: .72rem; }
.knowledge-parent-copy label { display: block; margin-bottom: .25rem; color: var(--adrecom-ink); font-weight: 700; }
.knowledge-parent-copy p { margin: 0; color: var(--adrecom-muted); font-size: .74rem; line-height: 1.5; }
.knowledge-parent-selection { display: flex; min-height: 2.15rem; align-items: center; margin-bottom: .45rem; }
.knowledge-parent-empty { display: inline-flex; min-height: 2rem; align-items: center; padding: .3rem .65rem; color: #536a7b; background: #fff; border: 1px dashed #b8c6d1; border-radius: 999px; font-size: .76rem; font-weight: 700; }
.knowledge-parent-picker .knowledge-picker-chips { margin-bottom: 0; }
.knowledge-picker-tools,
.knowledge-parent-tools { display: flex; align-items: stretch; gap: .55rem; }
.knowledge-picker-tools .knowledge-picker-search,
.knowledge-parent-tools .knowledge-picker-search { flex: 1 1 auto; }
.knowledge-hierarchy-open { flex: none; }
.knowledge-tree-link.active { color: #fff; background: rgba(255,255,255,.14); box-shadow: inset 3px 0 0 #8fd1f3; }
.knowledge-hierarchy-dialog { width: min(calc(100% - 2rem), 44rem); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; overflow: hidden; color: var(--adrecom-ink); background: #fff; border: 0; border-radius: 1rem; box-shadow: 0 2rem 5rem rgb(12 39 61 / 35%); }
.knowledge-hierarchy-dialog::backdrop { background: rgb(13 39 61 / 72%); backdrop-filter: blur(3px); }
.knowledge-hierarchy-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.25rem; border-bottom: 1px solid var(--adrecom-border); }
.knowledge-hierarchy-dialog-header .content-eyebrow { margin: 0 0 .2rem; }
.knowledge-hierarchy-dialog-header h3 { margin: 0; font-size: 1.18rem; font-weight: 760; }
.knowledge-hierarchy-dialog-header p:last-child { margin: .25rem 0 0; color: var(--adrecom-muted); font-size: .8rem; }
.knowledge-hierarchy-close { display: grid; place-items: center; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; color: var(--adrecom-muted); background: #f3f6f8; border: 0; border-radius: 50%; }
.knowledge-hierarchy-close:hover { color: var(--adrecom-ink); background: #e8eef2; }
.knowledge-hierarchy-dialog-body { max-height: min(62dvh, 36rem); overflow-y: auto; padding: .85rem 1rem 1rem; }
.knowledge-hierarchy-top-level { display: flex; width: 100%; min-height: 3.2rem; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .45rem; padding: .6rem .75rem; color: var(--adrecom-ink); background: #f6f9fb; border: 1px solid #dce6ed; border-radius: .6rem; text-align: left; }
.knowledge-hierarchy-top-level span { display: inline-flex; align-items: center; gap: .55rem; font-weight: 720; }
.knowledge-hierarchy-top-level small { color: var(--adrecom-muted); }
.knowledge-hierarchy-tree > .knowledge-tree { border: 1px solid #e0e8ed; border-radius: .65rem; overflow: hidden; }
.knowledge-hierarchy-tree .knowledge-tree .knowledge-tree { margin-left: 2rem; border-left: 1px solid #d9e2e9; }
.knowledge-hierarchy-tree .knowledge-tree-row { min-height: 2.75rem; padding: .2rem .45rem; border-bottom: 1px solid #edf1f3; }
.knowledge-hierarchy-tree .knowledge-tree-toggle { color: #496170; background: #f1f5f7; }
.knowledge-hierarchy-tree .knowledge-tree-toggle:hover { color: var(--adrecom-blue); background: #e4f1f8; }
.knowledge-hierarchy-tree .knowledge-tree-link { color: var(--adrecom-ink); background: transparent; border: 0; }
.knowledge-hierarchy-tree .knowledge-tree-link:hover { color: var(--adrecom-blue); background: #f3f8fb; }
.knowledge-hierarchy-tree .knowledge-tree-link small { color: var(--adrecom-muted); }
.knowledge-hierarchy-choice--multiple { justify-content: flex-start; cursor: pointer; }
.knowledge-hierarchy-choice--multiple .knowledge-hierarchy-checkbox { flex: none; }
.knowledge-hierarchy-choice--multiple small { margin-left: auto; }
.knowledge-hierarchy-choice.is-selected,
.knowledge-hierarchy-top-level.is-selected { color: var(--adrecom-blue-dark); background: #e8f4fb; box-shadow: inset 0 0 0 2px #8cc2df; }
.knowledge-hierarchy-dialog-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1.25rem; border-top: 1px solid var(--adrecom-border); }
.knowledge-hierarchy-dialog-actions small { color: var(--adrecom-muted); }

@media (max-width: 767.98px) {
    .knowledge-publication-panel { grid-template-columns: 1fr; }
    .knowledge-category-context { align-items: flex-start; flex-direction: column; }
    .knowledge-editor-label-row { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .knowledge-rich-text-toolbar { align-items: flex-start; }
    .knowledge-rich-text-block { flex: 1 1 100%; }
    .knowledge-rich-text-group:first-of-type { padding-left: 0; border-left: 0; }
    .knowledge-rich-text-help { align-items: flex-start; flex-direction: column; gap: .2rem; }
    .knowledge-rich-text-help small { text-align: left; }
    .knowledge-parent-panel { grid-template-columns: 1fr; }
    .knowledge-picker-tools,
    .knowledge-parent-tools { align-items: stretch; flex-direction: column; }
    .knowledge-category-search-result { align-items: flex-start; flex-direction: column; gap: .45rem; }
    .knowledge-category-search-result-actions { width: 100%; justify-content: flex-end; }
    .knowledge-hierarchy-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
    .knowledge-hierarchy-dialog-actions { align-items: stretch; flex-direction: column; }
.knowledge-hierarchy-dialog-actions .btn { width: 100%; }
}

/* Authenticated account portal */
.portal-skip-link { position: fixed; z-index: 2000; top: .5rem; left: .5rem; padding: .65rem .9rem; color: #fff !important; background: var(--sp-accent-dark); border-radius: .35rem; transform: translateY(-150%); }
.portal-skip-link:focus { transform: translateY(0); }
.portal-nav { align-items: center; }
.portal-nav a[aria-current="page"] { color: var(--sp-accent); text-decoration: underline; text-decoration-thickness: .14rem; text-underline-offset: .35rem; }
.portal-account-menu { position: relative; flex: 0 0 auto; }
.portal-account-trigger { display: grid; width: 2.65rem; height: 2.65rem; padding: 0; overflow: hidden; color: #fff; background: var(--sp-accent); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #b7c8c0, 0 .25rem .7rem rgb(23 34 56 / 14%); font: inherit; cursor: pointer; place-items: center; transition: box-shadow .15s, transform .15s; }
.portal-account-trigger:hover,.portal-account-trigger[aria-expanded="true"] { box-shadow: 0 0 0 2px var(--sp-accent), 0 .35rem .85rem rgb(23 34 56 / 18%); transform: translateY(-1px); }
.portal-account-trigger img { width: 100%; height: 100%; object-fit: cover; }
.portal-account-avatar-initial { font-size: .92rem; font-weight: 850; line-height: 1; }
.portal-account-dropdown { position: absolute; z-index: 1000; top: calc(100% + .65rem); right: 0; width: min(16rem,calc(100vw - 2.5rem)); padding: .45rem; color: var(--sp-ink); background: #fff; border: 1px solid #d6e0da; border-radius: .65rem; box-shadow: 0 1rem 2.5rem rgb(23 34 56 / 18%); }
.portal-account-dropdown-identity { display: grid; gap: .18rem; margin: -.05rem -.05rem .35rem; padding: .75rem .8rem; background: var(--sp-wash); border-radius: .45rem; }
.portal-account-dropdown-identity strong { font-size: .88rem; }
.portal-account-dropdown-identity span { color: var(--sp-muted); font-size: .74rem; overflow-wrap: anywhere; }
.portal-header .portal-account-dropdown > a { display: block; padding: .65rem .75rem; border-radius: .4rem; font-size: .86rem; text-decoration: none; }
.portal-header .portal-account-dropdown > a:hover,.portal-header .portal-account-dropdown > a:focus-visible { color: var(--sp-accent-dark); background: var(--sp-wash); }
.portal-header .portal-account-dropdown > a[aria-current="page"] { color: var(--sp-accent-dark); background: var(--sp-wash); text-decoration: none; }
.portal-header .portal-account-dropdown .portal-account-signout { margin-top: .25rem; color: #94372f; border-top: 1px solid #e3e9e5; border-radius: 0 0 .4rem .4rem; }
.portal-main { max-width: 78rem; }
.portal-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.5rem; color: var(--sp-muted); font-size: .82rem; }
.portal-breadcrumbs > * + *::before { margin-right: .45rem; content: "/"; color: #9aa7a0; }
.portal-breadcrumbs a { color: var(--sp-accent) !important; }
.portal-page-header,.portal-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.25rem; margin-bottom: 1.5rem; }
.portal-page-header h1 { margin: .25rem 0 .35rem; font-size: clamp(2rem,4vw,3.35rem); line-height: 1.02; letter-spacing: -.045em; }
.portal-page-header p,.portal-section-heading p { margin: .25rem 0 0; color: var(--sp-muted); }
.portal-section-heading h2 { margin: 0; }
.portal-section-title { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; }
.portal-panel { margin: 1.25rem 0; padding: clamp(1rem,3vw,1.5rem); background: #fff; border: 1px solid #dae2dc; border-radius: .7rem; }
.portal-panel > :first-child { margin-top: 0; }
.portal-onboarding { margin: 1.5rem 0; padding: 1.4rem; background: #f7f4e9; border: 1px solid #e4d8ae; border-left: .3rem solid #b17a1d; border-radius: .55rem; }
.portal-onboarding h2 { margin: 0 0 .4rem; }
.portal-onboarding p { margin: 0 0 1rem; color: #65593e !important; }
.portal-alert { margin: 0 0 1rem; border-radius: .35rem; }
.portal-alert--success { background: #e8f5ec; border-left-color: var(--sp-accent); }
.portal-alert--warning { background: #fff7df; border-left-color: #b27a19; }
.portal-alert--error { color: #8b3027; background: #fcece9; border-left-color: #b54135; }
.button--secondary { color: var(--sp-accent-dark) !important; background: #fff; border: 1px solid #aebeb7; }
.button--secondary:hover { background: var(--sp-wash); }
.button--danger { color: #fff !important; background: #a73e35; }
.button--danger:hover { background: #842e27; }
.button--small { padding: .48rem .7rem; font-size: .78rem; }
.button[disabled] { opacity: .55; cursor: wait; }
.portal-card-list,.portal-file-list { margin: 0; padding: 0; list-style: none; }
.portal-card-list li + li,.portal-file-list li + li { border-top: 1px solid #e4ebe7; }
.portal-card-list a { display: flex; flex-direction: column; gap: .2rem; padding: .9rem .25rem; text-decoration: none; }
.portal-card-list a:hover strong { color: var(--sp-accent); }
.portal-card-list span,.portal-file-list span,.portal-file-list small { color: var(--sp-muted); font-size: .82rem; }
.portal-file-list li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem .15rem; }
.portal-file-list li > div { display: flex; min-width: 0; flex-direction: column; gap: .18rem; }
.portal-file-list li > .portal-file-actions { flex: none; flex-direction: row; gap: .5rem; }
.portal-material-summary { max-width: 50rem; margin: .15rem 0 .2rem; color: var(--sp-ink); font-size: .88rem; line-height: 1.5; }
.portal-recent-material-project { color: var(--sp-ink) !important; font-weight: 700; }
.portal-recent-materials-empty { margin: 0; color: var(--sp-muted); }
.portal-recent-materials-empty a { color: var(--sp-accent); font-weight: 750; }
.portal-empty { padding: clamp(1.5rem,4vw,3rem); color: var(--sp-muted); background: var(--sp-wash); border: 1px dashed #b9c8c0; border-radius: .65rem; text-align: center; }
.portal-empty h2,.portal-empty h3 { margin-top: 0; color: var(--sp-ink); }
.portal-empty--compact { padding: 1.25rem; }
.portal-muted { color: var(--sp-muted); }
.portal-table-wrap { overflow-x: auto; background: #fff; border: 1px solid #dbe3df; border-radius: .65rem; }
.portal-table { width: 100%; border-collapse: collapse; }
.portal-table th,.portal-table td { padding: .85rem 1rem; border-bottom: 1px solid #e6ece8; text-align: left; vertical-align: middle; }
.portal-table th { color: #53635b; background: #f4f7f5; font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; }
.portal-table tr:last-child td { border-bottom: 0; }
.portal-table td a { display: flex; flex-direction: column; gap: .14rem; text-decoration: none; }
.portal-table td a:hover strong { color: var(--sp-accent); }
.portal-table td small { color: var(--sp-muted); }
.portal-badge { display: inline-flex; align-items: center; width: max-content; padding: .24rem .48rem; color: #40554c; background: #edf2ef; border: 1px solid #cfdbd5; border-radius: 999px; font-size: .68rem; font-weight: 800; line-height: 1.1; }
.portal-badge--success { color: #175d4d; background: #e3f5ed; border-color: #aad9ca; }
.portal-badge--warning { color: #755116; background: #fff4d7; border-color: #ead49a; }
.portal-badge--status { color: #245d75; background: #e8f4f8; border-color: #bad9e5; }
.portal-form { display: grid; gap: 1rem; }
.portal-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.portal-field { display: grid; gap: .42rem; }
.portal-field label,.portal-account-selector label { font-weight: 750; }
.portal-field label span { color: var(--sp-muted); font-size: .75rem; font-weight: 500; }
.portal-field input,.portal-field select,.portal-field textarea,.portal-account-selector select,.portal-row-form select,.portal-inline-editor input,.portal-inline-editor select { width: 100%; min-height: 2.8rem; padding: .64rem .72rem; color: var(--sp-ink); background: #fff; border: 1px solid #b8c6bf; border-radius: .38rem; font: inherit; }
.portal-field textarea { resize: vertical; }
.portal-field small,.portal-help { color: var(--sp-muted); font-size: .78rem; line-height: 1.5; }
.portal-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: .35rem; }
.portal-detail-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(16rem,.75fr); gap: 1.25rem; align-items: start; }
.portal-detail-grid > .portal-panel { margin: 0; }
.portal-detail-grid aside .button { display: block; width: 100%; margin-top: .65rem; text-align: center; }
.portal-details { display: grid; grid-template-columns: minmax(7rem,.45fr) 1fr; gap: .7rem 1rem; margin: 1rem 0; }
.portal-details dt { color: var(--sp-muted); font-weight: 700; }
.portal-details dd { margin: 0; overflow-wrap: anywhere; }
.portal-preserve { white-space: pre-wrap; overflow-wrap: anywhere; }
.portal-account-selector { display: grid; grid-template-columns: minmax(10rem,.5fr) minmax(14rem,1.2fr) auto; align-items: end; gap: .75rem; }
.portal-material-search { display: grid; gap: .55rem; }
.portal-material-filter-grid { display: grid; grid-template-columns: minmax(14rem,.75fr) minmax(20rem,1.5fr); align-items: start; gap: 1rem; }
.portal-material-filter-field { display: grid; gap: .42rem; }
.portal-material-filter-field > label { font-weight: 750; }
.portal-material-filter-field > select { width: 100%; min-height: 2.8rem; padding: .64rem .72rem; color: var(--sp-ink); background: #fff; border: 1px solid #b8c6bf; border-radius: .38rem; font: inherit; }
.portal-material-filter-field > small { color: var(--sp-muted); font-size: .75rem; line-height: 1.4; }
.portal-material-search-controls { display: flex; align-items: stretch; gap: .65rem; }
.portal-material-search-controls input { width: 100%; min-width: 0; min-height: 2.8rem; padding: .64rem .72rem; color: var(--sp-ink); background: #fff; border: 1px solid #b8c6bf; border-radius: .38rem; font: inherit; }
.portal-material-clear-filters { display: grid; flex: 0 0 2.8rem; width: 2.8rem; min-height: 2.8rem; padding: 0; place-items: center; }
.portal-material-clear-filters-icon { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.portal-material-search-status { margin: 0; color: var(--sp-muted); font-size: .82rem; }
.portal-material-group + .portal-material-group { margin-top: 2rem; }
.portal-material-heading-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; }
.portal-category-dialog { width: min(calc(100% - 2rem), 46rem); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; overflow: hidden; color: var(--sp-ink); background: #fff; border: 0; border-radius: .85rem; box-shadow: 0 1.8rem 5rem rgb(23 34 56 / 28%); }
.portal-category-dialog[open] { display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; }
.portal-category-dialog::backdrop { background: rgb(23 34 56 / 62%); backdrop-filter: blur(2px); }
.portal-category-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.4rem; border-bottom: 1px solid #e2e8e4; }
.portal-category-dialog-header .eyebrow { margin: 0 0 .25rem; }
.portal-category-dialog-header h2 { margin: 0; font-size: 1.35rem; }
.portal-category-dialog-header p:last-child { margin: .35rem 0 0; color: var(--sp-muted); }
.portal-category-dialog-close { display: grid; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; place-items: center; padding: 0; color: var(--sp-muted); background: var(--sp-wash); border: 0; border-radius: 50%; font-size: 1.65rem; line-height: 1; cursor: pointer; }
.portal-category-dialog-close:hover { color: var(--sp-ink); background: #e3ebe6; }
.portal-category-dialog-status { margin: 0; padding: .7rem 1.4rem; color: #175d4d; background: #e8f5ec; border-bottom: 1px solid #cde5d7; font-size: .84rem; font-weight: 750; }
.portal-category-dialog-status.is-error { color: #8b3027; background: #fcece9; border-bottom-color: #efcec9; }
.portal-category-dialog-body { min-height: 0; overflow-y: auto; padding: 1.25rem 1.4rem; }
.portal-category-create { padding: 1rem; background: var(--sp-wash); border: 1px solid #dbe5df; border-radius: .6rem; }
.portal-category-create h3,.portal-category-existing h3 { margin: 0 0 .85rem; }
.portal-category-existing { margin-top: 1.35rem; }
.portal-category-existing-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.portal-category-editor-list { display: grid; gap: .55rem; }
.portal-category-editor { overflow: hidden; border: 1px solid #dce5e0; border-radius: .5rem; }
.portal-category-editor summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .85rem; background: #fff; cursor: pointer; }
.portal-category-editor summary:hover { background: #f6f9f7; }
.portal-category-editor summary > span:first-child { display: flex; min-width: 0; flex-direction: column; gap: .12rem; }
.portal-category-editor summary strong { overflow-wrap: anywhere; }
.portal-category-editor summary small { color: var(--sp-muted); }
.portal-category-edit-label { color: var(--sp-accent); font-size: .78rem; font-weight: 800; }
.portal-category-editor-body { display: grid; gap: .9rem; padding: .9rem; background: #f9fbfa; border-top: 1px solid #e4eae7; }
.portal-category-editor-body > form:last-child { padding-top: .8rem; border-top: 1px solid #e1e8e4; }
.portal-category-dialog-footer { display: flex; justify-content: flex-end; padding: .85rem 1.4rem; background: #fafcfb; border-top: 1px solid #e2e8e4; }
.portal-dropzone { display: grid; min-height: 11rem; padding: 2rem; align-content: center; gap: .35rem; color: var(--sp-muted); background: #f5f8f6; border: 2px dashed #9fb3a9; border-radius: .7rem; text-align: center; cursor: pointer; transition: background .15s,border-color .15s; }
.portal-dropzone strong { color: var(--sp-ink); font-size: 1.1rem; }
.portal-dropzone.is-dragging { background: #e5f2ed; border-color: var(--sp-accent); }
.portal-file-input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.portal-upload-queue { display: grid; gap: .55rem; }
.portal-upload-item { display: grid; grid-template-columns: minmax(0,1fr) minmax(8rem,.5fr) auto; align-items: center; gap: .75rem; padding: .75rem; background: #fff; border: 1px solid #dbe4df; border-radius: .45rem; }
.portal-upload-item > div:first-child { display: flex; min-width: 0; flex-direction: column; }
.portal-upload-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.upload-state { color: var(--sp-muted); font-size: .75rem; }
.upload-error { grid-column: 1 / -1; margin: 0; color: #98362c; font-size: .8rem; }
.upload-actions { display: flex; gap: .4rem; }
.upload-actions button,.portal-reply-link { padding: .3rem .45rem; color: var(--sp-accent); background: transparent; border: 0; font-weight: 750; cursor: pointer; }
.portal-thread { display: grid; gap: .8rem; margin: 1rem 0 1.5rem; padding: 0; list-style: none; }
.portal-thread li { padding: 1rem; background: #f8faf9; border: 1px solid #dfe7e3; border-radius: .55rem; }
.portal-thread li.is-internal { background: #fff8e7; border-color: #e7d6a4; }
.portal-thread header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.portal-thread header > div { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; }
.portal-thread time { color: var(--sp-muted); font-size: .75rem; white-space: nowrap; }
.portal-reply-form { padding-top: 1rem; border-top: 1px solid #dfe6e2; }
.portal-checkbox { display: flex; align-items: center; gap: .5rem; font-size: .86rem; font-weight: 700; }
.portal-row-form { display: flex; align-items: center; gap: .5rem; }
.portal-confirmation { max-width: 42rem; margin-inline: auto; }
.portal-confirmation h1 { font-size: clamp(2rem,5vw,3rem); letter-spacing: -.04em; }
.portal-profile-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(17rem,.75fr); gap: 1.25rem; align-items: start; }
.portal-profile-grid > .portal-panel { margin: 1.25rem 0 0; }
.portal-profile-account { max-width: none; }
.portal-profile-account .portal-section-heading { margin-bottom: .5rem; }
.portal-profile-identity { display: flex; align-items: center; gap: 1rem; margin: 1rem 0; padding: 1rem; background: var(--sp-wash); border: 1px solid #dbe5df; border-radius: .65rem; }
.portal-profile-avatar { display: grid; width: 5rem; height: 5rem; flex: 0 0 5rem; overflow: hidden; color: var(--sp-accent-dark); background: #fff; border: .25rem solid #fff; border-radius: 1rem; box-shadow: 0 .55rem 1.25rem rgb(23 34 56 / 14%); font-size: 1.7rem; font-weight: 800; place-items: center; }
.portal-profile-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: .72rem; }
.portal-profile-identity > div:last-child { display: grid; justify-items: start; gap: .2rem; min-width: 0; }
.portal-profile-identity strong { font-size: 1.08rem; }
.portal-profile-identity span { color: var(--sp-muted); font-size: .82rem; overflow-wrap: anywhere; }
.portal-profile-remove-avatar { margin-top: .45rem; }
.portal-profile-details { margin: 0 0 1.5rem; padding: 1rem; background: var(--sp-wash); border-radius: .5rem; }
.portal-profile-details dd { font-weight: 750; }
.portal-profile-details a { color: var(--sp-accent); }
.portal-profile-phone { grid-column: 1 / -1; }
.portal-profile-avatar-field { grid-column: 1 / -1; margin-top: .25rem; padding-top: 1rem; border-top: 1px solid #dfe7e3; }
.portal-profile-avatar-field .profile-file-input { background: var(--sp-wash); border-color: #aebeb7; }
.portal-profile-avatar-field .avatar-crop-status { color: var(--sp-muted); }
.portal-profile-avatar-field > small { color: var(--sp-muted); font-size: .78rem; line-height: 1.5; }
.portal-profile-avatar-field > ul { margin: 0; padding: 0; color: #8b3027; font-size: .8rem; font-weight: 700; list-style: none; }
.portal-avatar-crop-dialog { color: var(--sp-ink); }
.portal-avatar-crop-dialog .avatar-crop-dialog-header .eyebrow { margin: 0 0 .2rem; }
.portal-avatar-crop-dialog .avatar-crop-dialog-header p:last-child { color: var(--sp-muted); }
.portal-avatar-crop-dialog .avatar-crop-close { border: 0; cursor: pointer; }
.portal-avatar-crop-dialog .avatar-crop-toolbar { background: var(--sp-wash); border-color: #dbe5df; }
.portal-avatar-crop-dialog .avatar-crop-dialog-actions { border-top: 1px solid #dbe5df; }
.portal-profile-security h2 { margin: .2rem 0 .5rem; }
.portal-profile-security p:not(.eyebrow) { margin: 0 0 1rem; color: var(--sp-muted); line-height: 1.6; overflow-wrap: anywhere; }
.portal-profile-security .button { width: 100%; text-align: center; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Public knowledge base */
.knowledge-site { min-height: 100vh; }
.knowledge-header { border-bottom: 1px solid #dce4df; background: rgb(255 253 249 / 94%); }
.knowledge-header .site-nav { max-width: 86rem; }
.knowledge-skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; transform: translateY(-5rem); padding: .7rem 1rem; color: #fff !important; background: var(--sp-ink); border-radius: .35rem; font-weight: 800; text-decoration: none; }
.knowledge-skip-link:focus { transform: translateY(0); }
.knowledge-shell { display: grid; max-width: 86rem; min-height: calc(100vh - 9rem); grid-template-columns: minmax(16.5rem, 20rem) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); margin: 0 auto; padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 4vw, 3rem) 5rem; align-items: start; }
.public-knowledge-sidebar { position: sticky; top: 1.5rem; max-height: calc(100vh - 3rem); overflow-y: auto; padding: 1rem; color: #fff; background: var(--sp-ink); border-radius: .8rem; box-shadow: 0 1rem 2.5rem rgb(23 34 56 / 12%); }
.public-knowledge-sidebar-heading { padding: .35rem .4rem 1rem; border-bottom: 1px solid rgb(255 255 255 / 14%); }
.public-knowledge-sidebar-heading .eyebrow { margin: 0 0 .35rem; color: #9ed8c8; }
.public-knowledge-sidebar-heading > a { color: #fff; font-size: 1.12rem; font-weight: 800; text-decoration: none; }
.public-knowledge-tree,.public-knowledge-article-links { margin: 0; padding: 0; list-style: none; }
.public-knowledge-tree { padding-top: .65rem; }
.public-knowledge-tree--nested { margin-left: .65rem; padding: .2rem 0 .1rem .65rem; border-left: 1px solid rgb(255 255 255 / 15%); }
.public-knowledge-tree details > summary { display: flex; min-height: 2.5rem; align-items: center; justify-content: space-between; gap: .65rem; padding: .5rem .55rem; color: rgb(255 255 255 / 86%); border-radius: .4rem; font-size: .86rem; font-weight: 750; cursor: pointer; }
.public-knowledge-tree details > summary:hover { color: #fff; background: rgb(255 255 255 / 8%); }
.public-knowledge-tree details > summary small { min-width: 1.3rem; padding: .12rem .35rem; color: rgb(255 255 255 / 64%); background: rgb(255 255 255 / 9%); border-radius: 999px; font-size: .64rem; text-align: center; }
.public-knowledge-branch { padding: .05rem 0 .35rem .75rem; }
.public-knowledge-category-link { display: inline-block; margin: .1rem 0 .3rem; color: #9ed8c8 !important; font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.public-knowledge-category-link:hover,.public-knowledge-category-link.active { color: #fff !important; text-decoration: underline; text-underline-offset: .2rem; }
.public-knowledge-article-links { display: grid; gap: .12rem; margin-bottom: .15rem; }
.public-knowledge-article-links a { display: block; padding: .38rem .5rem; color: rgb(255 255 255 / 68%) !important; border-radius: .35rem; font-size: .77rem; line-height: 1.35; text-decoration: none; }
.public-knowledge-article-links a:hover,.public-knowledge-article-links a.active { color: #fff !important; background: rgb(255 255 255 / 10%); }
.knowledge-sidebar-empty { margin: 1rem .4rem .25rem; color: rgb(255 255 255 / 67%); font-size: .83rem; line-height: 1.5; }
.knowledge-content { min-width: 0; outline: none; }
.knowledge-page-intro { max-width: 49rem; margin: 0 0 2.5rem; }
.knowledge-page-intro .eyebrow { margin: 0 0 .65rem; }
.knowledge-page-intro h1,.knowledge-article h1 { margin: 0 0 1rem; font-size: clamp(2.5rem, 6vw, 4.8rem); line-height: 1; letter-spacing: -.055em; }
.knowledge-page-intro > p:last-child,.knowledge-page-intro > div { color: var(--sp-muted); font-size: 1.08rem; line-height: 1.7; }
.knowledge-page-intro > div > :first-child { margin-top: 0; }
.knowledge-page-intro > div > :last-child { margin-bottom: 0; }
.knowledge-directory { display: grid; gap: 1rem; }
.knowledge-category-section { padding: clamp(1.15rem, 3vw, 1.65rem); background: #fff; border: 1px solid #dbe4df; border-radius: .75rem; }
.knowledge-category-section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.knowledge-category-section .eyebrow { margin: 0 0 .28rem; }
.knowledge-category-section h2 { margin: 0; font-size: 1.45rem; letter-spacing: -.025em; }
.knowledge-category-section h2 a { text-decoration: none; }
.knowledge-category-section h2 a:hover { color: var(--sp-accent); }
.knowledge-category-view { flex: none; color: var(--sp-accent) !important; font-size: .8rem; font-weight: 800; text-decoration: none; }
.knowledge-category-description { margin: .8rem 0 0; color: var(--sp-muted); font-size: .93rem; line-height: 1.6; }
.knowledge-category-description > :first-child { margin-top: 0; }
.knowledge-category-description > :last-child { margin-bottom: 0; }
.knowledge-category-empty { margin: 1rem 0 0; padding: .8rem 1rem; color: var(--sp-muted); background: var(--sp-wash); border-radius: .5rem; font-size: .82rem; line-height: 1.5; }
.knowledge-article-list { display: grid; gap: .55rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.knowledge-article-list > li > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem 1rem; padding: .9rem 1rem; background: var(--sp-wash); border: 1px solid transparent; border-radius: .55rem; text-decoration: none; }
.knowledge-article-list > li > a:hover { background: #fff; border-color: #bfcfc7; }
.knowledge-article-list strong { font-size: .96rem; }
.knowledge-article-list strong + span { grid-column: 1; color: var(--sp-muted); font-size: .8rem; line-height: 1.5; }
.knowledge-read-link { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--sp-accent); font-size: .75rem; font-weight: 800; }
.knowledge-subcategories { display: grid; gap: .7rem; margin: 1rem 0 0 1rem; padding: 0 0 0 1rem; border-left: 2px solid #dbe6e0; }
.knowledge-subcategories .knowledge-category-section { background: #fbfcfb; }
.knowledge-directory--children { margin-top: 1rem; }
.knowledge-category-section--selected { margin-bottom: 1rem; }
.knowledge-category-section--selected > h2 { margin: 0; }
.knowledge-empty { padding: 2rem; background: var(--sp-wash); border: 1px solid #dbe4df; border-radius: .75rem; }
.knowledge-empty h2 { margin-top: 0; }
.knowledge-empty p { margin-bottom: 0; color: var(--sp-muted); }
.knowledge-breadcrumbs { margin: 0 0 1.5rem; }
.knowledge-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; color: var(--sp-muted); font-size: .78rem; list-style: none; }
.knowledge-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .35rem; color: #9aa7a0; }
.knowledge-breadcrumbs a { color: var(--sp-accent) !important; text-decoration: none; }
.knowledge-breadcrumbs a:hover { text-decoration: underline; }
.knowledge-article { max-width: 50rem; }
.knowledge-article > header { padding-bottom: 1.5rem; border-bottom: 1px solid #dbe4df; }
.knowledge-article > header .eyebrow { margin: 0 0 .65rem; }
.knowledge-article-summary { color: var(--sp-muted); font-size: 1.15rem; line-height: 1.7; }
.knowledge-article-summary > :first-child { margin-top: 0; }
.knowledge-article-summary > :last-child { margin-bottom: 0; }
.knowledge-published { margin: 1rem 0 0; color: var(--sp-muted); font-size: .76rem; font-weight: 700; }
.knowledge-article-content { padding: 1.75rem 0; color: #26334a; font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
.knowledge-article-content > :first-child { margin-top: 0; }
.knowledge-article-content > :last-child { margin-bottom: 0; }
.knowledge-article-content h2,.knowledge-article-content h3 { margin: 1.8em 0 .55em; color: var(--sp-ink); line-height: 1.2; letter-spacing: -.025em; }
.knowledge-article-content h2 { font-size: 1.65rem; }
.knowledge-article-content h3 { font-size: 1.25rem; }
.knowledge-article-content a { color: var(--sp-accent) !important; text-decoration-thickness: .08em; text-underline-offset: .18em; }
.knowledge-article-content img { max-width: 100%; height: auto; border-radius: .5rem; }
.knowledge-article-content blockquote { margin-inline: 0; padding: .1rem 0 .1rem 1.2rem; color: var(--sp-muted); border-left: 4px solid #a9c9bd; }
.knowledge-article-content pre { overflow-x: auto; padding: 1rem; color: #f4f7f6; background: var(--sp-ink); border-radius: .5rem; }
.knowledge-article-footer { display: flex; align-items: flex-start; gap: 1rem; padding-top: 1rem; border-top: 1px solid #dbe4df; color: var(--sp-muted); font-size: .78rem; }
.knowledge-article-footer > span { padding-top: .28rem; font-weight: 800; text-transform: uppercase; }
.knowledge-article-footer > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.knowledge-article-footer a { padding: .25rem .55rem; color: var(--sp-accent) !important; background: var(--sp-wash); border-radius: 999px; font-weight: 750; text-decoration: none; }

@media (max-width: 820px) {
    .knowledge-shell { grid-template-columns: 1fr; }
    .public-knowledge-sidebar { position: static; max-height: none; }
    .portal-header { flex-direction: column; }
    .portal-header .portal-nav { width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: .35rem; flex-wrap: nowrap; }
    .portal-header .portal-nav a { flex: none; }
    .portal-page-header,.portal-section-heading { flex-direction: column; }
    .portal-detail-grid { grid-template-columns: 1fr; }
    .portal-profile-grid { grid-template-columns: 1fr; }
    .portal-account-selector { grid-template-columns: 1fr; }
    .portal-material-filter-grid { grid-template-columns: 1fr; }
    .portal-material-search-controls { align-items: stretch; flex-direction: column; }
}

@media (max-width: 640px) {
    .knowledge-header .site-nav { align-items: flex-start; }
    .knowledge-header .site-nav > div { justify-content: flex-end; }
    .knowledge-header .site-nav > div > a:not(.button) { display: inline-block; }
    .knowledge-page-intro h1,.knowledge-article h1 { font-size: 2.55rem; }
    .knowledge-category-section > header,.knowledge-article-footer { flex-direction: column; }
    .knowledge-article-list > li > a { grid-template-columns: 1fr; }
    .knowledge-read-link { grid-column: 1; grid-row: auto; }
    .knowledge-subcategories { margin-left: .2rem; padding-left: .7rem; }
    .portal-main { padding-top: 1.5rem; }
    .portal-form-grid { grid-template-columns: 1fr; }
    .portal-table-wrap { border: 0; overflow: visible; background: transparent; }
    .portal-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .portal-table,.portal-table tbody,.portal-table tr,.portal-table td { display: block; width: 100%; }
    .portal-table tr { margin-bottom: .85rem; padding: .5rem .75rem; background: #fff; border: 1px solid #dbe3df; border-radius: .55rem; }
    .portal-table td { display: grid; grid-template-columns: minmax(6rem,.45fr) 1fr; gap: .6rem; padding: .55rem 0; border-bottom: 1px solid #edf1ef; }
    .portal-table td:last-child { border-bottom: 0; }
    .portal-table td::before { content: attr(data-label); color: var(--sp-muted); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
    .portal-row-form { align-items: stretch; flex-direction: column; }
    .portal-file-list li,.portal-thread header { align-items: flex-start; flex-direction: column; }
    .portal-file-actions { width: 100%; }
    .portal-file-list .button { width: 100%; text-align: center; }
    .portal-inline-editor form { grid-template-columns: 1fr; }
    .portal-upload-item { grid-template-columns: 1fr; }
    .portal-upload-item progress { width: 100%; }
    .portal-details { grid-template-columns: 1fr; gap: .2rem; }
    .portal-details dd { margin-bottom: .65rem; }
    .portal-profile-phone { grid-column: auto; }
}
