
/*typography*/
@font-face {
	font-family: 'ITC Grouch';
	src: url(../assets/fonts/grouch-bt.ttf);
	font-weight: 600;
}

@font-face {
	font-family: 'Circular Std';
	src: url(../fonts/CircularStd-Book.otf);
	font-weight: 400;
}

@font-face {
	font-family: 'Circular Std';
	src: url(../fonts/CircularStd-Bold.otf);
	font-weight: 700;
}

@font-face {
	font-family: 'Circular Std';
	src: url(../fonts/CircularStd-Black.otf);
	font-weight: 900;
}

:root {
    --gad-teal: #1499a3;
    --gad-teal-dark: #0f7d85;
    --gad-teal-soft: rgba(20, 153, 163, 0.16);
    --gad-ink: #142033;
    --gad-muted: #6b7285;
    --gad-line: #e4e9ef;
    --gad-surface: #ffffff;
    --gad-text: 1.05rem;
    --gad-text-sm: 0.95rem;
    --gad-label: 0.98rem;
    --gad-title: 1.85rem;
    --gad-control-h: 52px;
    --gad-btn-h: 48px;
}

p, body, h1, h2, h3, h4, h5, h6,
.form-control, .btn, .menu-title, .menu-link {
    font-family: 'DM Sans', 'Circular Std', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

/* Slightly larger base type in the app shell */
.app-main,
.app-content,
.gad-admin,
.gad-auth__content {
    font-size: var(--gad-text);
}

.app-sidebar .menu-title {
    font-size: 1.02rem !important;
}

.gad-admin .page-heading.fs-2,
.gad-admin .page-heading.fs-3 {
    font-size: var(--gad-title) !important;
    line-height: 1.25 !important;
}

.gad-admin .btn,
.modal .btn {
    font-size: 1rem !important;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
}

.gad-admin .btn-sm {
    font-size: 0.92rem !important;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.gad-admin .form-control,
.gad-admin .form-select,
.modal .form-control,
.modal .form-select {
    font-size: 1rem !important;
}

.gad-admin .table,
.gad-admin__table {
    font-size: 1rem;
}

.gad-admin .table thead th,
.gad-admin__table thead th {
    font-size: 0.88rem !important;
}
.invalid-feedback div{
	font-size: 13px;
    font-weight: 500;
    line-height: 17px;
    color: red;
}

.order-steps:before
{
    left: 1px;
}

.timeline-label .fa-circle
{
    font-size: 1.15rem !important;
}

.text-pink
{
    color: #f1416c !important;    
}

.timeline-label .active .timeline-content
{
    color: #f1416c !important;
}

.modal-body
{
    padding-top: 0px;
}

form .ki-duotone
{
    cursor: pointer;
}

.address-active
{
    border: solid 2px #51cd89 !important;   
}

.address-item
{
    border:solid 1px #ccc;
    border-radius:5px;    
}

.pull-right{
    float: right !important;
}

#patient_id_error, #product_count_error
{
    margin-bottom: 10px;
}

.stepper-label h3
{
    font-size: 20px !important;
}

.stepper-icon
{
    border-radius: 0px !important;
}

.timeline-label .timeline-badge i
{
    background-color: #f6f8fa !important;
}

.center
{
    text-align: center;
}

.text-left
{
    text-align: left !important;
}
/*text-left*/


.form-check-label
{
    color: #7E8299;
}


.field-icon {
  float: right;
  margin-right: 25px;
  margin-top: -30px;
  position: relative;
  z-index: 2;
}

.cp{
    cursor: pointer;
}

.qty_msg
{
    float: right;
    font-weight: 600;
    color: red;
}

.br {
  content: '\A';
  display: contents;
  white-space: pre;
}
.form-check-custom .form-check-label {
  margin-left: 0.55rem;
  text-transform: lowercase;
}
.form-check-custom .form-check-label::first-letter {
  margin-left: 0.55rem;
  text-transform: capitalize;
}
.form-check-input {
    
    width: 1.25em;
    height: 1.25rem;
}
.btn.btn-primary {
    background-color: var(--gad-teal);
    border-color: var(--gad-teal);
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active {
    background-color: var(--gad-teal-dark) !important;
    border-color: var(--gad-teal-dark) !important;
}

.link-primary,
.text-primary,
a.link-primary {
    color: var(--gad-teal) !important;
}

.link-primary:hover {
    color: var(--gad-teal-dark) !important;
}

.app-sidebar {
    background: linear-gradient(180deg, #0e1a22 0%, #12262e 100%) !important;
}

.app-sidebar .menu-link:hover,
.app-sidebar .menu-item.here > .menu-link,
.app-sidebar .menu-item.show > .menu-link {
    background: rgba(20, 153, 163, 0.14) !important;
}

.app-header {
    border-bottom: 1px solid rgba(20, 35, 63, 0.06);
}

.app-toolbar,
.app-content {
    background: #f4f7f8;
}

/* —— Auth shell —— */
.gad-auth {
    margin: 0;
    min-height: 100vh;
    background-color: #0e1a22;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.gad-auth__shell {
    min-height: 100vh;
    width: 100%;
}

.gad-auth__main {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 2.5rem 1.5rem;
}

.gad-auth__panel {
    width: 100%;
    max-width: var(--gad-panel-max, 480px);
    animation: gad-auth-fade-up 0.55s ease-out both;
}

.gad-auth__logo {
    text-align: center;
    margin-bottom: 1.35rem;
}

.gad-auth__logo img {
    height: 64px;
    width: auto;
    max-width: 260px;
    object-fit: contain;
    border-radius: 0.45rem;
    background: #000;
    padding: 0.4rem 0.75rem;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}

.gad-auth__content {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 1.25rem;
    padding: 2.1rem 1.85rem;
    box-shadow: 0 22px 55px rgba(7, 18, 24, 0.2);
}

.gad-auth__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.35rem;
    flex-wrap: wrap;
}

.gad-auth__footer a {
    font-size: 0.95rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.25);
}

.gad-auth__footer a:hover {
    color: #fff;
}

.gad-auth__footer-dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
}

.gad-login__intro,
.gad-register__intro {
    margin-bottom: 1.5rem;
}

.gad-login__eyebrow {
    margin: 0 0 0.45rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gad-teal);
    text-align: center;
}

