/* Shared visual language adapted from D:\laragon\www\asset: AdminLTE shell,
   deep teal navigation, restrained blue-green accents, and compact cards. */
:root {
    --simcen-ink: #203b46;
    --simcen-muted: #71838b;
    --simcen-teal: #163342;
    --simcen-teal-2: #1e5361;
    --simcen-accent: #36a888;
    --simcen-blue: #287fa6;
    --simcen-canvas: #f2f6f7;
    --simcen-line: #dfe8eb;
    --simcen-card: #fff;
    --simcen-shadow: 0 8px 24px rgba(27, 59, 72, .075);
}

html { background: var(--simcen-canvas); }
body { color: var(--simcen-ink); background: var(--simcen-canvas); font-family: "Segoe UI", Tahoma, sans-serif; }
a { color: #287b86; }
a:hover { color: #145d68; }
.btn, button, input, select, textarea { border-radius: 7px; }
.btn-primary, .btn-info { border-color: #247c91; background: #247c91; }
.btn-primary:hover, .btn-info:hover { border-color: #185e70; background: #185e70; }
.form-control, .form-select, select, textarea { min-height: 40px; border-color: #d4e0e4; border-radius: 7px; box-shadow: none; }
.form-control:focus, .form-select:focus, select:focus, textarea:focus { border-color: #4aab9a; box-shadow: 0 0 0 .18rem rgba(54, 168, 136, .15); }
.card { border: 1px solid var(--simcen-line); border-radius: 11px; box-shadow: var(--simcen-shadow); }
.card-header { border-bottom-color: #e7eef0; background: linear-gradient(110deg, #f5faf9, #fff 72%); color: var(--simcen-ink); }
.table { color: #344d57; }
.table thead th { border-top: 0; background: #f1f6f7; color: #526b75; font-size: .77rem; letter-spacing: .035em; text-transform: uppercase; }
.table td, .table th { vertical-align: middle; }
.alert { border: 0; border-radius: 9px; box-shadow: 0 4px 15px rgba(27, 59, 72, .06); }
.badge { border-radius: 999px; padding: .38em .65em; }

/* Admin workspace */
body.simcen-admin #app { min-height: 100vh; background: var(--simcen-canvas); }
body.simcen-admin #sidebar { background: var(--simcen-teal); box-shadow: 5px 0 24px rgba(13, 35, 45, .12); }
body.simcen-admin #sidebar .sidebar-wrapper { background: transparent; }
body.simcen-admin #sidebar .sidebar-header { padding: 1.25rem 1.1rem 1rem; border-bottom: 1px solid rgba(255,255,255,.1); }
body.simcen-admin #sidebar .simcen-sidebar-brand { display: flex; align-items: center; justify-content: space-between; }
body.simcen-admin #sidebar .simcen-sidebar-brand > a:first-child { display: flex; min-width: 0; align-items: center; gap: .75rem; color: #fff; text-decoration: none; }
body.simcen-admin .simcen-brand-mark { display: grid; width: 2.8rem; height: 2.8rem; flex: 0 0 2.8rem; place-items: center; overflow: hidden; padding: .25rem; border: 1px solid rgba(170,225,239,.5); border-radius: 11px; background: #fff; box-shadow: 0 4px 13px rgba(2,15,24,.24); }
body.simcen-admin .simcen-brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
body.simcen-admin .simcen-brand-copy { display: flex; min-width: 0; flex-direction: column; gap: .15rem; }
body.simcen-admin .simcen-brand-copy strong { color: #fff; font-size: 1.15rem; letter-spacing: .045em; }
body.simcen-admin .simcen-brand-copy strong span { color: #6ed0b3; }
body.simcen-admin .simcen-brand-copy small { color: #a8c1c9; font-size: .66rem; line-height: 1.35; }
body.simcen-admin #sidebar .simcen-sidebar-close { color: #b9d0d5; }
body.simcen-admin #sidebar .theme-toggle, body.simcen-admin #sidebar hr { display: none !important; }
body.simcen-admin #sidebar .sidebar-menu { padding: .65rem .55rem 1.25rem; }
body.simcen-admin #sidebar .sidebar-menu .menu { margin: 0; padding: 0; }
body.simcen-admin #sidebar .sidebar-title { margin: 1.1rem .65rem .35rem; color: #99b5be; font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
body.simcen-admin #sidebar .sidebar-item { margin: .2rem 0; list-style: none; }
body.simcen-admin #sidebar .sidebar-link { display: flex; align-items: center; gap: .7rem; min-height: 42px; padding: .65rem .8rem; border-radius: 7px; color: #d8e5e9; text-decoration: none; transition: background .18s, color .18s, transform .18s; }
body.simcen-admin #sidebar .sidebar-link i { width: 1.15rem; color: #a9c6cf; text-align: center; }
body.simcen-admin #sidebar .sidebar-link:hover { transform: translateX(2px); background: rgba(255,255,255,.08); color: #fff; }
body.simcen-admin #sidebar .sidebar-item.active > .sidebar-link,
body.simcen-admin #sidebar .sidebar-link:has(.btn-info) { background: #247c91; color: #fff; box-shadow: 0 5px 14px rgba(0,0,0,.12); }
body.simcen-admin #sidebar .sidebar-link .btn-info { margin: 0; padding: 0; border: 0; background: transparent; color: #fff; font-size: inherit; }
body.simcen-admin #main { min-width: 0; background: var(--simcen-canvas); }
body.simcen-admin #main-content { padding: 1.15rem clamp(1rem, 2.5vw, 2rem) 2rem; }
body.simcen-admin .navbar-top { min-height: 64px; margin: 0; padding: .65rem 1.4rem; border-bottom: 1px solid #e0e8ea; background: rgba(255,255,255,.96); box-shadow: 0 3px 14px rgba(27,59,72,.04); }
body.simcen-admin .navbar-top .burger-btn { color: #44616b; }
body.simcen-admin .navbar-top .user-name h6 { color: var(--simcen-ink); }
body.simcen-admin .page-heading { margin: .4rem 0 1.2rem; padding: .9rem 1.1rem; border: 1px solid #e1e9eb; border-radius: 10px; background: radial-gradient(circle at 100% 0, rgba(54,168,136,.09), transparent 35%), #fff; box-shadow: var(--simcen-shadow); }
body.simcen-admin .page-heading h3 { margin: 0; color: var(--simcen-ink); font-size: 1.25rem; font-weight: 700; }
body.simcen-admin .page-content > .row { row-gap: .85rem; }
body.simcen-admin .card { overflow: hidden; }
body.simcen-admin .card-body { padding: 1.15rem; }
body.simcen-admin .card-header h4, body.simcen-admin .card-header h5 { color: var(--simcen-ink); }
body.simcen-admin .stats-icon { border-radius: 10px; }
body.simcen-admin .footer { margin: 1rem 1.4rem; padding-top: .8rem; border-top: 1px solid var(--simcen-line); color: var(--simcen-muted); font-size: .78rem; }
body.simcen-admin .table-responsive { border-radius: 8px; }
body.simcen-admin .btn { font-weight: 600; }

/* Public information and booking pages */
body.simcen-public { background: #f4f7f7; }
body.simcen-public .site-header { z-index: 100; }
body.simcen-public .site-header .main-bar { border-bottom: 1px solid rgba(255,255,255,.1); background: linear-gradient(110deg, #153746, #1e5361); box-shadow: 0 7px 24px rgba(14,43,54,.18); }
body.simcen-public .site-header .logo-headers img { max-height: 56px; width: auto; object-fit: contain; }
body.simcen-public .site-header .extra-nav a { color: #edf6f5; font-weight: 600; }
body.simcen-public .site-header .header-nav .nav a { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 9px; color: #d7e9e9; transition: background .2s, color .2s; }
body.simcen-public .site-header .header-nav .nav a { display: flex; width: auto; min-height: 42px; align-items: center; justify-content: center; gap: .5rem; padding: 0 .75rem; }
body.simcen-public .site-header .header-nav .nav a span { color: #e8f2f2; font-size: .76rem; font-weight: 650; }
body.simcen-public .site-header .header-nav .nav a i { font-size: 1rem; }
body.simcen-public .site-header .header-nav .nav a:hover { background: rgba(255,255,255,.12); color: #fff; }
body.simcen-public .page-wraper { background: #f4f7f7; }
body.simcen-public .page-content, body.simcen-public .page-content-inner { color: var(--simcen-ink); }
body.simcen-public .section-full, body.simcen-public .section-area { padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(2rem, 5vw, 4rem); }
body.simcen-public .section-head, body.simcen-public .page-heading { margin-bottom: 1.25rem; }
body.simcen-public .section-head h1, body.simcen-public .section-head h2, body.simcen-public h1, body.simcen-public h2, body.simcen-public h3 { color: var(--simcen-ink); }
body.simcen-public .doctor-bnr { min-height: min(76vh, 720px); background: radial-gradient(circle at 80% 12%, rgba(92,194,164,.22), transparent 26%), linear-gradient(120deg, #123544, #1a5a69 66%, #267c7c) !important; }
body.simcen-public .doctor-bnr::before { background: linear-gradient(115deg, rgba(15,46,59,.18), rgba(23,77,88,.04) 62%, rgba(18,50,63,.08)); }
body.simcen-public .doctor-bnr .banner-inner { width: min(1160px, 92%); margin: 0 auto; padding-top: clamp(3.5rem, 8vw, 7rem); }
body.simcen-public .doctor-bnr .sub-title2 { max-width: 850px; font-size: clamp(1.35rem, 3.1vw, 2.45rem); font-weight: 650; line-height: 1.28; letter-spacing: -.025em; }
body.simcen-public .doctor-bnr .title { margin: .45rem 0 1.6rem; color: #fff; font-size: clamp(3.3rem, 8vw, 6.6rem); font-weight: 800; letter-spacing: -.055em; line-height: 1; }
body.simcen-public .doctor-bnr .title code { color: #76d6b8; font-family: inherit; font-size: .72em; font-weight: 650; }
body.simcen-public .doctor-bnr .text-gradient { background: linear-gradient(90deg, #9de5c9, #83cfe0); background-clip: text; -webkit-text-fill-color: transparent; }
body.simcen-public .doctor-bnr .banner-content, body.simcen-public .doctor-bnr .banner-inner { color: #fff; }
body.simcen-public .doctor-bnr h1, body.simcen-public .doctor-bnr h2, body.simcen-public .doctor-bnr h3 { color: #fff; }
body.simcen-public .doctor-bnr .btn, body.simcen-public .doctor-bnr .site-button { margin: .3rem .3rem .3rem 0; border-radius: 7px; color: #fff; text-decoration: none; }
body.simcen-public .doctor-bnr .site-button.outline-half { border-color: rgba(220,246,240,.55); background: rgba(255,255,255,.075); box-shadow: 0 6px 18px rgba(4,25,34,.14); }
body.simcen-public .doctor-bnr .site-button.outline-half:hover { border-color: #75d7b5; background: #247c91; color: #fff; }
body.simcen-public .doctor-bnr .main-content { border: 4px solid rgba(255,255,255,.16); border-radius: 12px; box-shadow: 0 20px 48px rgba(5,27,37,.3); }
body.simcen-public .copyright-fixed { color: rgba(255,255,255,.75); }
body.simcen-public .card, body.simcen-public .dez-box, body.simcen-public .content-box { border: 1px solid var(--simcen-line); border-radius: 11px; background: #fff; box-shadow: var(--simcen-shadow); }
body.simcen-public table { background: #fff; }
body.simcen-public .form-control, body.simcen-public .form-select { min-height: 42px; }
body.simcen-public .btn-primary, body.simcen-public .site-button { border-color: #247c91; background: #247c91; }
body.simcen-public .btn-primary:hover, body.simcen-public .site-button:hover { border-color: #185e70; background: #185e70; }
body.simcen-public .dlab-bnr-inr { min-height: 220px; padding: 4.5rem 0 3.25rem; background: linear-gradient(115deg, #153746, #1e6671 72%, #278b86); }
body.simcen-public .dlab-bnr-inr::before { background: radial-gradient(circle at 86% 16%, rgba(126,220,193,.22), transparent 28%), linear-gradient(90deg, rgba(12,42,54,.18), transparent); }
body.simcen-public .dlab-bnr-inr h1, body.simcen-public .dlab-bnr-inr h2 { color: #fff; font-weight: 750; letter-spacing: -.025em; }
body.simcen-public .dlab-bnr-inr .breadcrumb { color: rgba(255,255,255,.82); }
body.simcen-public .site-footer, body.simcen-public footer { background-color: #153746; color: #c5d7db; }
body.simcen-public .site-footer h4, body.simcen-public .site-footer h5, body.simcen-public footer h4 { color: #fff; }

/* Login, registration and recovery share the split-screen portal style. */
body.simcen-auth, body:has(.login-22) { min-height: 100vh; background: #edf3f4; }
body.simcen-auth #auth, body:has(.login-22) .login-22 { min-height: 100vh; background: radial-gradient(circle at 10% 15%, rgba(54,168,136,.12), transparent 30%), linear-gradient(135deg, #eaf1f2, #f7f9f9); }
body.simcen-auth #auth .row, body:has(.login-22) .login-22 .row { min-height: 100vh; align-items: stretch; }
body.simcen-auth #auth-left, body:has(.login-22) .login-inner-form { max-width: 560px; margin: 0 auto; padding: clamp(2rem, 6vw, 5rem); }
body.simcen-auth #auth .auth-logo img { max-height: 54px; width: auto; }
body.simcen-auth #auth .auth-title, body:has(.login-22) .login-inner-form h2 { color: #173d4c; font-weight: 750; letter-spacing: -.035em; }
body.simcen-auth #auth .form-control { min-height: 48px; border: 1px solid #d5e1e4; border-radius: 8px; box-shadow: none; }
body.simcen-auth #auth .btn-primary { min-height: 48px; border: 0; border-radius: 8px; background: #247c91; box-shadow: 0 8px 18px rgba(36,124,145,.18); }
body.simcen-auth #auth-right, body:has(.login-22) .login-22 .bg-img { position: relative; min-height: 100vh; overflow: hidden; background: linear-gradient(135deg, rgba(19,55,70,.83), rgba(32,112,112,.56)), url('/simcen/public/template/dexignlab/images/background/bg3.jpg') center/cover; }
body.simcen-auth #auth-right::after, body:has(.login-22) .login-22 .bg-img::after { position: absolute; inset: auto -10% -32% 12%; height: 65%; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; content: ''; transform: rotate(-13deg); }
body.simcen-auth #auth-right::before, body:has(.login-22) .login-22 .bg-img::before { position: absolute; inset: 8% auto auto 10%; width: 15rem; height: 15rem; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ''; box-shadow: 0 0 0 28px rgba(255,255,255,.035), 0 0 0 56px rgba(255,255,255,.025); }
body:has(.login-22) .login-22 .form-section { display: flex; align-items: center; background: #f7f9f9; }
body:has(.login-22) .login-22 .login-inner-form { width: 100%; }
body:has(.login-22) .login-22 .login-inner-form .details { padding: 0; }
body:has(.login-22) .login-22 .login-inner-form img { max-width: 220px; max-height: 65px; object-fit: contain; }
body:has(.login-22) .login-22 .login-inner-form h2 { margin: 2rem 0 .5rem; }
body:has(.login-22) .login-22 .login-inner-form h5 { color: var(--simcen-muted); font-size: .9rem; line-height: 1.5; }
body:has(.login-22) .login-22 .form-control { min-height: 48px; border: 1px solid #d5e1e4; border-radius: 8px; box-shadow: none; }
body:has(.login-22) .login-22 .btn-primary { min-height: 46px; border: 0; border-radius: 8px; background: #247c91; font-weight: 700; }
body:has(.login-22) .login-22 .informeson { position: relative; z-index: 1; max-width: 620px; padding: clamp(2rem, 7vw, 6rem); color: #fff; }
body:has(.login-22) .login-22 .informeson h1, body:has(.login-22) .login-22 .informeson p { color: #fff; }
body:has(.login-22) .login-22 .informeson h1 { font-size: clamp(2.6rem, 5vw, 4.8rem); font-weight: 750; letter-spacing: -.045em; }

/* Confirm dialogs used by booking actions. */
body.simcen-admin .simcen-action-confirm-modal .modal-content { overflow: hidden; border: 1px solid #e6edf0; border-radius: 16px; box-shadow: 0 24px 70px rgba(19,55,70,.24); }
body.simcen-admin .simcen-action-confirm-modal .modal-body { padding: 2.5rem; }
body.simcen-admin .simcen-action-confirm-modal .simcen-action-confirm-icon { display: grid; width: 76px; height: 76px; margin: 0 auto; place-items: center; border: 4px solid #ffd2ae; border-radius: 50%; color: #f1a15f; font-size: 3rem; line-height: 1; }
body.simcen-admin .simcen-action-confirm-modal .modal-title { color: var(--simcen-ink); font-weight: 750; }
body.simcen-admin .simcen-action-confirm-modal #data-action-confirmation-message { margin-top: .65rem; line-height: 1.6; }
body.simcen-admin .simcen-action-confirm-modal .btn { min-width: 112px; border-radius: 8px; }

@media (max-width: 991.98px) {
    body.simcen-admin #main-content { padding: .8rem; }
    body.simcen-public .site-header .logo-headers img { max-width: 220px; max-height: 46px; }
    body.simcen-public .site-header .header-nav .nav a { min-height: 38px; padding: 0 .45rem; }
    body.simcen-public .site-header .header-nav .nav a span { font-size: .68rem; }
    body:has(.login-22) .login-22 .bg-img { min-height: 38vh; }
    body:has(.login-22) .login-22 .informeson { padding: 2rem; }
}
@media (max-width: 575.98px) {
    body.simcen-admin .navbar-top { padding: .6rem .8rem; }
    body.simcen-auth #auth-left, body:has(.login-22) .login-inner-form { padding: 1.5rem; }
    body.simcen-public .section-full, body.simcen-public .section-area { padding-top: 2rem; padding-bottom: 2rem; }
    body.simcen-public .doctor-bnr .banner-inner { padding-top: 3rem; }
    body.simcen-public .site-header .header-nav .nav a span { display: none; }
}
