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

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

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

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

.validation-message {
    color: #e50000;
}

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

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

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}
+/* CMJ application shell */
.cmj-provider-host{position:absolute;top:0;left:0;width:0;height:0;overflow:visible}
.cmj-shell{display:grid!important;grid-template-columns:266px minmax(0,1fr);align-items:start;min-height:100vh;width:100%;background:var(--mud-palette-background,#f6f8fb)}
.cmj-sidebar{width:266px;min-width:0;position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#0f2f65,#0b1a38);color:#fff;display:flex;flex-direction:column;z-index:10}
.cmj-brand{padding:24px 20px 20px;border-bottom:1px solid #ffffff20}
.cmj-brand-link{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}
.cmj-brand-link:hover{color:#fff}
.cmj-brand-icon{width:44px;height:44px;border-radius:13px;background:#ffffff22;display:grid;place-items:center;color:#93c5fd}
.cmj-brand strong{display:block;font-size:1.35rem;letter-spacing:.04em}
.cmj-brand small{display:block;font-size:.72rem;color:#c4d7f5}
.cmj-nav-scroll{overflow-y:auto;padding:15px 10px 28px}
.cmj-nav-toggle,.cmj-nav-toggle-label{display:none}
.cmj-nav-group{padding:18px 14px 6px;color:#94add4;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.cmj-nav-link{display:flex;align-items:center;gap:11px;padding:10px 13px;margin:2px 0;border-radius:9px;color:#d8e5fb;text-decoration:none;font-size:.9rem}
.cmj-nav-link:hover,.cmj-nav-link.active{color:#fff;background:#ffffff23}
.cmj-nav-link.active{box-shadow:inset 3px 0 #60a5fa}
.cmj-main{min-width:0;width:100%;overflow:hidden}
.cmj-topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:var(--mud-palette-surface,#fff);border-bottom:1px solid #9db0ce24;position:sticky;top:0;z-index:5}
.cmj-topbar-title{font-weight:600;color:var(--mud-palette-text-primary)}
.cmj-topbar-actions{display:flex;align-items:center;gap:15px}
.cmj-user-name{font-size:.85rem;color:var(--mud-palette-text-secondary)}
.cmj-content{box-sizing:border-box;width:100%;padding:30px;max-width:1600px;margin:0 auto;overflow-x:auto}
.crud-header{margin-bottom:4px}.crud-panel{border-radius:12px!important}.crud-search{max-width:390px}
.cmj-new-button.mud-button-root{background-color:#168a43!important;color:#fff!important}
.cmj-new-button.mud-button-root:hover{background-color:#107236!important}
.cmj-status-active,.cmj-status-inactive{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 11px;border-radius:999px;color:#fff;font-size:.85rem;font-weight:500;line-height:1.2;white-space:nowrap}
.cmj-status-active{background-color:#4bb9ae}
.cmj-status-inactive{background-color:#d6525e}
.crud-overlay{position:fixed;inset:0;z-index:2000;background:#0c1d3b99;display:flex;align-items:center;justify-content:center;padding:20px}
.crud-dialog{width:min(720px,100%);max-height:90vh;overflow-y:auto;border-radius:14px!important}
.crud-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.crud-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--mud-palette-text-primary)}
.crud-field .form-control,.crud-field .form-select{background:var(--mud-palette-surface);color:var(--mud-palette-text-primary);border-color:#8ba3c658}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:300px;overflow-y:auto;margin-top:12px}.permission-group{padding:10px;border:1px solid #8ba3c640;border-radius:8px}.permission-group strong{display:block;margin-bottom:6px}.permission-option,.role-options label{display:block;font-size:.8rem;margin:5px 0}.role-options{max-height:130px;overflow-y:auto}
.dashboard-welcome{display:flex;align-items:center;gap:18px;padding:28px;background:linear-gradient(110deg,#2563eb,#3b82f6 65%,#93c5fd);color:#fff;border-radius:15px}
.dashboard-welcome .mud-typography{color:#fff}.dashboard-card{border-radius:12px!important}.dashboard-card-action{cursor:pointer;transition:transform .2s,box-shadow .2s}.dashboard-card-action:hover{transform:translateY(-3px);box-shadow:0 9px 26px #0b286527}
.cmj-login-layout{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#144a9e 0%,#4e94e9 42%,#eaf4ff 76%,#fff 100%)}
.cmj-login-card{width:min(440px,100%);padding:38px;background:#fff;border-radius:20px;box-shadow:0 25px 75px #10386c45;color:#1d2d47}
.cmj-login-card h1{text-align:center;font-size:2.4rem;font-weight:800;color:#1b54ae;margin:7px 0 0}.cmj-login-card>p{text-align:center;color:#667890}
.cmj-login-subtitle{font-weight:600;color:#2c639f!important;margin-bottom:22px}
.cmj-login-emblem{width:70px;height:70px;margin:auto;background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:18px;display:grid;place-items:center;color:white;box-shadow:0 9px 20px #2563eb55}
.cmj-login-submit{background:#2563eb;border-color:#2563eb;padding:11px;border-radius:9px}
@media(max-width:900px){.cmj-shell{grid-template-columns:210px minmax(0,1fr)}.cmj-sidebar{width:210px}.cmj-content{padding:20px}.cmj-topbar{padding:0 20px}}
@media(max-width:680px){.cmj-shell{grid-template-columns:minmax(0,1fr)}.cmj-sidebar{position:relative;height:auto;width:100%}.cmj-brand{padding:12px 20px}.cmj-nav-toggle-label{display:flex;align-items:center;gap:8px;padding:9px 20px;color:#d8e5fb;cursor:pointer}.cmj-nav-scroll{display:none;max-height:60vh}.cmj-nav-toggle:checked~.cmj-nav-scroll{display:block}.cmj-topbar{position:relative}.cmj-user-name{display:none}.crud-fields,.permission-grid{grid-template-columns:1fr}}

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

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