.gad-login__title,
.gad-register__title {
    margin: 0 0 0.5rem;
    font-size: 2rem;
    line-height: 1.2;
    color: var(--gad-ink);
    text-align: center;
}

.gad-login__subtitle {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.5;
    color: var(--gad-muted);
    text-align: center;
}

.gad-login__label,
.gad-register__label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--gad-ink);
}

.gad-login__input.form-control,
.gad-register__input.form-control,
.gad-register__input.form-select {
    min-height: 3.25rem;
    padding: 0.8rem 1.05rem;
    border: 1px solid var(--gad-line);
    border-radius: 0.65rem;
    background: #fbfcfe;
    color: var(--gad-ink);
    font-size: 1.05rem;
}

.gad-login__input.form-control:focus,
.gad-register__input.form-control:focus,
.gad-register__input.form-select:focus {
    background: #fff;
    border-color: var(--gad-teal);
    box-shadow: 0 0 0 3px var(--gad-teal-soft);
}

.gad-login__toggle.field-icon {
    margin-top: -2.1rem;
    margin-right: 1rem;
    color: var(--gad-muted);
    cursor: pointer;
}

.gad-login__link {
    font-size: 1rem;
    font-weight: 700;
    color: var(--gad-teal);
    text-decoration: none;
}

.gad-login__link:hover {
    color: var(--gad-teal-dark);
    text-decoration: underline;
}

.gad-login__submit.btn.btn-primary,
.gad-register__submit.btn.btn-primary {
    min-height: 3.35rem;
    font-size: 1.05rem !important;
    border: 0;
    border-radius: 0.65rem;
    background: var(--gad-teal);
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(20, 153, 163, 0.28);
}

.gad-login__submit.btn.btn-primary:hover,
.gad-register__submit.btn.btn-primary:hover {
    background: var(--gad-teal-dark);
}

.gad-login__secondary.btn {
    min-height: 3.35rem;
    border-radius: 0.65rem;
    font-weight: 600;
}

.gad-login__register,
.gad-register__login {
    margin: 0;
    text-align: center;
    font-size: 0.92rem;
    color: var(--gad-muted);
}

.gad-register__copy {
    font-size: 0.94rem;
    line-height: 1.55;
    color: #4b5568;
}

.gad-register__copy p {
    margin: 0 0 0.85rem;
}

.gad-register__copy ol {
    margin: 0 0 0.85rem;
    padding-left: 1.35rem;
}

.gad-register__copy li {
    margin-bottom: 0.3rem;
}

.gad-register__copy a {
    color: var(--gad-teal);
    font-weight: 700;
}

.gad-register__hint {
    font-weight: 500;
    color: var(--gad-muted);
    text-transform: none;
}

.gad-register__pin {
    width: 3rem !important;
    height: 3rem !important;
    padding: 0 !important;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 700;
    border: 1px solid var(--gad-line);
    border-radius: 0.55rem;
    background: #fbfcfe;
}

.gad-register__terms {
    margin: 1.4rem 0 1.25rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--gad-line);
}

.gad-register__terms-title {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 800;
    color: var(--gad-ink);
}

.gad-register__terms-note {
    margin: 0 0 0.85rem;
    font-size: 0.9rem;
    color: var(--gad-muted);
}

.gad-register__terms .form-check {
    margin-bottom: 0.65rem;
}

.gad-register__terms .form-check-label {
    font-size: 0.9rem;
    line-height: 1.45;
    color: #4b5568;
    font-weight: 500;
}

.gad-register__terms .form-check-label a {
    color: var(--gad-teal);
    font-weight: 700;
}

.gad-auth__content:has(.gad-register) {
    padding: 2rem 1.75rem;
}

@keyframes gad-auth-fade-up {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 575.98px) {
    .gad-auth__main {
        padding: 1.75rem 1.1rem 2rem;
    }

    .gad-auth__content {
        padding: 1.6rem 1.25rem;
    }

    .gad-auth__logo img {
        height: 52px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gad-auth__panel {
        animation: none !important;
    }
}

/* —— Admin module surfaces —— */
.gad-admin__eyebrow {
    display: inline-block;
    margin-bottom: 0.4rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gad-teal);
}

.gad-admin__subtitle {
    margin-top: 0.4rem;
    max-width: 40rem;
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--gad-muted);
}

.gad-admin__cta.btn {
    border-radius: 10px;
    font-weight: 700;
    min-height: var(--gad-btn-h);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    box-shadow: 0 8px 18px rgba(20, 153, 163, 0.22);
}

.gad-admin__back.btn {
    border: 1px solid var(--gad-line);
    border-radius: 10px;
    color: var(--gad-ink);
    font-weight: 600;
    background: #fff;
}

.gad-admin__back.btn:hover {
    border-color: var(--gad-teal);
    color: var(--gad-teal);
}

.gad-admin__card.card {
    border: 1px solid rgba(20, 35, 63, 0.06);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(20, 35, 63, 0.05);
    background: var(--gad-surface);
}

.gad-admin__card .card-header {
    background: transparent;
}

.gad-admin__search .form-control {
    border: 1px solid var(--gad-line);
    border-radius: 10px;
    background: #f8fafb;
    min-height: var(--gad-control-h);
    color: var(--gad-ink);
    font-size: 1rem;
}

.gad-admin__search .form-control:focus {
    background: #fff;
    border-color: var(--gad-teal);
    box-shadow: 0 0 0 3px var(--gad-teal-soft);
}

.gad-admin__table thead tr {
    border-bottom: 1px solid var(--gad-line);
}

.gad-admin__table thead th {
    padding-top: 1rem;
    padding-bottom: 1rem;
    letter-spacing: 0.04em;
}

.gad-admin__table tbody tr {
    transition: background-color 0.15s ease;
}

.gad-admin__table tbody tr:hover {
    background-color: rgba(20, 153, 163, 0.04);
}

.gad-admin__table tbody td {
    padding-top: 1.15rem;
    padding-bottom: 1.15rem;
    vertical-align: middle;
    color: var(--gad-ink);
    font-size: 1rem;
}

.gad-admin__form-card .card-title h2 {
    font-size: 1.4rem;
    color: var(--gad-ink);
}

.gad-admin__label {
    display: block;
    margin-bottom: 0.55rem;
    font-size: var(--gad-label);
    font-weight: 700;
    color: var(--gad-ink);
}

.gad-admin__input.form-control {
    border: 1px solid var(--gad-line);
    border-radius: 10px;
    background: #f8fafb;
    min-height: var(--gad-control-h);
    color: var(--gad-ink);
    font-weight: 500;
    font-size: 1rem;
}

.gad-admin__input.form-control:focus {
    background: #fff;
    border-color: var(--gad-teal);
    box-shadow: 0 0 0 3px var(--gad-teal-soft);
}

.gad-admin__form-card .btn {
    border-radius: 10px;
    font-weight: 700;
    min-height: var(--gad-btn-h);
}

.gad-admin__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    margin-top: 0.35rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--gad-line);
    border-radius: 10px;
    background: #f8fafb;
}

.gad-admin__meta-label {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gad-muted);
}

.gad-admin__meta-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--gad-ink);
}

.gad-admin__editor.form-control,
.gad-admin__form-card .ck-editor__editable {
    min-height: 220px;
    border-radius: 10px;
}

.gad-admin__form-card .ck.ck-editor {
    border-radius: 10px;
    overflow: hidden;
}

.gad-admin__form-card .ck.ck-toolbar {
    border-color: var(--gad-line) !important;
    background: #f8fafb !important;
}

.gad-admin__form-card .ck.ck-editor__main > .ck-editor__editable {
    border-color: var(--gad-line) !important;
    background: #fff !important;
}

.gad-address-card {
    height: 100%;
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--gad-line);
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbfc 100%);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gad-address-card:hover {
    border-color: rgba(20, 153, 163, 0.35);
    box-shadow: 0 10px 24px rgba(20, 35, 63, 0.06);
}

.gad-address-card__top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.gad-address-card__identity {
    flex: 1 1 220px;
    min-width: 0;
}

.gad-address-card__name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.55rem;
    margin-bottom: 0.55rem;
}

.gad-address-card__name {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--gad-ink);
    letter-spacing: -0.02em;
}

.gad-address-card__lines {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.55;
    color: #4b5568;
}

.gad-address-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.gad-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.2;
}

.gad-badge--success {
    color: #0f766e;
    background: rgba(20, 153, 163, 0.14);
}

.gad-badge--warning {
    color: #b45309;
    background: rgba(245, 158, 11, 0.16);
}

.gad-badge--danger {
    color: #b91c1c;
    background: rgba(239, 68, 68, 0.12);
}

.gad-badge--teal {
    color: var(--gad-teal-dark);
    background: rgba(20, 153, 163, 0.1);
    border: 1px solid rgba(20, 153, 163, 0.22);
}

.gad-admin__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 3rem 1.5rem;
    border: 1px dashed var(--gad-line);
    border-radius: 14px;
    background: #f8fafb;
    text-align: center;
    color: var(--gad-muted);
}

.gad-admin__empty strong {
    color: var(--gad-ink);
    font-size: 1.15rem;
}

.gad-profile__hero {
    display: flex;
    align-items: center;
    gap: 1rem 1.25rem;
    padding: 1.4rem 1.55rem;
    border: 1px solid rgba(20, 35, 63, 0.06);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(20, 153, 163, 0.1) 0%, rgba(255, 255, 255, 0.9) 42%),
        #fff;
    box-shadow: 0 10px 28px rgba(20, 35, 63, 0.04);
}

.gad-profile__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 16px;
    background: var(--gad-teal);
    color: #fff;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

.gad-profile__hero-name {
    margin: 0 0 0.2rem;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--gad-ink);
    letter-spacing: -0.02em;
}

.gad-profile__hero-email {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--gad-muted);
}

.gad-admin__input.form-select {
    border: 1px solid var(--gad-line);
    border-radius: 10px;
    background: #f8fafb;
    min-height: var(--gad-control-h);
    color: var(--gad-ink);
    font-weight: 500;
    font-size: 1rem;
}

.gad-admin__input.form-select:focus {
    background: #fff;
    border-color: var(--gad-teal);
    box-shadow: 0 0 0 3px var(--gad-teal-soft);
}

.gad-admin__input.form-control:disabled,
.gad-admin__input.form-control[readonly] {
    background: #eef2f4;
    color: #6b7285;
    opacity: 1;
}

.gad-orders__export {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.gad-orders__export #range_picker {
    width: 240px;
    min-height: var(--gad-control-h);
    border-radius: 10px;
}

.gad-admin__modal.modal-content {
    border: 0;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(20, 35, 63, 0.14);
    overflow: hidden;
}

.gad-admin__modal .modal-header {
    padding: 1.65rem 1.65rem 0;
}

.gad-admin__modal .modal-body {
    padding: 1.15rem 1.65rem 1.65rem;
}

.gad-admin__modal .modal-footer {
    padding: 0 1.65rem 1.65rem;
    border: 0;
}

.gad-admin__modal .modal-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--gad-ink);
}

/* —— Global modal polish (all admin modals) —— */
.modal-content {
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 40px rgba(20, 35, 63, 0.14) !important;
    overflow: hidden;
}

.modal-header {
    border-bottom: 0 !important;
    padding: 1.5rem 1.65rem 0.45rem !important;
}

.modal-footer {
    border-top: 0 !important;
    padding: 0.65rem 1.65rem 1.65rem !important;
}

.modal-body {
    padding: 1.15rem 1.65rem 1.65rem !important;
}

.modal-body > h1,
.modal-body h1.mb-3,
.modal-body > h1:first-child {
    margin-bottom: 0.5rem !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    color: var(--gad-ink) !important;
}

.modal-body > .text-muted,
.modal-body > .text-muted.fw-semibold {
    color: var(--gad-muted) !important;
    font-weight: 500 !important;
    line-height: 1.5;
    font-size: 1.02rem;
}

.modal .form-label,
.modal label.form-label {
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--gad-ink);
}

.modal .form-control,
.modal .form-select {
    min-height: var(--gad-control-h);
    border: 1px solid var(--gad-line);
    border-radius: 10px;
    background: #f8fafb;
    color: var(--gad-ink);
    font-weight: 500;
}

.modal .form-control:focus,
.modal .form-select:focus {
    background: #fff;
    border-color: var(--gad-teal);
    box-shadow: 0 0 0 3px var(--gad-teal-soft);
}

.modal .btn {
    border-radius: 10px;
    font-weight: 700;
    min-height: var(--gad-btn-h);
}

.modal .btn-light-primary {
    background: rgba(20, 153, 163, 0.1) !important;
    border: 1px solid rgba(20, 153, 163, 0.18) !important;
    color: var(--gad-teal-dark) !important;
}

.modal .btn-light-primary:hover,
.modal .btn-light-primary.active,
.modal .btn-light-primary[data-kt-modal-bidding="option"]:focus {
    background: rgba(20, 153, 163, 0.16) !important;
    border-color: var(--gad-teal) !important;
    color: var(--gad-teal-dark) !important;
}

.modal .btn-sm.btn-icon {
    min-height: auto;
    border-radius: 8px;
}

.modal .btn-active-color-primary:hover,
.modal .btn-active-light-primary:hover {
    color: var(--gad-teal) !important;
}

.gad-modal-eyebrow {
    display: inline-block;
    margin-bottom: 0.4rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gad-teal);
}

.gad-modal-choice {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 170px;
    padding: 1.4rem 1.1rem !important;
    border-radius: 14px !important;
    text-align: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.gad-modal-choice:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(20, 35, 63, 0.08);
}

.gad-modal-choice.active,
.modal .btn-light-primary.active.gad-modal-choice {
    background: rgba(20, 153, 163, 0.18) !important;
    border-color: var(--gad-teal) !important;
    box-shadow: 0 0 0 3px var(--gad-teal-soft);
}

.modal .input-group-text {
    border-radius: 10px 0 0 10px;
    background: #f0f5f6;
    border-color: var(--gad-line);
    color: var(--gad-muted);
    font-weight: 700;
}

.modal .input-group .form-control {
    border-radius: 0 10px 10px 0;
}

.gad-modal-choice h2 {
    margin: 0;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--gad-ink) !important;
}

.gad-modal-choice p {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 500;
    color: var(--gad-muted);
}

.gad-modal-choice i {
    color: var(--gad-teal);
    font-size: 2rem !important;
}

.gad-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.gad-modal-header .modal-title,
.gad-modal-header h1 {
    margin: 0;
}

.gad-pin-modal-inputs .form-control {
    height: 56px;
    font-size: 1.35rem !important;
    border-radius: 10px;
}

.gad-modal-summary {
    padding: 1rem 1.15rem;
    border-radius: 12px;
    background: #f4f9fa;
    border: 1px solid var(--gad-line);
}

.gad-order__status {
    color: var(--gad-teal-dark);
    font-weight: 700;
}

.gad-order__panel .card-title h2,
.gad-admin__card .card-title h2 {
    font-size: 1.25rem;
    color: var(--gad-ink);
}

.gad-order__meta {
    margin: 0;
}

.gad-order__meta > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--gad-line);
}

.gad-order__meta > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.gad-order__meta dt {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--gad-muted);
}

.gad-order__meta dd {
    margin: 0;
    text-align: right;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--gad-ink);
}

.gad-order__address {
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.6;
    color: #374151;
}

.gad-order__notice {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 1rem 1.2rem;
    border-radius: 12px;
    border: 1px solid transparent;
}

.gad-order__notice strong {
    font-size: 0.98rem;
}

.gad-order__notice span {
    font-size: 0.9rem;
    font-weight: 500;
}

.gad-order__notice--success {
    background: rgba(20, 153, 163, 0.1);
    border-color: rgba(20, 153, 163, 0.28);
    color: #0f5f66;
}

.gad-order__notice--danger {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.22);
    color: #991b1b;
}

.gad-order__alert-card {
    border-color: rgba(239, 68, 68, 0.18);
    background: linear-gradient(180deg, #fff7f7 0%, #ffffff 55%);
}

.gad-order__totals-row td {
    padding-top: 1.1rem !important;
    border-top: 1px solid var(--gad-line);
}

.gad-order__grand-total td {
    padding-top: 1rem !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--gad-ink) !important;
}

.gad-form-section {
    margin-bottom: 1.75rem;
    padding-bottom: 0.25rem;
}

.gad-form-section__title {
    margin: 0 0 1rem;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gad-teal);
}

.gad-pin-row {
    gap: 0.5rem;
}

.gad-pin-input.form-control {
    width: 52px;
    height: 56px;
    border: 1px solid var(--gad-line);
    border-radius: 10px;
    background: #f8fafb;
    text-align: center;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--gad-ink);
}

.gad-pin-input.form-control:focus {
    background: #fff;
    border-color: var(--gad-teal);
    box-shadow: 0 0 0 3px var(--gad-teal-soft);
}

.gad-matrix-table thead th {
    background: #f4f9fa;
    border-bottom: 1px solid var(--gad-line) !important;
    padding-top: 0.95rem !important;
    padding-bottom: 0.95rem !important;
}

.gad-matrix-table tbody tr:hover {
    background-color: rgba(20, 153, 163, 0.04);
}

.gad-matrix-table__cat {
    display: inline-block;
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--gad-ink);
}

.gad-matrix-table .form-check-input {
    width: 1.35rem;
    height: 1.35rem;
    cursor: pointer;
}

.gad-matrix-table .form-check-input:checked {
    background-color: var(--gad-teal);
    border-color: var(--gad-teal);
}

.gad-role-perm {
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--gad-line);
}

.gad-role-perm:first-child {
    padding-top: 0.25rem;
}

.gad-role-perm:last-of-type {
    border-bottom: 0;
    padding-bottom: 0.5rem;
}

.gad-role-perm__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-bottom: 0.9rem;
}

.gad-role-perm__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--gad-ink);
    letter-spacing: -0.02em;
}

.gad-role-perm__count {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gad-teal-dark);
    background: rgba(20, 153, 163, 0.1);
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
}

.gad-role-perm__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.65rem;
}

.gad-role-perm__item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--gad-line);
    border-radius: 10px;
    background: #f8fafb;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.gad-role-perm__item:hover {
    border-color: rgba(20, 153, 163, 0.35);
    background: #fff;
}

.gad-role-perm__item:has(input:checked) {
    border-color: rgba(20, 153, 163, 0.4);
    background: rgba(20, 153, 163, 0.08);
}

.gad-role-perm__item span {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--gad-ink);
    line-height: 1.3;
}

.gad-role-perm__item .form-check-input {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0;
    flex-shrink: 0;
    cursor: pointer;
}

.gad-role-perm__item .form-check-input:checked {
    background-color: var(--gad-teal);
    border-color: var(--gad-teal);
}

.gad-bulk__filters {
    width: 100%;
}

.gad-bulk__category {
    width: 220px;
    max-width: 100%;
    min-height: 44px;
}

.gad-bulk__table input.form-control {
    min-height: 40px;
    border: 1px solid var(--gad-line);
    border-radius: 8px;
    background: #f8fafb;
    font-weight: 600;
    color: var(--gad-ink);
}

.gad-bulk__table input.form-control:focus {
    background: #fff;
    border-color: var(--gad-teal);
    box-shadow: 0 0 0 3px var(--gad-teal-soft);
}

.gad-clinic-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 1.65rem 1.35rem 1.4rem;
    border: 1px solid rgba(20, 35, 63, 0.06);
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
    box-shadow: 0 10px 24px rgba(20, 35, 63, 0.04);
    text-align: center;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gad-clinic-card:hover {
    border-color: rgba(20, 153, 163, 0.35);
    box-shadow: 0 14px 28px rgba(20, 35, 63, 0.08);
}

.gad-clinic-card__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 0.95rem;
    border-radius: 14px;
    background: var(--gad-teal);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.gad-clinic-card__name {
    margin: 0 0 0.65rem;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--gad-ink);
    letter-spacing: -0.02em;
    line-height: 1.35;
}

.gad-clinic-card .btn {
    border-radius: 10px;
    font-weight: 700;
}

.gad-dash-card,
.gad-dash-stat,
.gad-dash-cta {
    display: block;
    height: 100%;
    padding: 1.35rem 1.4rem;
    border: 1px solid rgba(20, 35, 63, 0.06);
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
    box-shadow: 0 10px 24px rgba(20, 35, 63, 0.04);
    text-decoration: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.gad-dash-card--link:hover,
.gad-dash-stat:hover,
.gad-dash-cta:hover {
    border-color: rgba(20, 153, 163, 0.35);
    box-shadow: 0 14px 28px rgba(20, 35, 63, 0.08);
    transform: translateY(-2px);
}

.gad-dash-card__top {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

.gad-dash-card__label {
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gad-teal);
}

.gad-dash-card__value,
.gad-dash-stat__value {
    font-size: 2.45rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    color: var(--gad-ink);
}

.gad-dash-card__hint {
    font-size: 1.02rem;
    font-weight: 500;
    color: var(--gad-muted);
    line-height: 1.45;
}

.gad-dash-card__breakdown {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.gad-dash-card__breakdown > div {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 1.02rem;
    font-weight: 600;
    color: #4b5568;
}

.gad-dash-card__breakdown strong {
    margin-left: auto;
    color: var(--gad-ink);
    font-weight: 800;
}

.gad-dash-card__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    flex-shrink: 0;
}

.gad-dash-card__dot--teal { background: var(--gad-teal); }
.gad-dash-card__dot--ink { background: #1f2937; }
.gad-dash-card__dot--warn { background: #d97706; }

.gad-dash-stat {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.4rem;
    min-height: 145px;
}

.gad-dash-stat__label {
    font-size: 1rem;
    font-weight: 600;
    color: var(--gad-muted);
}

.gad-dash-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 145px;
    text-align: center;
    background:
        linear-gradient(135deg, rgba(20, 153, 163, 0.1) 0%, rgba(255, 255, 255, 0.95) 50%),
        #fff;
}

.gad-dash-cta img {
    height: 58px;
    width: auto;
}

.gad-dash-cta span {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--gad-teal-dark);
}

.gad-dash-banner {
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(20, 35, 63, 0.06);
    box-shadow: 0 10px 24px rgba(20, 35, 63, 0.04);
}

.gad-dash-banner img {
    display: block;
    width: 100%;
    height: auto;
}

.gad-order-steps-card .card-body {
    padding: 1.25rem 1rem;
}

.gad-order-steps .timeline-item {
    margin-bottom: 1.1rem;
}

.gad-order-steps .timeline-item.active .timeline-content,
.gad-order-steps .timeline-item.done .timeline-content {
    color: var(--gad-teal-dark) !important;
    font-weight: 700;
}

.gad-order-steps .timeline-item.active .timeline-badge i,
.gad-order-steps .timeline-item.done .timeline-badge i {
    color: var(--gad-teal) !important;
}

.gad-order-flow__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 1.5rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(20, 153, 163, 0.2);
    border-radius: 12px;
    background: rgba(20, 153, 163, 0.06);
    color: #374151;
    font-weight: 500;
    line-height: 1.5;
}

.gad-order-flow__section {
    margin-bottom: 1.75rem;
}

.gad-order-flow__section-head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1.1rem;
}

.gad-order-flow__step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: var(--gad-teal);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 800;
    flex-shrink: 0;
}

.gad-order-flow__section-head h3 {
    margin: 0 0 0.2rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--gad-ink);
}

.gad-order-flow__section-head p {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--gad-muted);
}

.gad-order-flow .order-products input.form-control {
    min-height: 40px;
    border: 1px solid var(--gad-line);
    border-radius: 8px;
    background: #f8fafb;
}

.gad-delivery-addresses {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.gad-delivery-addresses .address-item,
.addresses .address-item {
    margin: 0 !important;
    padding: 0.85rem 1rem !important;
    border: 1px solid var(--gad-line) !important;
    border-radius: 12px !important;
    background: #f8fafb;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.gad-delivery-addresses .address-item:hover,
.addresses .address-item:hover {
    border-color: rgba(20, 153, 163, 0.35) !important;
    background: #fff;
}

.addresses .address-active,
.gad-delivery-addresses .address-active {
    border: solid 2px var(--gad-teal) !important;
    background: rgba(20, 153, 163, 0.06) !important;
    box-shadow: 0 0 0 3px var(--gad-teal-soft);
}

.gad-delivery-summary {
    padding: 1.25rem 1.35rem;
    border: 1px solid rgba(20, 35, 63, 0.06);
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
    box-shadow: 0 10px 24px rgba(20, 35, 63, 0.04);
}

.gad-delivery-summary__title {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: 800;
    color: var(--gad-ink);
}

.gad-delivery-summary__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--gad-muted);
}

.gad-delivery-summary__row strong {
    color: var(--gad-ink);
    font-weight: 800;
}

.gad-delivery-summary__total {
    margin-bottom: 0;
    font-size: 1.05rem;
    color: var(--gad-ink);
}

.gad-delivery-summary__total strong {
    font-size: 1.2rem;
    color: var(--gad-teal-dark);
}

.gad-payment-box {
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--gad-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(20, 35, 63, 0.04);
}

.gad-payment-box #payment-element,
.gad-payment-box #link-authentication-element {
    margin-bottom: 0.75rem;
}

.gad-payment-message {
    margin-top: 0.85rem;
    padding: 0.75rem 0.9rem;
    border-radius: 10px;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.18);
    color: #991b1b;
    font-size: 0.9rem;
    font-weight: 600;
}

.gad-payment-message.hidden,
#payment-message.hidden,
.spinner.hidden,
.hidden {
    display: none !important;
}

.gad-reason-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.65rem;
}

.gad-doc-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.gad-profile__hero {
    flex-wrap: wrap;
}