/*
*Template Name: Syntra - Bootstrap 4 Admin Dashboard
*Author: Mannat-Themes
*Version : 1.0
*File: Main Css File
*/


/*
* ==============================
* 01.Body css
* 02.Bootstrap-custom
    -Page-custom
* 03.Typography
* 04.Tabs 
* 05.Modal
* 06.Icons
* 07.Bootstrap-UI
* 08.Progressbar
* 09.Carousel  
* 10.Grid   
* 11.Calender
* 12.Portlets
* 13.Widgets
     Charts
* 14.Nesteble
* 15.Forms
* 16.Form-editor
* 17.Tables
* 18.Mail
* 19.Google-map
* 20.Profile
* 21.Timeline
* 22.Login-Error
* 23.Footer-Content
* 24.Responsive
* ===============================
*/


/*---------------------
   1. body css
-----------------------*/
@import url('https://fonts.googleapis.com/css?family=Nunito+Sans:400,600,700');
@import url('https://fonts.googleapis.com/css?family=Archivo+Black');
@import url('https://fonts.googleapis.com/css?family=Orbitron:900');

body {
    font-family: 'Nunito Sans', sans-serif;
    color: #323232;
    font-size: 14px;
    line-height: 20px;
    overflow-x: hidden;
    background: #2d3540;
}

a{
    color: #888888;
    text-decoration: none;
}
a:hover {
    color: #555555;
    text-decoration: none;
}

p {
    font-size: 14px;
}
/* -------------------
  2.Bootstrap-custom
----------------------*/

/*--bg-color--*/

.bg-primary {
    background-color: #2e61f2 !important;
}

.bg-secondary {
    background-color: #a0a9b3 !important;
}

.bg-success {
    background-color: #4cb04e !important;
}

.bg-danger {
    background-color: #ff5450 !important;
}

.bg-warning {
    background-color: #fdc107 !important;
}

.bg-info {
    background-color: #00bcd2 !important;
}

.bg-dark {
    background-color: #333 !important;
}


/*custom*/

.bg-facebook {
    background-color: #3B579D;
}

.bg-twitter {
    background-color: #2CAAE1;
}

.bg-dribbble {
    background-color: #ea4c89;
}

.bg-google {
    background-color: #dc4a38;
}

.bg-range {
    background-color: #1a94a09e;
}

.bg-blue {
    background-color: #2b3d54;
}


/*-- Button---*/

.btn-primary {
    background-color: #2e61f2 !important;
    border-color: #2e61f2 !important;
    color: #fff;
}

.btn-secondary {
    color: #fff;
    background-color: #a0a9b3 !important;
    border-color: #a0a9b3 !important;
}

.btn-success {
    color: #fff;
    background-color: #4cb04e !important;
    border-color: #4cb04e !important;
}

.btn-danger {
    color: #fff;
    background-color: #ff5450 !important;
    border-color: #ff5450 !important;
}

.btn-warning {
    color: #111;
    background-color: #fdc107 !important;
    border-color: #fdc107 !important;
    color: #ffffff !important;
}

.btn-info {
    color: #fff;
    background-color: #00bcd2 !important;
    border-color: #00bcd2 !important;
}

.btn-dark {
    color: #fff;
    background-color: #424858 !important;
    border-color: #424858 !important;
}

.btn-light-blue {
    background-color: #81c5ec;
    color: #fff;
}

.btn-outline-secondary {
    border-color: #cecece;
}

.btn:focus .btn:active {
    outline: none;
    box-shadow: none;
}

.btn-tag a {
    display: inline;
}

.btn-rounded {
    border-radius: 1.25rem;
}

.icon-name i {
    padding-right: 5px;
}

.curcle-btn {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    padding-top: 8px;
}


/*---bs-dropdown--*/

.breadcrumb {
    background-color: transparent;
    margin-bottom: 15px;
    margin-top: 5px;
}

.dropdown-menu {
    padding: 4px 0;
    font-size: 15px;
    box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08);
    border-color: #eff3f6;
}

.dropdown-item.active,
.dropdown-item:active {
    color: #0a1832;
    text-decoration: none;
    background-color: #eff3f6;
}

.dropdown-item {
    padding: 6px 1.5rem;
}


/*--color--*/

.primary {
    color: #2e61f2;
}

.secondary {
    color: #a0a9b3;
}

.success,
.widget-box .fa-line-chart {
    color: #4cb04e;
}

.danger,
.widget-box .fa-shopping-cart {
    color: #ff5450;
}

.warning,
.widget-box .fa-users {
    color: #fdc107;
}

.info,
.widget-box .fa-envelope {
    color: #00bcd2;
}

.dark {
    color: #333;
}

.light-dark {
    color: #6b6a6a;
    font-weight: 300;
}

.m-b-30 {
    margin-bottom: 30px;
}

.table td,
.table thead th,
.table-responsive-sm table th {
    border-bottom: 1px solid #e9ecef;
    border-top: none;
}

.btn-outline-dark {
    color: #959596;
    background-color: transparent;
    background-image: none;
    border-color: #9e9e9e;
}

.text-muted {
    color: #707070!important;
}

.header-title {
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 15px;
    font-weight: 700;
}

/*-------page custom-------*/

.section-title {
    margin-top: 0;
    font-size: 24px;
    font-weight: 500;
    color: #6f6f6f;
}

.page-head {
    padding: 20px 0px;
    position: relative;
}

.page-head h4 {
    font-size: 20px;
    font-weight: 700;
}

.page-head .sub-title {
    color: #a3a3a3;
    font-size: 14px;
}

.border-b {
    border-bottom: 1px solid #ddd !important;
}
.border-l{
    border-left: 1px solid #ddd;
}


/*------------------
    3.typography
-------------------*/

.card-title {
    color: #394263;
}

.parapraph p {
    word-spacing: 2px;
}

.heading-px span {
    float: right;
    font-size: 18px;
    color: #868e96;
}

.blockquote p {
    line-height: 1.5;
    font-size: 16px;
}

.blockquote img {
    width: 60px;
    height: 60px;
    float: left;
    margin-right: 20px;
}

.blockquote img.pull-right {
    float: right;
    margin-left: 20px;
}

.color-table .table tbody td p {
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 5px;
    padding-top: 5px;
    font-size: 16px;
}

.table th {
    font-size: 16px;
    font-weight: 700;
}

.icon-list li i {
    font-size: 16px;
    margin-right: 5px;
    color: #28a745;
}


/*--card--*/

.card .card-body .card-text {
    color: #888;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.5px;
}


/*-------------
    4.tabs
-------------*/

.nav-tabs .nav-link {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    color: #888;
    font-weight: 700;
}

.nav-tabs {
    border-bottom: 1px solid #2e61f2;
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
    border-color: transparent;
}

.nav-tabs .nav-item.show .nav-link,
.right-bar .nav-tabs .active,
.nav-tabs .nav-link.active {
    color: #495057;
    background-color: #fff;
    border-color: #fff #fff #2e61f2;
}

.profile-link i {
    padding: 5px;
    font-size: 16px;
    color: #2e61f2;
}

.home-text {
    text-align: center;
    color: #2e61f2;
}


/*--tab-2--*/

.tab-2 .nav-tabs .nav-item.show .nav-link,
.tab-2 .nav-tabs .nav-link.active,
.tab-4 .nav-tabs .nav-link.active,
.tab-7 .flex-column .nav-link.active {
    color: #888;
    background-color: #fff;
    border-bottom-color: #fff;
}

.tab-right ul {
    float: right;
}

.tab-right .nav-tabs {
    border: none;
}

.tab-right {
    border-bottom: 1px solid #2e61f2;
}

.nav-justified i {
    margin-right: 5px;
    font-size: 18px;
}

.tab-5 i {
    font-size: 18px;
}

.tab-7 .flex-column {
    display: table-cell;
    min-width: 120px;
    vertical-align: top;
    background-color: #f3f4f5;
    text-align: center;
}

.tab-7 .tab-content {
    background: #ffffff;
    display: table-cell;
    margin-bottom: 30px;
    vertical-align: top;
    width: 100%;
}

.tab-7 .nav-link {
    color: #2e61f2;
    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
}


/*---------------
   5. Modals
-----------------*/

.card .modal-box .modal {
    position: relative;
    display: block;
    z-index: 1;
}

/*------------------
   6.icons
-------------------*/

.icon-list i {
    display: inline-block;
    width: 40px;
    margin: 0;
    font-size: 18px;
    text-align: center;
    vertical-align: middle;
    -webkit-transition: font-size .2s;
    transition: font-size .2s;
}

.icon-list div {
    line-height: 45px;
    white-space: inherit;
    cursor: pointer;
    color: #777;
}

.icon-list div:hover {
    background-color: #eee;
}

/*--------------------
    7.Bootstrap-UI
---------------------*/

.jumbotron .lead {
    line-height: 1.5;
}

.badge {
    padding: 5px 7px;
    font-size: 12px !important;
    font-weight: normal;
    color: #ffffff;
    border-radius: 12px;
}


/*----------------- 
    8.progress
------------------*/


/*--- Progress Vertical--- */

.progress-vertical {
    min-height: 250px;
    height: 250px;
    width: 10px;
    position: relative;
    display: inline-block;
    margin-bottom: 0;
    margin-right: 20px;
}

.progress-vertical .progress-bar {
    width: 100%;
}

.progress-vertical-bottom {
    min-height: 250px;
    height: 250px;
    position: relative;
    width: 10px;
    display: inline-block;
    margin-bottom: 0;
    margin-right: 20px;
}

.progress-vertical-bottom .progress-bar {
    width: 100%;
    position: absolute;
    bottom: 0;
}

.progress-vertical.progress-sm,
.progress-vertical-bottom.progress-sm {
    width: 5px !important;
}

.progress-vertical.progress-sm .progress-bar,
.progress-vertical-bottom.progress-sm .progress-bar {
    font-size: 8px;
    line-height: 5px;
}

.progress-vertical.progress-md,
.progress-vertical-bottom.progress-md {
    width: 15px !important;
}

.progress-vertical.progress-md .progress-bar,
.progress-vertical-bottom.progress-md .progress-bar {
    font-size: 10.8px;
    line-height: 14.4px;
}

.progress-vertical.progress-lg,
.progress-vertical-bottom.progress-lg {
    width: 20px !important;
}

.progress-vertical.progress-lg .progress-bar,
.progress-vertical-bottom.progress-lg .progress-bar {
    font-size: 12px;
    line-height: 20px;
}


/*--- skill---*/

.skill-chart {
    margin: 0px auto;
    color: #000;
}

.skill i {
    font-size: 30px;
    font-weight: 300px;
    vertical-align: middle;
    margin-right: 5px;
}

.circliful {
    position: relative;
}

.circle-text,
.circle-info,
.circle-text-half,
.circle-info-half {
    width: 100%;
    position: absolute;
    text-align: center;
    display: inline-block;
}

.circle-info,
.circle-info-half {
    color: #999;
}

.circliful .fa {
    margin: -10px 3px 0 3px;
    position: relative;
    bottom: 4px;
}


/*-------------------
    9.carousel
---------------------*/

#owl-demo .item {
    margin: 3px;
}

#owl-demo .item img {
    display: block;
    width: 100%;
    height: auto;
}

/*--FB-TWIT-Carousel--*/

.vertical .carousel-item-next.carousel-item-left,
.vertical .carousel-item-prev.carousel-item-right {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.vertical .carousel-item-next,
.vertical .active.carousel-item-right {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100% 0);
}

.vertical .carousel-item-prev,
.vertical .active.carousel-item-left {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
}


/*------------
   10. Grid
---------------*/

.grid-data-table {
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-collapse: collapse;
    white-space: nowrap;
    font-size: 13px;
    width: 100%;
}

.grid-data-table td {
    position: relative;
    vertical-align: middle;
    height: 48px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}

.grid-data-table td:first-of-type,
.grid-data-table th:first-of-type {
    padding-left: 24px;
}

.grid-data-table th {
    position: relative;
    font-size: 14px;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 0;
    height: 48px;
    font-size: 14px;
}

.grid-data-table td,
.grid-data-table th {
    padding: 8px 18px 8px 18px;
}

.grid-data-table.grid-data-table-no-number td,
.grid-data-table.grid-data-table-no-number th {
    text-align: left;
}

.grid-data-table tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.02);
}

.grid-data-table i {
    font-size: 20px;
    padding: 0px 3px;
}

.grid-col div {
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 15px;
    background: #f5f5f5;
    border: 1px solid #e2e2e2;
}

.grid-col .nested-col.row {
    background-color: #f5f5f5;
    border-color: transparent;
}


/*--------------
    11.calender
---------------*/

/*.calendar {
    margin-bottom: 0px;
    float: left;
}

.fc-toolbar {
    margin-bottom: 5px;
}

.fc-toolbar h2 {
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 30px;
}

.fc-day {
    background: #FFF;
}

.fc-toolbar .fc-state-active,
.fc-toolbar .ui-state-active,
.fc-toolbar button:focus,
.fc-toolbar button:hover,
.fc-toolbar .ui-state-hover {
    z-index: 0;
}

.fc-widget-header,
.fc-widget-content {
    border: 1px solid #D5D5D5;
}

.fc th.fc-widget-header {
    background: #ced4da;
    font-size: 14px;
    text-transform: uppercase;
    line-height: 20px;
    padding: 10px 0px;
}

.fc-button {
    border: 1px solid #D5D5D5;
    background: #FFF;
    color: #555;
    text-transform: capitalize;
}

.fc-text-arrow,
.fc-text-arrow {
    font-family: arial;
    font-size: 16px;
}

.fc-state-hover {
    background: #F5F5F5;
}

.fc-state-highlight,
.fc-cell-overlay {
    background: #F0F0F0;
}

.fc-unthemed .fc-today {
    background: #fff;
}

.fc-event {
    font-size: 13px;
    padding: 8px 5px;
    text-align: center;
    margin-bottom: 5px;
    background: #fff;
    border: none;
    border-radius: 2px;
    cursor: move;
    box-shadow: 0px 0px 34px rgba(0, 0, 0, 0.15);
}

.fc-event .bg-primary {
    background-color: #2e61f2;
}*/

#external-events .fc-event {
    background: #b98eb9;
}

.new-event-form {
    margin-bottom: 20px;
}

.fc-ltr .fc-basic-view .fc-day-number {
    padding: 5px 6px;
}

.cr-styled i {
    display: inline-block;
    height: 18px;
    width: 18px;
    cursor: pointer;
    vertical-align: middle;
    border: 2px solid #CCC;
    border-radius: 3px;
    text-align: center;
    padding-top: 1px;
    font-family: 'FontAwesome';
    margin-top: -4px;
    margin-right: 3px;
    font-size: 12px;
}

.cr-styled {
    display: inline-block;
    margin: 0px 2px;
    line-height: 20px;
    font-weight: normal;
    cursor: pointer;
}

.cr-styled input {
    visibility: hidden;
    display: none;
}

.cr-styled input[type=checkbox]:checked + i:before {
    content: "\f00c";
}

.cr-styled input:checked + i {
    border-color: #3eafa8;
    color: #3eafa8;
}

a:not([href]):not([tabindex]) {
    color: #454545;
    text-decoration: none;
}

a:not([href]):not([tabindex]):hover {
    text-decoration: none;
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #ddd;
    outline: 0;
    box-shadow: none;
}

.fc-content .fc-title {
    color: #000;
}


/*-------------------
     12.Portlets 
--------------------*/

.portlet {
    margin-bottom: 20px;
    background: #fff;
    transition: all 0.4s;
    -moz-transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.portlet .portlet-heading {
    padding: 20px 30px;
    line-height: 38px;
    min-height: 39px;
    border-radius: 3px;
    color: #fff;
}

.portlet .portlet-heading .portlet-title {
    float: left;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0;
    margin-top: 0;
}

.portlet .portlet-heading .portlet-widgets {
    position: relative;
    text-align: right;
    float: right;
    padding-left: 15px;
    display: inline-block;
    font-size: 15px;
    line-height: 0px;
}

.portlet .portlet-body {
    background: #fff;
    padding: 15px;
    -webkit-border-bottom-right-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-bottomright: 5px;
    -moz-border-radius-bottomleft: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}

.portlet .portlet-heading .portlet-widgets .divider {
    margin: 0 5px;
}

.portlet .portlet-heading.bg-purple a,
.portlet .portlet-heading.bg-info a,
.portlet .portlet-heading.bg-success a,
.portlet .portlet-heading.bg-primary a,
.portlet .portlet-heading.bg-danger a,
.portlet .portlet-heading.bg-warning a,
.portlet .portlet-heading.bg-inverse a,
.portlet .portlet-heading.bg-pink a {
    color: #fff;
}

.portlet .portlet-heading a {
    color: #999;
}

.portlet .bg-secondary .portlet-widgets a i,
.portlet .bg-gred1 .portlet-widgets a i,
.portlet .bg-gred2 .portlet-widgets a i {
    color: #fff;
}

.panel-disabled {
    position: absolute;
    left: 15px;
    right: 15px;
    top: 0;
    bottom: 15px;
    background: rgba(243, 242, 241, 0.5);
}

.loader-1 {
    -webkit-animation: loaderAnimate 1000ms linear infinite;
    -moz-animation: loaderAnimate 1000ms linear infinite;
    -o-animation: loaderAnimate 1000ms linear infinite;
    animation: loaderAnimate 1000ms linear infinite;
    clip: rect(0, 30px, 30px, 15px);
    height: 30px;
    width: 30px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -15px;
    margin-top: -15px;
}

lesshat-selector {
    -lh-property: 0;
}

@-webkit-keyframes loaderAnimate {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(220deg);
    }
}

@-moz-keyframes loaderAnimate {
    0% {
        -moz-transform: rotate(0deg);
    }
    100% {
        -moz-transform: rotate(220deg);
    }
}

@-o-keyframes loaderAnimate {
    0% {
        -o-transform: rotate(0deg);
    }
    100% {
        -o-transform: rotate(220deg);
    }
}

@keyframes loaderAnimate {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(220deg);
        -moz-transform: rotate(220deg);
        -ms-transform: rotate(220deg);
        transform: rotate(220deg);
    }
}

lesshat-selector {
    -lh-property: 0;
}

@-webkit-keyframes loaderAnimate2 {
    0% {
        box-shadow: inset #555 0 0 0 8px;
        -webkit-transform: rotate(-140deg);
    }
    50% {
        box-shadow: inset #555 0 0 0 2px;
    }
    100% {
        box-shadow: inset #555 0 0 0 8px;
        -webkit-transform: rotate(140deg);
    }
}

@-moz-keyframes loaderAnimate2 {
    0% {
        box-shadow: inset #555 0 0 0 8px;
        -moz-transform: rotate(-140deg);
    }
    50% {
        box-shadow: inset #555 0 0 0 2px;
    }
    100% {
        box-shadow: inset #555 0 0 0 8px;
        -moz-transform: rotate(140deg);
    }
}

@-o-keyframes loaderAnimate2 {
    0% {
        box-shadow: inset #555 0 0 0 8px;
        -o-transform: rotate(-140deg);
    }
    50% {
        box-shadow: inset #555 0 0 0 2px;
    }
    100% {
        box-shadow: inset #555 0 0 0 8px;
        -o-transform: rotate(140deg);
    }
}

@keyframes loaderAnimate2 {
    0% {
        box-shadow: inset #555 0 0 0 8px;
        -webkit-transform: rotate(-140deg);
        -moz-transform: rotate(-140deg);
        -ms-transform: rotate(-140deg);
        transform: rotate(-140deg);
    }
    50% {
        box-shadow: inset #555 0 0 0 2px;
    }
    100% {
        box-shadow: inset #555 0 0 0 8px;
        -webkit-transform: rotate(140deg);
        -moz-transform: rotate(140deg);
        -ms-transform: rotate(140deg);
        transform: rotate(140deg);
    }
}

.loader-1:after {
    -webkit-animation: loaderAnimate2 1000ms ease-in-out infinite;
    -moz-animation: loaderAnimate2 1000ms ease-in-out infinite;
    -o-animation: loaderAnimate2 1000ms ease-in-out infinite;
    animation: loaderAnimate2 1000ms ease-in-out infinite;
    clip: rect(0, 30px, 30px, 15px);
    content: '';
    border-radius: 50%;
    height: 30px;
    width: 30px;
    position: absolute;
}

@keyframes loaderAnimate2 {
    0% {
        box-shadow: inset #2f353f 0 0 0 17px;
        transform: rotate(-140deg);
    }
    50% {
        box-shadow: inset #2f353f 0 0 0 2px;
    }
    100% {
        box-shadow: inset #2f353f 0 0 0 17px;
        transform: rotate(140deg);
    }
}


/*---------------------
        13.Charts
----------------------*/
/* Sparkline chart */
.jqstooltip {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  width: auto !important;
  height: auto !important;
  background-color: #313a46 !important;
  padding: 5px 10px !important;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -moz-border-radius: 3px;
  border-color: #313a46 !important;
}
.jqsfield {
  font-size: 12px !important;
  line-height: 18px !important;
}

/*---------------------
        13.WIDGETS
----------------------*/

.widget-box .widget-color-icon i {
    font-size: 50px;
    padding: 14px;
    background-color: #fff;
    border-radius: 5px;
    width: 80px;
    height: 80px;
}

.bg-gradient .counter {
    position: relative;
    bottom: -20px;
    color: #fff;
}

.bg-gradient .widget-box i {
    position: relative;
    top: -20px;
    font-size: 36px;
    color: #fff;
}

.progress-icon .widget-box i {
    color: #d2d2d2;
    font-size: 44px;
}

.carousel-icon i {
    font-size: 50px;
    width: 80px;
    height: 80px;
    background-color: transparent;
}

.carousel-inner p {
    line-height: 23px;
    letter-spacing: 1px;
}

#verticalCarousel {
    height: 150px;
}

.testi {
    background: rgba(0, 0, 0, .8);
    padding: 1rem;
    position: absolute;
    border: 3px solid #ff606073;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: center;
}

.testi i {
    font-size: 20px;
    padding: 5px;
    color: #ff7f50;
}

.carousel-indicators .active {
    background-color: #fff;
}

.pro-img img {
    margin-top: -90px;
    position: relative;
    border: 4px solid #fff;
    border-radius: 50%;
    width: 130px;
    height: 130px;
}

.profile-block .profile-count {
    font-size: 30px;
    margin-bottom: 5px;
}

.profile-block .border-right {
    border-right: 1px solid #fff;
}

.profile-block {
    margin: initial;
}

.new-user ul li img {
    margin-right: 8px;
    width: 50px;
}

.media-body .btn {
    height: 24px;
    font-size: 10px;
    line-height: 1;
}

#boxscroll,
#boxscrol2 {
    height: 370px;
    width: auto;
    overflow: auto;
}

#boxscrol1 {
    height: 400px;
    width: auto;
    overflow: auto;
}

.canvas-holder ul li {
    margin-top: 10px;
    margin-bottom: 10px;
}

.canvas-holder i.fa-spin {
    font-size: 24px;
}

.bg-chart {
    background-color: #f9e7eb;
}




.widget-box {
    padding: 20px 10px;
    border-radius: 4px;
    position: relative;
    color: #b1b1b1;
    border: 1px solid rgba(0,0,0,.125);
}

.i-bg-grad i {
    border: 12px solid transparent;
    border-color: linear-gradient(315deg, #3acfd5 0%, #3a4ed5 100%);
    border-radius: 50%;
}

.widget-box i {
    font-size: 26px;
    padding: 15px 15px;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    color: #fff;
    text-align: center;
}

.widget-box .ti-eye,
.grad-progress-1,
.bg-gradient .bg-grad-1 {
    background: -webkit-linear-gradient(315deg, rgba(158, 15, 184, 0.7) -10%, rgba(5, 232, 255, 0.8) 180%);
}

.widget-box .ti-user,
.grad-progress-2,
.bg-gradient .bg-grad-2 {
    background: -webkit-linear-gradient(315deg, #66cccc -10%, #ffff66 180%);
}

.widget-box .ti-money,
.grad-progress-3,
.bg-gradient .bg-grad-3 {
    background: -webkit-linear-gradient(315deg, #ff6699 -10%, #ff9933 180%);
}

.widget-box .ti-wallet,
.grad-progress-4,
.bg-gradient .bg-grad-4 {
    background: -webkit-linear-gradient(315deg, #ffcc33 -10%, #ff6699 180%);
}

.widget-blog span i {
    padding: 3px;
}

.widget-blog a span i {
    color: #eb593d;
    margin-left: 5px;
}

.widget-blog .wa-icon span {
    font-size: 30px;
}

.widget-blog .wa-icon span sup {
    font-size: 16px;
}


/*----------------------
    14.Nesteble
-----------------------*/

.dd {
    max-width: 100%;
}

.dd-handle {
    height: 34px;
    margin: 5px 0;
    padding: 5px 12px;
    font-weight: 300;
}

.nestable-color .dd-handle {
    background-color: #f9e7eb;
}

.nestable-color-2 .dd-handle {
    background-color: #e7f9f5;
}

.nestable-color-3 .dd3-content {
    background-color: #fdf2da;
}

.dd-handle:hover {
    color: #6e8cd7;
    background: #fff;
}

.nestable-color .dd-handle:hover {
    color: #fff;
    background: #ffa7bb;
}

.nestable-color-2 .dd-handle:hover {
    color: #fff;
    background: #9adccd;
}

.nestable-color-3 .dd3-content:hover {
    color: #979898;
    background: #f9db9a;
}

.dd3-handle:before {
    top: 6px;
}

.dd3-handle:hover {
    background: #404040;
    border: 1px solid #404040;
}

.dd3-content {
    height: 35px;
    margin: 5px 0;
    padding: 6px 10px 5px 40px;
    color: #979898;
    font-weight: 300;
}

.nestable-color-3 .dd3-handle {
    background: #f9db9a;
    border: 1px solid #f9db9a;
}

.dd3-handle {
    margin: 0;
}


/*----------------------
    15.Forms
----------------------*/

.general-label label {
    font-weight: 500;
    color: #888;
}

.has-warning .form-control {
    border-color: #fdc107;
}

.form .checkbox label,
.form .form-check-inline label,
.form .radio label {
    font-weight: 300;
}

.btn-primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(7, 156, 158, 0.35);
}

.btn-primary:not([disabled]):not(.disabled).active,
.show>.btn-primary.dropdown-toggle {
    color: #fff;
    box-shadow: 0 0 0 0.2rem rgba(7, 156, 158, 0.35);
}

.cr-styled input:checked + i {
    border-color: #2d3540;
    color: #2d3540;
}

.cr-styled input[type=radio] + i {
    border-radius: 18px;
    font-size: 11px;
    line-height: 13px;
}

.cr-styled i {
    display: inline-block;
    height: 18px;
    width: 18px;
    cursor: pointer;
    vertical-align: middle;
    border: 2px solid #CCC;
    border-radius: 3px;
    text-align: center;
    padding-top: 1px;
    font-family: 'FontAwesome';
    margin-top: -4px;
    margin-right: 3px;
    font-size: 12px;
}

.cr-styled input[type=radio]:checked + i:before {
    content: "\f111";
}

.has-warning .form-control {
    border-color: #fdc107;
}

.has-danger .form-control {
    border-color: #ff5450;
}

.has-success .form-control {
    border-color: #4cb04e;
}

.has-warning .form-control-warning {
    background-image: url(../images/icon/warning.svg);
}

.has-success .form-control-success {
    background-image: url(../images/icon/success.svg);
}

.has-danger .form-control-danger {
    background-image: url(../images/icon/danger.svg);
}

.form-control-danger,
.form-control-success,
.form-control-warning {
    padding-right: 36px;
    background-repeat: no-repeat;
    background-position: center right 9px;
    -webkit-background-size: 18px 18px;
    background-size: 18px 18px;
}

.color-ped .form-control {
    color: #669999;
    min-height: 38px;
}

.contact-form .form-control,
.form-material .form-control {
    border: 0px;
    height: 45px;
    padding: 5px 10px;
    font-size: 16px;
    line-height: 1.42857143;
    color: #7d7d7d;
    background-color: transparent;
    background-image: none;
    border-bottom: 1px solid #ddd;
    box-shadow: none !important;
    outline: none !important;
    margin-bottom: 25px;
    border-radius: 0;
}


/*-----Advancecd-Form-----*/

.select2-container--default .select2-selection--single {
    border: 1px solid #d8d8d8;
    height: 38px;
}

.select2-container--default .select2-selection--single:focus {
    outline: none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 38px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
    right: 8px;
}

.select2-container .select2-selection--multiple {
    min-height: 38px;
    border: 1px solid #d8d8d8;
}

.select2-container .select2-search--inline .select2-search__field {
    margin-top: 8px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    margin-top: 7px;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    border: solid 1px #d8d8d8;
    outline: 0;
}

.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
    width: 100%;
}

.timeline .timeline-body li a,
.bootstrap-select .dropdown-menu li a {
    display: block;
    padding: 7px 20px;
    line-height: 1.45;
    color: #929292;
}

.bootstrap-select .dropdown-menu li a:focus,
.bootstrap-select .dropdown-menu li a:hover {
    color: #888;
    background: #f2f4f8;
}

.bootstrap-select .show>.dropdown-menu {
    display: block;
}

.bootstrap-select .dropdown-toggle.bs-placeholder:hover {
    color: #ffffff;
}

.bootstrap-select.btn-group .dropdown-menu {
    -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
}

.bootstrap-select .dropdown-toggle:focus {
    outline: #d8d8d8!important;
    outline: 0px!important;
    outline-offset: 0px;
}

.bootstrap-select-1 h6 {
    font-weight: 300;
}

/*-- Form-Validation --*/
.error {
  color: #ff0000; }

.parsley-error {
  border-color: #ff0000; }

.parsley-errors-list {
  display: none;
  margin: 0;
  padding: 0; }

.parsley-errors-list.filled {
  display: block; }

.parsley-errors-list > li {
  font-size: 12px;
  list-style: none;
  color: #ea553d;
  margin-top: 5px; }


/* == Form Wizard ==*/
.form-wizard-wrapper label {
  text-align: right; }

.wizard > .steps a,
.wizard > .steps a:active,
.wizard > .steps a:hover {
  margin: 3px;
  padding: 15px; }

.wizard > .steps .current a,
.wizard > .steps .current a:active,
.wizard > .steps .current a:hover {
  background-color: #2e61f2;
  color: #ffffff; }

.wizard > .steps .disabled a,
.wizard > .steps .disabled a:active,
.wizard > .steps .disabled a:hover,
.wizard > .steps .done a,
.wizard > .steps .done a:active,
.wizard > .steps .done a:hover {
    background-color: #e9f2fb;
    color: #2e61f2; 
    font-weight: 700;
    font-size: 15px;
}

.wizard > .steps .current a .number,
.wizard > .steps .current a:active .number,
.wizard > .steps .current a:hover .number {
  border: 2px solid #FFF; }

.wizard > .steps .disabled a .number,
.wizard > .steps .disabled a:active .number,
.wizard > .steps .disabled a:hover .number,
.wizard > .steps .done a .number,
.wizard > .steps .done a:active .number,
.wizard > .steps .done a:hover .number {
  border-color: #2e61f2; }

.wizard > .content {
  background-color: transparent;
  margin: 0 5px;
  border-radius: 0;
  min-height: 150px; }

.wizard > .content > .body {
  width: 100%;
  height: 100%;
  padding: 15px 0 0;
  position: static; }

.wizard > .steps .number {
  font-size: 16px;
  padding: 5px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  width: 34px;
  display: inline-block;
  font-weight: 600;
  text-align: center;
  margin-right: 10px;
  background-color: rgba(103, 168, 228, 0.25); }

.wizard > .actions .disabled a,
.wizard > .actions .disabled a:active,
.wizard > .actions .disabled a:hover {
  opacity: .65;
  background-color: #2e61f2;
  color: #ffffff;
  cursor: not-allowed; }

.wizard > .actions a,
.wizard > .actions a:active,
.wizard > .actions a:hover {
  background-color: #2e61f2;
  border-radius: 4px;
  padding: 8px 15px; }

@media (max-width: 768px) {
  .wizard > .steps > ul > li {
    width: 50%; }

  .form-wizard-wrapper label {
    text-align: left; } }
@media (max-width: 520px) {
  .wizard > .steps > ul > li {
    width: 100%; } }

/*--spinner--*/

.spinner-buttons.btn-group-vertical .btn {
    height: 20px;
    margin: -1px;
    padding-left: 8px;
    padding-right: 8px;
    width: 38px;
    line-height: 0;
}

.spinner-buttons.btn-group-vertical .btn i {
    margin-top: -3px;
    line-height: 10px;
}

.spinner-buttons.btn-group-vertical .btn:first-child {
    border-radius: 0 4px 0 0 !important;
    -webkit-border-radius: 0 4px 0 0 !important;
}

.spinner-buttons.btn-group-vertical .btn:last-child {
    border-radius: 0 0 4px !important;
    -webkit-border-radius: 0 0 4px !important;
}

#spinner1 .btn-light,
#spinner3 .btn-light {
    border: 1px solid #e9ecef;
    background-color: #fff;
}

#spinner2 .btn,
#spinner4 .btn {
    border-color: #81c5ec;
}

#spinner1 .btn-light:focus,
#spinner2 .btn-brown:focus,
#spinner3 .btn-light:focus,
#spinner4 .btn-pink:focus {
    outline: none;
    box-shadow: none;
}

.help-block {
    font-size: 12px;
}

.dtp-btn-cancel {
    margin-right: 5px;
}

.dtp-buttons .btn:hover {
    color: #fff;
}




/*----Multiple Select----*/

.search-input {
    margin-bottom: 10px;
}

.ms-selectable {
    outline: none !important;
    box-shadow: none;
}

.ms-container .ms-list.ms-focus {
    box-shadow: none;
}

.ms-container .ms-selectable li.ms-hover,
.ms-container .ms-selection li.ms-hover {
    background-color: #00bcd2;
}


/*--Color-Picker--*/

.addon-color-picker .btn {
    padding: 8px;
    line-height: 0;
    border-color: #bfbfbf;
}

.asColorPicker-clear {
    display: none;
    position: absolute;
    top: 8px;
    right: 10px;
    text-decoration: none;
}

.asColorPicker-trigger {
    position: absolute;
    top: 0;
    right: -35px;
    height: 38px;
    width: 37px;
    border: 0;
}

.asColorPicker-dropdown {
    max-width: 260px;
}

.asColorPicker-wrap {
    position: relative;
    display: inline-block;
    width: 90%;
}

.wizard > .content > .body ul {
    list-style: none!important;
}

.content-basic .content1 {
    width: 100%;
}


/*------------------
    16.Form-editor
-------------------*/


/*--- summernote--- */

.note-editor .note-toolbar {
    background-color: #f3f3f3;
    border-bottom: 1px solid #dfdfdf;
    margin: 0;
}

.note-editor {
    position: relative;
    border: 1px solid #dfdfdf;
}

.note-editor .note-statusbar {
    background-color: #fff;
}

.note-editor .note-statusbar .note-resizebar {
    height: 15px;
    border-top: 1px solid #dfdfdf;
    padding-top: 3px;
}

.note-popover .popover .popover-content,
.note-toolbar {
    padding: 5px 0 10px 5px;
}

.note-popover .popover .popover-content .dropdown-menu,
.note-toolbar .dropdown-menu {
    font-weight: 300;
    font-size: 14px;
}


/*--- Code Editer--- */

.code-edit-wrap {
    padding-top: 0px !important;
    margin-left: -30px;
    margin-bottom: -20px;
    margin-right: -30px;
}

.cm-s-ambiance .CodeMirror-linenumber {
    color: #999;
}


/*---x-edito---r*/

.editable-checklist label {
    display: block;
}

input[type="checkbox"]:after {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    margin-top: -2px;
    border: 2px solid #515f73;
    border-radius: 2px;
    -webkit-transition: 240ms;
    -o-transition: 240ms;
    transition: 240ms;
}

input[type="checkbox"]:checked:before {
    content: "";
    position: absolute;
    top: 0;
    left: 6px;
    display: table;
    width: 6px;
    height: 12px;
    border: 2px solid #ffffff;
    border-top-width: 0;
    border-left-width: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

input[type="checkbox"] {
    position: relative;
    border: none;
    margin-bottom: -4px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

input[type="checkbox"]:focus {
    outline: transparent;
}

input[type="checkbox"]:checked:after {
    background-color: #6699ff;
    border-color: #6699ff;
}


/*--file-upload--*/

.upload-dropify label {
    font-size: 14px;
    font-weight: 500;
    color: #888;
}


/*------------------------
    17.Tables
---------------------------*/

.basic-table,
.edit-table,
.data-table,
.responsive-table {
    color: #888;
}

.responsive-table th {
    font-size: 14px;
}


/* data-table*/

.pagination > li > a,
.pagination > li > span {
    color: #313a46;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus,
.page-item.active .page-link {
    background: #6699ff;
    border-color: #6699ff;
}

.table-odd tbody>tr:nth-of-type(odd) {
    background-color: #f9f9f9;
}


/*Responsive-table*/

.table-rep-plugin .btn-group.pull-right {
    float: right;
}

.table-rep-plugin .btn-toolbar {
    display: block;
}


/*----------------
    18.Mail 
 ----------------*/

.mails .mail-rateing {
    color: #9d9ea5;
    width: 1%;
}

.mails .mail-select {
    width: 1%;
}

.mails .label {
    margin-right: 10px;
}

.mail-list i {
    width: 20px;
    text-align: center;
}

.mail-inbox .list-group-item.active,
.mail-inbox .list-group-item:hover,
.mail-inbox .list-group-item:focus {
    color: #2e61f2;
    background-color: #2e61f240;
    border-color: #2e61f240;
}

.border-r {
    border-right: 1px solid #ddd;
}

.email-read .media .media-body h6 i {
    font-size: 10px;
}


/*-----------------------
   19. Google-map
--------------------------*/

.map {
    height: 350px;
}

.overlay {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 24px;
    line-height: 40px;
    background: #2e61f2;
    border: solid 3px #2e61f2;
    border-radius: 4px;
    box-shadow: 2px 2px 10px #333;
    text-shadow: 1px 1px 1px #666;
    padding: 0 4px;
}

.overlay_arrow {
    left: 50%;
    margin-left: -16px;
    width: 0;
    height: 0;
    position: absolute;
}

.overlay_arrow.above {
    bottom: -15px;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 16px solid #2e61f2;
}

.overlay_arrow.below {
    top: -15px;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-bottom: 16px solid #2e61f2;
}

.profile-block i {
    font-size: 24px;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    line-height: 2;
    background-color: #2b3d54;
    box-shadow: 0px 0px 10px 0.1px;
}

.contact ul li i {
    font-size: 18px;
    color: #00bcd2;
}


/*--------------
   20. profile
---------------*/

.profile-tab .nav-tabs .nav-link i {
    font-size: 18px;
    color: #00bcd2;
}

.presonal-inform {
    margin-top: 25px;
}

.presonal-inform ul li {
    width: 50%;
    float: left;
}

.presonal-inform li b {
    width: 108px;
    display: inline-block;
    text-transform: capitalize;
    color: #1f2124;
    font-size: 15px;
    font-weight: 500;
    color: #888;
}

.presonal-inform li {
    text-transform: capitalize;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 20px;
}

.about-text {
    line-height: 55px;
    margin-top: 26px;
}

.detail-text {
    margin: 0 auto;
    font-size: 16px;
    line-height: 30px;
}

.presonal-inform ul li {
    width: 50%;
    float: left;
    color: #00bcd2;
}

.profile-border {
    width: 10%;
    height: 3px;
    margin: 10px auto 15px;
    background-color: #00bcd2;
}

.skill h2 {
    font-weight: 700;
}

.progress-bar {
    line-height: 1rem;
    color: #fff;
    transition: width .3s ease;
}

.skill span {
    float: right;
}

.tab-pane .progress {
    height: 5px;
}

#about .profile-detail i {
    font-size: 20px;
    color: #00bcd2;
    margin-bottom: 14px;
}

.item-box {
    position: relative;
    overflow: hidden;
    display: block;
}

.item-box a {
    display: inline-block;
}

.item-box:hover .item-mask {
    opacity: 1;
    visibility: visible;
}

.item-box:hover .item-mask .item-caption {
    bottom: 30px;
    opacity: 1;
}

.item-box:hover .item-container {
    transform: scale(1.1);
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    width: 100%;
}

.item-container {
    transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    width: 100%;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}


/*-----------------
     21.Timeline 
------------------*/


/* Timeline */

.timeline {
    position: relative;
    padding: 20px 0 20px;
    list-style: none;
    text-align: right;
    width: 70%;
}

.timeline:before {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 3px;
    margin-left: -1.5px;
    background-color: #eee;
}

.timeline > li {
    position: relative;
    margin-bottom: 20px;
}

.timeline > li:before,
.timeline > li:after {
    content: " ";
    display: table;
}

.timeline > li:after {
    clear: both;
}

.timeline > li:before,
.timeline > li:after {
    content: " ";
    display: table;
}

.timeline > li:after {
    clear: both;
}

.timeline > li > .card {
    float: left;
    position: relative;
    width: 46%;
    padding: 20px;
    background: #fdfdfd;
    border: 1px solid #e7e7e7;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.15);
}

.timeline > li > .timeline-badge {
    z-index: 100;
    position: absolute;
    top: 16px;
    left: 50%;
    width: 50px;
    height: 50px;
    margin-left: -25px;
    text-align: center;
    font-size: 1.4em;
    line-height: 40px;
    color: #fff;
    border: 5px solid #fff;
    background-color: #999999;
}

.timeline > li.timeline-inverted > .card {
    float: right;
    text-align: left;
}

.timeline > li.timeline-inverted > .card:before {
    right: auto;
    left: -15px;
    border-right-width: 15px;
    border-left-width: 0;
}

.timeline > li.timeline-inverted > .card:after {
    right: auto;
    left: -14px;
    border-right-width: 14px;
    border-left-width: 0;
}

.timeline-badge.bg-secondary {
    border-radius: 50% 50% 50% 0%;
    box-shadow: 0 0 3px #a0a9b3;
}

.timeline-badge.bg-dark {
    border-radius: 50% 50% 0% 50%;
    box-shadow: 0 0 3px #333;
}

.timeline-badge.bg-success {
    border-radius: 50% 50% 0% 50%;
    box-shadow: 0 0 3px #4cb04e;
}

.timeline-badge.bg-warning {
    border-radius: 50% 50% 0% 50%;
    box-shadow: 0 0 3px #fdc107;
}

.timeline-badge.bg-danger {
    border-radius: 50% 50% 50% 0%;
    box-shadow: 0 0 3px #ff5450;
}

.timeline-badge.bg-info {
    border-radius: 50% 50% 50% 0%;
    box-shadow: 0 0 3px #00bcd2;
}

.timeline-badge {}

.timeline-title {
    margin-top: 0;
    color: inherit;
}

.timeline-body > p,
.timeline-body > ul {
    margin-bottom: 0;
}

.timeline-body > p + p {
    margin-top: 5px;
}


/* ----Timeline-2 ----*/

.timeline-2 {
    position: relative;
    border-left: 2px solid #00bcd2;
}

.time-item {
    position: relative;
    padding-bottom: 1px;
    border-color: #dee5e7;
}

.time-item:before,
.time-item-item:after {
    display: table;
    content: " ";
}

.timeline-2 .time-item:after,
.time-item:after {
    position: absolute;
    bottom: 0;
    left: 0;
    top: 5px;
    width: 14px;
    height: 14px;
    margin-left: -8px;
    background-color: #fff;
    border-color: #00bcd2;
    border-style: solid;
    border-width: 2px;
    border-radius: 3px;
    content: '';
}

.item-info {
    margin-left: 15px;
    margin-bottom: 15px;
}

.item-info p {
    margin-bottom: 10px !important;
}

.profile-desk h1 {
    color: #49586e;
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 5px 0;
    text-transform: uppercase;
}

.profile-desk .designation {
    color: #49586e;
    font-size: 14px;
    text-transform: uppercase;
    margin-bottom: 30px;
    display: inline-block;
}

.profile-desk p {
    line-height: 25px;
    margin-bottom: 40px;
}

.p-follow-btn {
    background: #eff0f4;
    color: #a4a4a4;
}

ul.p-social-link {
    list-style-type: none;
}

ul.p-social-link li {
    display: inline-block;
}

ul.p-social-link li a {
    background: #eff0f4;
    color: #bfbfc1;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    display: inline-block;
    text-align: center;
}

.invoice .table thead th {
    font-size: 14px;
}

.invoice strong {
    font-weight: 500;
}

.invoice td {
    font-weight: 500;
}

.social-links li a {
    -webkit-border-radius: 50%;
    background: #EFF0F4;
    border-radius: 50%;
    color: #7A7676;
    display: inline-block;
    height: 30px;
    line-height: 30px;
    text-align: center;
    width: 30px;
}

.media-main .u-name {
    overflow: hidden;
    color: #000;
}


/*--------------------
    22.Login-Error
---------------------*/

.wrapper-page {
    display: table;
    height: 100vh;
    width: 100%;
}

.account-pages {
    display: table-cell;
    vertical-align: middle;
}

.account-box {
    position: relative;
    max-width: 460px;
    margin: 20px auto;
    border-radius: 5px;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.15), 0 1px 0 0 rgba(0, 0, 0, 0.1);
}

.bg-login {
    background-image: url(../images/general/login.jpg);
    background-size: cover;
    background-position: center;
    min-height: 100vh;
    display: flex;
    align-items: stretch;
}

.bg-login > .container {
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.bg-login-under {
    background-color: #000;
}

.alert-info {
    background-color: #7597b9;
    border-color: #7597b9;
    color: #fff;
}

.bg-error {
    background-image: url(../images/error/error.jpg);
    background-size: cover;
}

.error-text p {
    line-height: 24px;
}

.error-500 h2 {
    font-size: 170px;
    font-weight: 900;
    text-align: center;
    color: #868e96;
    text-shadow: 4px 4px 0 #000, 6px 6px 0 #ff5450;
}

.usetwentyfour {
    width: 25% !important;
}



/*clock*/

.superpose {
  color: #EEE;
  height: 350px;
  width: 100%;
}
.superclock {
  position: relative;
  width: 300px;
  margin: auto;
}
.superclock1 {
  position: absolute;
  left: 10px;
  top: 10px;
}
.superclock2 {
  position: absolute;
  left: 60px;
  top: 60px;
}
.superclock3 {
  position: absolute;
  left: 110px;
  top: 110px;
}

/*---------------------
    23.footer content
-----------------------*/

.footer {
    background: #e9e9eb;
    padding: 15px 20px;
    color: #232425;
    font-size: 14px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}
/*------------------------
    24.Responsive
-------------------------*/

@media (min-width: 1024px) {
    .body-content {
        min-height: 1600px;
    }
}

@media (max-width: 414px) {
    .btn-mb-5 .btn {
        margin-bottom: 5px;
    }
    .bs-pagination .pagination-lg {
        display: none;
    }
    .button-list .btn {
        margin-top: 5px;
    }
    .box {
        overflow-x: auto;
        width: 100%;
        display: block;
    }
    .sticky-header .body-content {
        padding: 00px 10px 00px 10px;
    }
    .nav {
        flex-wrap: nowrap;
    }
    .timeline {
        width: 100%;
        margin: 0px;
    }
}

@media (max-width: 768px) {
    .box {
        overflow-x: auto;
        width: 100%;
        display: block;
    }
    .sticky-header .body-content {
        padding: 0px;
    }
    .presonal-inform ul li {
        width: 100%;
    }
    .nav {
        flex-wrap: nowrap;
    }
}

@media (max-width: 1024px) {
    .box {
        overflow-x: auto;
        width: 100%;
        display: block;
    }
}

.blink {
  animation: blink-animation 1s steps(5, start) infinite;
  -webkit-animation: blink-animation 1s steps(5, start) infinite;
}
@keyframes blink-animation {
  to {
    visibility: hidden;
  }
}
@-webkit-keyframes blink-animation {
  to {
    visibility: hidden;
  }
}

/*------------------------
    Dentosh Management Theme
-------------------------*/
:root {
    --obgyn-brand: #12b7c8;
    --obgyn-brand-dark: #0b376f;
    --obgyn-accent: #6ff7ff;
    --obgyn-blue: #0f8fa7;
    --obgyn-red: #d65345;
    --obgyn-ink: #102f5f;
    --obgyn-muted: #667085;
    --obgyn-soft: #edf8ff;
    --obgyn-sunny: #e6fbff;
    --obgyn-line: #ccebf5;
    --obgyn-page: #f3fbff;
}

body.sticky-header {
    background:
        radial-gradient(circle at 88% 12%, rgba(18, 183, 200, 0.18), transparent 30%),
        linear-gradient(180deg, var(--obgyn-page) 0%, var(--obgyn-sunny) 100%) !important;
    color: var(--obgyn-ink) !important;
}

.sidebar-left {
    background: linear-gradient(180deg, var(--obgyn-brand-dark) 0%, #082e61 58%, #0f8fa7 100%) !important;
    box-shadow: 10px 0 30px rgba(8, 46, 97, 0.22) !important;
}

.sidebar-brand-top {
    background: linear-gradient(180deg, #fff 0%, var(--obgyn-soft) 100%) !important;
    border-bottom-color: rgba(18, 183, 200, 0.16) !important;
    box-shadow: inset 0 -10px 24px rgba(18, 183, 200, 0.08) !important;
}

.side-navigation li h3.navigation-title {
    color: rgba(111, 247, 255, 0.82) !important;
}

.side-navigation li a:hover,
.side-navigation li.active > a,
.side-navigation li.nav-active > a {
    background: rgba(111, 247, 255, 0.16) !important;
    color: #fff !important;
}

.header-section {
    border-bottom-color: rgba(18, 183, 200, 0.14) !important;
    box-shadow: 0 12px 32px rgba(8, 46, 97, 0.10) !important;
}

.logo a,
.card-header.bg-info,
.panel-heading.bg-info,
.btn-info,
.btn-primary {
    background: linear-gradient(135deg, var(--obgyn-brand) 0%, var(--obgyn-brand-dark) 100%) !important;
    border-color: var(--obgyn-brand) !important;
    color: #fff !important;
}

.btn-info,
.btn-primary {
    box-shadow: 0 10px 18px rgba(18, 183, 200, 0.22) !important;
}

.btn-info:hover,
.btn-primary:hover {
    background: linear-gradient(135deg, #0f8fa7 0%, #082e61 100%) !important;
    border-color: #0f8fa7 !important;
}

.btn-dark {
    background: #082e61 !important;
    border-color: #082e61 !important;
}

.toggle-btn,
.page-head h4 {
    color: var(--obgyn-brand-dark) !important;
}

.table thead th {
    color: var(--obgyn-brand-dark) !important;
    background: var(--obgyn-soft) !important;
}

.form-control {
    border-color: var(--obgyn-line) !important;
}

.form-control:focus {
    border-color: var(--obgyn-brand) !important;
    box-shadow: 0 0 0 0.2rem rgba(18, 183, 200, 0.14) !important;
}

.patient-dashboard {
    padding: 24px;
}

.patient-hero {
    background: linear-gradient(135deg, var(--obgyn-brand-dark) 0%, #174c87 48%, var(--obgyn-blue) 100%);
    color: #fff;
    border-radius: 8px;
    padding: 28px;
    margin-bottom: 24px;
    box-shadow: 0 14px 32px rgba(37, 48, 68, 0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.patient-hero h3 {
    color: #fff;
    margin-bottom: 8px;
    font-weight: 700;
}

.patient-hero p {
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 0;
}

.patient-card {
    background: #fff;
    border: 1px solid rgba(18, 183, 200, 0.16);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(37, 48, 68, 0.07);
    margin-bottom: 24px;
}

.patient-card .card-body {
    padding: 22px;
}

.patient-card h5 {
    font-weight: 700;
    color: var(--obgyn-ink);
}

.symptom-row {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) 2fr 38px;
    gap: 14px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--obgyn-line);
}

.symptom-row:last-child {
    border-bottom: 0;
}

.symptom-row label {
    margin-bottom: 0;
    font-weight: 600;
}

.symptom-row input[type="range"] {
    width: 100%;
    accent-color: var(--obgyn-brand);
}

.severity-value {
    height: 32px;
    border-radius: 8px;
    background: var(--obgyn-soft);
    color: var(--obgyn-brand);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.status-pill {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 20px;
    background: #fff4d1;
    color: #7a5300;
    font-weight: 700;
    font-size: 12px;
}

.quick-action {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--obgyn-line);
    color: var(--obgyn-ink);
}

.quick-action:hover {
    color: var(--obgyn-brand-dark);
}

.quick-action:last-child {
    border-bottom: 0;
}

.quick-action i {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: var(--obgyn-soft);
    color: var(--obgyn-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
}

.doctor-dashboard {
    color: var(--obgyn-ink);
}

.doctor-hero {
    background:
        radial-gradient(circle at 88% 22%, rgba(111, 247, 255, 0.32), transparent 28%),
        linear-gradient(135deg, var(--obgyn-brand-dark) 0%, #174c87 48%, var(--obgyn-blue) 100%);
}

.doctor-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--obgyn-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.doctor-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.doctor-hero-actions .btn {
    border-radius: 12px;
    font-weight: 700;
}

.patient-hero .btn-outline-primary,
.doctor-hero-actions .btn-outline-primary,
.mh-head-actions .btn-outline-primary {
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.82) !important;
    background: rgba(255, 255, 255, 0.08);
}

.patient-hero .btn-outline-primary:hover,
.doctor-hero-actions .btn-outline-primary:hover,
.mh-head-actions .btn-outline-primary:hover {
    color: var(--obgyn-brand-dark) !important;
    border-color: #fff !important;
    background: #fff !important;
}

.patient-hero .btn-outline-primary:disabled,
.doctor-hero-actions .btn-outline-primary:disabled,
.mh-head-actions .btn-outline-primary:disabled {
    color: rgba(255, 255, 255, 0.58) !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

.doctor-stat {
    padding: 20px;
    min-height: 190px;
}

.doctor-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(18, 183, 200, 0.16), rgba(11, 55, 111, 0.10));
    color: var(--obgyn-brand-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 16px;
}

.doctor-stat span {
    display: block;
    color: var(--obgyn-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.doctor-stat strong {
    display: block;
    color: var(--obgyn-brand-dark);
    font-size: 28px;
    line-height: 1.1;
    margin: 6px 0 10px;
}

.doctor-stat p,
.doctor-workflow-step p {
    color: var(--obgyn-muted);
    margin-bottom: 0;
}

.doctor-workflow {
    margin-top: 18px;
}

.doctor-workflow-step {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--obgyn-line);
}

.doctor-workflow-step:last-child {
    border-bottom: 0;
}

.doctor-workflow-step i {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: var(--obgyn-soft);
    color: var(--obgyn-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.doctor-workflow-step strong {
    color: var(--obgyn-brand-dark);
}

.doctor-record {
    padding: 18px 0;
    border-bottom: 1px solid var(--obgyn-line);
}

.doctor-record:last-child {
    border-bottom: 0;
}

.doctor-record-detail {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--obgyn-soft);
    border: 1px solid rgba(18, 183, 200, 0.14);
}

.dental-exam-shell {
    min-height: calc(100vh - 70px);
    display: grid;
    grid-template-columns: 250px minmax(560px, 1fr) 320px;
    background: #f4f8fc;
    color: var(--obgyn-ink);
}

.dental-patient-sidebar,
.dental-control-panel {
    background: #fff;
    border-right: 1px solid #dbe7f1;
    padding: 18px;
}

.dental-control-panel {
    border-right: 0;
    border-left: 1px solid #dbe7f1;
    overflow-y: auto;
}

.dental-patient-card {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 12px;
    align-items: start;
    padding-bottom: 18px;
    border-bottom: 1px solid #dbe7f1;
}

.dental-avatar {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--obgyn-brand-dark), var(--obgyn-blue));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 800;
}

.dental-patient-card h5 {
    margin: 0 0 4px;
    color: var(--obgyn-brand-dark);
    font-size: 15px;
    font-weight: 800;
}

.dental-patient-card p {
    color: var(--obgyn-muted);
    font-size: 12px;
}

.dental-side-nav {
    display: grid;
    gap: 6px;
    margin-top: 18px;
}

.dental-side-nav a {
    border-radius: 10px;
    color: var(--obgyn-ink);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    font-weight: 650;
}

.dental-side-nav a.active,
.dental-side-nav a:hover {
    background: #e7f2ff;
    color: var(--obgyn-brand-dark);
}

.dental-chart-stage {
    padding: 18px;
    overflow-x: auto;
    min-width: 0;
}

.dental-chart-card,
.treatment-history-card {
    background: #fff;
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(8, 46, 97, 0.06);
}

.dental-chart-card {
    padding: 18px;
    min-width: 760px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #8db9dc #eef6fc;
}

.dental-chart-card::-webkit-scrollbar {
    height: 10px;
}

.dental-chart-card::-webkit-scrollbar-track {
    background: #eef6fc;
    border-radius: 999px;
}

.dental-chart-card::-webkit-scrollbar-thumb {
    background: #8db9dc;
    border-radius: 999px;
}

.quick-chart-toolbar,
.dental-chart-toolbar,
.dentition-panel,
.chart-legend {
    min-width: 980px;
}

.quick-chart-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
    padding: 10px;
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
}

.quick-chart-toolbar span {
    color: var(--obgyn-brand-dark);
    font-weight: 800;
    margin-right: 4px;
}

.quick-chart-toolbar button {
    min-height: 38px;
    border: 1px solid #cfe1f1;
    border-radius: 7px;
    background: #fff;
    color: var(--obgyn-ink);
    font-weight: 800;
    padding: 8px 12px;
}

.quick-chart-toolbar button.active,
.quick-chart-toolbar button:hover {
    background: var(--obgyn-brand-dark);
    border-color: var(--obgyn-brand-dark);
    color: #fff;
}

.dental-chart-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 14px;
}

.dental-tabs,
.dental-view-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.dental-tabs button,
.dental-view-toggle button {
    border: 1px solid #dbe7f1;
    background: #fff;
    color: var(--obgyn-ink);
    border-radius: 4px;
    padding: 8px 14px;
    font-weight: 700;
}

.dental-tabs button.active,
.dental-view-toggle button.active {
    background: var(--obgyn-brand-dark);
    color: #fff;
    border-color: var(--obgyn-brand-dark);
}

.jaw-label {
    text-align: center;
    color: var(--obgyn-ink);
    font-size: 11px;
    font-weight: 800;
    margin: 8px 0;
}

.dentition-panel {
    display: none;
}

.dentition-panel.active {
    display: block;
}

.tooth-row {
    display: grid;
    grid-template-columns: repeat(16, minmax(48px, 1fr));
    gap: 6px;
    align-items: end;
}

.tooth-row.primary-teeth {
    grid-template-columns: repeat(10, minmax(42px, 1fr));
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

.lower-row {
    align-items: start;
}

.tooth-unit,
.mini-tooth {
    border: 0;
    background: transparent;
    color: var(--obgyn-ink);
    padding: 0;
    position: relative;
    outline: none;
}

.tooth-unit:focus,
.mini-tooth:focus {
    outline: none;
    box-shadow: none;
}

.tooth-unit {
    min-height: 92px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.lower-row .tooth-unit {
    justify-content: flex-start;
}

.tooth-no {
    font-size: 11px;
    font-weight: 800;
}

.tooth-shape {
    width: 30px;
    height: 58px;
    border: 1px solid #d2c4ad;
    border-radius: 48% 48% 42% 42%;
    background: linear-gradient(180deg, #fffdf9 0%, #f3eadb 100%);
    box-shadow: inset 0 -6px 10px rgba(173, 141, 91, 0.12), 0 2px 5px rgba(8, 46, 97, 0.08);
    display: block;
    position: relative;
    overflow: hidden;
}

.lower-row .tooth-shape {
    transform: rotate(180deg);
}

.tooth-shape.molar {
    width: 34px;
    border-radius: 42% 42% 36% 36%;
}

.tooth-shape.primary {
    width: 28px;
    height: 48px;
}

.tooth-unit.selected .tooth-shape,
.tooth-unit.multi-selected .tooth-shape,
.tooth-unit:hover .tooth-shape {
    outline: 3px solid #1b73d1;
    outline-offset: 2px;
}

.tooth-unit.multi-selected .tooth-shape {
    outline-color: #12b7c8;
}

.tooth-unit.visual-caries .tooth-shape,
.tooth-unit.preview-caries .tooth-shape {
    background: linear-gradient(180deg, #fffdf9 0%, #f3eadb 100%);
}

.tooth-unit.visual-filling .tooth-shape,
.tooth-unit.preview-filling .tooth-shape {
    background: linear-gradient(180deg, #fffdf9 0%, #f3eadb 100%);
}

.tooth-unit.visual-crown .tooth-shape,
.tooth-unit.preview-crown .tooth-shape {
    background: linear-gradient(180deg, #fffdf9 0%, #f3eadb 100%);
}

.tooth-unit.visual-implant .tooth-shape,
.tooth-unit.preview-implant .tooth-shape {
    background: linear-gradient(180deg, #fffdf9 0%, #f3eadb 100%);
}

.tooth-unit.visual-missing .tooth-shape,
.tooth-unit.preview-missing .tooth-shape {
    background: linear-gradient(180deg, #fffdf9 0%, #f3eadb 100%);
    opacity: .62;
}

.tooth-unit.visual-root-canal .tooth-shape,
.tooth-unit.preview-root-canal .tooth-shape {
    background: linear-gradient(180deg, #fffdf9 0%, #f3eadb 100%);
}

.tooth-unit.visual-sealant .tooth-shape,
.tooth-unit.preview-sealant .tooth-shape {
    background: linear-gradient(180deg, #fffdf9 0%, #f3eadb 100%);
}

.tooth-unit.visual-extraction .tooth-shape,
.tooth-unit.preview-extraction .tooth-shape {
    background: linear-gradient(135deg, #fff 0%, #fee2e2 100%);
}

.tooth-unit.visual-extraction .tooth-shape:after,
.tooth-unit.preview-extraction .tooth-shape:after {
    content: 'x';
    color: #ef4444;
    font-size: 26px;
    font-weight: 900;
    line-height: 1;
    position: absolute;
    margin-left: 8px;
    margin-top: 14px;
}

.tooth-surface {
    position: absolute;
    display: block;
    opacity: .92;
    background: transparent;
}

.surface-occlusal {
    left: 28%;
    top: 36%;
    width: 44%;
    height: 28%;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}

.surface-buccal {
    left: 24%;
    top: 8%;
    width: 52%;
    height: 26%;
    border-radius: 50% 50% 35% 35%;
}

.surface-lingual {
    left: 24%;
    bottom: 8%;
    width: 52%;
    height: 26%;
    border-radius: 35% 35% 50% 50%;
}

.surface-mesial {
    left: 5%;
    top: 28%;
    width: 24%;
    height: 44%;
    border-radius: 50% 28% 28% 50%;
}

.surface-distal {
    right: 5%;
    top: 28%;
    width: 24%;
    height: 44%;
    border-radius: 28% 50% 50% 28%;
}

.mark-caries { background: #ef4444; }
.mark-filling { background: #3b82f6; }
.mark-crown { background: #f4c430; }
.mark-implant { background: #111827; }
.mark-missing { background: #94a3b8; }
.mark-root-canal { background: #f97316; }
.mark-sealant { background: #22c55e; }
.mark-extraction { background: #ef4444; }

.indicator-stack {
    position: absolute;
    left: 50%;
    bottom: 3px;
    transform: translateX(-50%);
    display: flex;
    gap: 2px;
    z-index: 2;
}

.mini-indicator {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.8);
    display: block;
}

.mini-indicator.caries { background: #ef4444; }
.mini-indicator.filling { background: #3b82f6; }
.mini-indicator.crown { background: #f4c430; }
.mini-indicator.implant { background: #111827; }
.mini-indicator.missing { background: #94a3b8; }
.mini-indicator.root-canal { background: #f97316; }
.mini-indicator.sealant { background: #22c55e; }
.mini-indicator.extraction { background: #ef4444; }

.chart-dot {
    color: #d92836;
    position: absolute;
    top: 46px;
    font-size: 10px;
}

.chart-dot.filling { color: #3b82f6; background: transparent; }
.chart-dot.crown { color: #f4c430; background: transparent; }
.chart-dot.implant { color: #4b5563; background: transparent; }
.chart-dot.extraction,
.chart-dot.root-canal,
.chart-dot.caries { color: #ef4444; background: transparent; }
.chart-dot.missing {
    color: #98a6b8;
    background: transparent;
}

.lower-row .chart-dot {
    top: 36px;
}

.arch-divider {
    display: grid;
    grid-template-columns: 36px 1fr 36px;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
}

.arch-divider > span {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #34b67a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.mini-chart-row {
    display: grid;
    grid-template-columns: repeat(16, minmax(38px, 1fr));
    gap: 5px;
}

.mini-chart-row.primary-teeth {
    grid-template-columns: repeat(10, minmax(26px, 1fr));
}

.mini-tooth {
    height: 26px;
    border: 1px solid #c8d5e3;
    border-radius: 50%;
    background: #f8fbff;
    font-size: 9px;
}

.mini-tooth.selected,
.mini-tooth:hover {
    background: #dcecff;
    border-color: #1b73d1;
}

.chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    border: 1px solid #dbe7f1;
    border-radius: 6px;
    padding: 10px 12px;
    margin-top: 16px;
    font-size: 12px;
}

.legend-dot,
.legend-ring {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    margin-right: 6px;
}

.caries { color: #ef4444; background: #ef4444; }
.filling { color: #3b82f6; background: #3b82f6; }
.crown { color: #f4c430; background: #f4c430; }
.implant { color: #4b5563; }
.extraction { color: #ef4444; }
.root-canal { color: #ef4444; }
.legend-dot.missing { background: #94a3b8; }
.legend-dot.implant { background: #111827; }
.legend-dot.root-canal { background: #f97316; }
.legend-dot.sealant { background: #22c55e; }
.legend-ring { border: 1px solid #98a6b8; }

.treatment-history-card {
    margin-top: 14px;
}

.history-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 12px;
}

.history-head h5 {
    margin-bottom: 0;
}

.history-head .form-control {
    max-width: 180px;
}

#historyTable thead button {
    border: 0;
    background: transparent;
    color: var(--obgyn-brand-dark);
    padding: 0;
    font-weight: 800;
}

.history-row {
    cursor: pointer;
}

.history-row:hover {
    background: #edf8ff;
}

.history-mode-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #e7f2ff;
    color: var(--obgyn-brand-dark);
    font-size: 10px;
    font-weight: 800;
}

.control-title {
    border-bottom: 1px solid #dbe7f1;
    padding-bottom: 12px;
    margin-bottom: 16px;
}

.control-title span {
    color: var(--obgyn-brand-dark);
    display: block;
    font-weight: 800;
    font-size: 16px;
}

.control-title small {
    color: var(--obgyn-muted);
}

.medical-history-shell {
    grid-template-columns: 250px minmax(720px, 1fr);
}

.medical-history-stage {
    padding: 18px;
    overflow-x: auto;
}

.mh-page-head {
    background: linear-gradient(135deg, var(--obgyn-brand-dark), var(--obgyn-blue));
    border-radius: 8px;
    color: #fff;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding: 22px;
    margin-bottom: 14px;
}

.mh-page-head h4 {
    margin: 4px 0;
    color: #fff;
    font-weight: 850;
}

.mh-page-head p {
    margin: 0;
    color: rgba(255,255,255,.86);
}

.mh-head-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.mh-permission-pill {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    font-weight: 800;
    padding: 7px 12px;
}

.mh-card {
    background: #fff;
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(8, 46, 97, 0.06);
    padding: 18px;
    margin-bottom: 14px;
    min-width: 720px;
}

.mh-card-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    border-bottom: 1px solid #dbe7f1;
    padding-bottom: 12px;
    margin-bottom: 16px;
}

.mh-card-title h5 {
    margin: 0;
    color: var(--obgyn-brand-dark);
    font-weight: 850;
}

.mh-card-title span {
    color: var(--obgyn-muted);
    font-size: 12px;
    text-align: right;
}

.mh-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    gap: 14px;
}

.mh-grid label,
.mh-card label {
    color: var(--obgyn-ink);
    font-weight: 750;
    font-size: 12px;
}

.mh-grid .form-control,
.mh-entry-table .form-control,
.mh-picker-row .form-control,
.mh-attachment-form .form-control,
.mh-card textarea.form-control {
    border-color: #cfe1f1;
    border-radius: 8px;
    min-height: 42px;
}

.mh-picker-row,
.mh-attachment-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 12px;
}

.mh-attachment-form {
    grid-template-columns: 190px minmax(220px, 1fr) minmax(180px, 1fr) auto;
}

.mh-chip-bank {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.mh-chip {
    border: 1px solid #cfe1f1;
    background: #f8fbff;
    color: var(--obgyn-brand-dark);
    border-radius: 999px;
    min-height: 36px;
    padding: 7px 12px;
    font-weight: 800;
}

.mh-chip:hover {
    background: #e7f2ff;
    border-color: var(--obgyn-blue);
}

.mh-entry-table {
    font-size: 12px;
}

.mh-entry-table thead th {
    background: #f4f8fc;
    color: var(--obgyn-brand-dark);
    border-color: #dbe7f1;
    font-weight: 850;
    white-space: nowrap;
}

.mh-entry-table tbody td {
    border-color: #e6eef6;
    vertical-align: middle;
}

.mh-section-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.mh-question-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 10px;
    margin: 16px 0;
}

.mh-question {
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    padding: 12px;
    background: #f8fbff;
}

.mh-question-main {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.mh-question-main span {
    color: var(--obgyn-ink);
    font-weight: 750;
}

.mh-question-main label {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.mh-large-text {
    min-height: 136px;
    resize: vertical;
}

.mh-toast {
    border-radius: 8px;
    color: #fff;
    font-weight: 800;
    margin-bottom: 12px;
    padding: 12px 14px;
}

.mh-toast.success {
    background: #127f5f;
}

.mh-toast.error {
    background: #be123c;
}

.medical-timeline-row {
    cursor: pointer;
}

.medical-timeline-row:hover,
.medical-timeline-row.active {
    background: #edf8ff;
}

.patient-info-shell {
    grid-template-columns: 250px minmax(760px, 1fr);
}

.patient-info-head {
    background: linear-gradient(135deg, var(--obgyn-brand-dark), #0f766e);
}

.patient-profile-grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 18px;
    align-items: start;
}

.patient-main-grid {
    grid-template-columns: repeat(4, minmax(140px, 1fr));
}

.patient-photo-panel {
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
    padding: 14px;
}

.patient-photo-preview {
    width: 100%;
    aspect-ratio: 1 / 1;
    border: 1px solid #cfe1f1;
    border-radius: 8px;
    background: #fff center/cover no-repeat;
    color: var(--obgyn-brand-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    margin-bottom: 12px;
}

.patient-photo-avatar {
    background-position: center;
    background-size: cover;
}

.photo-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

#photoVideo {
    width: 100%;
    border-radius: 8px;
    margin-top: 10px;
    background: #111827;
}

.copy-address-line {
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.treatment-plan-shell {
    grid-template-columns: 250px minmax(840px, 1fr);
}

.treatment-plan-head {
    background: linear-gradient(135deg, var(--obgyn-brand-dark), #0f766e);
}

.tp-plan-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.tp-plan-tabs a {
    border: 1px solid #cfe1f1;
    border-radius: 999px;
    background: #fff;
    color: var(--obgyn-ink);
    font-weight: 800;
    padding: 8px 12px;
}

.tp-plan-tabs a.active,
.tp-plan-tabs a:hover {
    background: var(--obgyn-brand-dark);
    border-color: var(--obgyn-brand-dark);
    color: #fff;
}

.tp-plan-tabs span {
    opacity: .78;
    font-size: 11px;
    margin-left: 4px;
}

.treatment-plan-grid {
    grid-template-columns: repeat(5, minmax(140px, 1fr));
}

.tp-toolbar {
    display: grid;
    grid-template-columns: auto minmax(260px, 1fr);
    gap: 10px;
    align-items: center;
    margin-bottom: 12px;
}

.treatment-item-table {
    min-width: 1320px;
}

.reorder-cell {
    white-space: nowrap;
}

.reorder-cell .btn {
    margin-right: 4px;
}

.tp-cost-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.3fr;
    gap: 14px;
    align-items: end;
}

.tp-cost-total {
    min-height: 74px;
    border: 1px solid #cfe1f1;
    border-radius: 8px;
    background: #f8fbff;
    padding: 12px;
}

.tp-cost-total span,
.tp-cost-total strong {
    display: block;
}

.tp-cost-total span {
    color: var(--obgyn-muted);
    font-size: 12px;
    font-weight: 800;
}

.tp-cost-total strong {
    color: var(--obgyn-brand-dark);
    font-size: 26px;
    line-height: 1.1;
}

.tp-cost-total.net {
    background: #e7f8f3;
    border-color: #b8eadb;
}

.tp-status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #e7f2ff;
    color: var(--obgyn-brand-dark);
    font-weight: 850;
    padding: 3px 9px;
    font-size: 11px;
}

.tp-status-badge.approved,
.tp-status-badge.completed {
    background: #dcfce7;
    color: #166534;
}

.tp-status-badge.ongoing,
.tp-status-badge.proposed {
    background: #dff8f8;
    color: #0f766e;
}

.tp-status-badge.urgent,
.tp-status-badge.cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.treatment-history-row {
    cursor: pointer;
}

.treatment-history-row:hover {
    background: #edf8ff;
}

.tp-readonly-panel {
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
    margin-top: 12px;
    padding: 12px;
}

.tp-readonly-panel strong,
.tp-readonly-panel span {
    display: block;
}

.tp-readonly-panel strong {
    color: var(--obgyn-brand-dark);
    margin-bottom: 6px;
}

.prescription-shell {
    grid-template-columns: 250px minmax(840px, 1fr);
}

.prescription-head {
    background: linear-gradient(135deg, var(--obgyn-brand-dark), #0aa7a7);
}

.prescription-info-grid {
    grid-template-columns: repeat(6, minmax(130px, 1fr));
}

.prescription-item-table {
    min-width: 1260px;
}

.rx-status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #e7f2ff;
    color: var(--obgyn-brand-dark);
    font-size: 11px;
    font-weight: 850;
    padding: 4px 10px;
}

.rx-status-badge.signed,
.rx-status-badge.released,
.rx-status-badge.valid {
    background: #dcfce7;
    color: #166534;
}

.rx-status-badge.cancelled,
.rx-status-badge.expired,
.rx-status-badge.revoked {
    background: #fee2e2;
    color: #991b1b;
}

.rx-signature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr)) 170px;
    gap: 12px;
    align-items: stretch;
}

.rx-signature-grid > div {
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
    padding: 12px;
}

.rx-signature-grid strong,
.rx-signature-grid span {
    display: block;
}

.rx-signature-grid strong {
    color: var(--obgyn-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.rx-qr-preview {
    text-align: center;
}

.rx-qr-preview img {
    max-width: 124px;
    width: 100%;
    display: block;
    margin: 0 auto 8px;
}

.prescription-history-row {
    cursor: pointer;
}

.prescription-history-row:hover {
    background: #edf8ff;
}

@media (max-width: 1199.98px) {
    .prescription-info-grid,
    .rx-signature-grid {
        grid-template-columns: repeat(2, minmax(170px, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .treatment-plan-grid,
    .tp-cost-grid {
        grid-template-columns: repeat(2, minmax(170px, 1fr));
    }
}

@media (max-width: 991.98px) {
    .tp-toolbar,
    .tp-cost-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1199.98px) {
    .patient-main-grid {
        grid-template-columns: repeat(2, minmax(160px, 1fr));
    }
}

@media (max-width: 991.98px) {
    .patient-profile-grid {
        grid-template-columns: 1fr;
    }

    .patient-photo-panel {
        max-width: 260px;
    }
}

@media (max-width: 1199.98px) {
    .medical-history-shell {
        grid-template-columns: 220px minmax(680px, 1fr);
    }

    .mh-grid {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }
}

@media (max-width: 991.98px) {
    .medical-history-shell {
        display: block;
    }

    .mh-page-head,
    .mh-card-title {
        display: block;
    }

    .mh-head-actions {
        justify-content: flex-start;
        margin-top: 12px;
    }

    .mh-grid,
    .mh-question-grid,
    .mh-attachment-form {
        grid-template-columns: 1fr;
    }
}

.tooth-status-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
}

.tooth-status-summary div {
    border: 1px solid #dbe7f1;
    border-radius: 7px;
    background: #f8fbff;
    padding: 8px;
}

.tooth-status-summary strong,
.tooth-status-summary span {
    display: block;
}

.tooth-status-summary strong {
    color: var(--obgyn-muted);
    font-size: 10px;
    text-transform: uppercase;
}

.tooth-status-summary span {
    color: var(--obgyn-brand-dark);
    font-weight: 800;
    margin-top: 3px;
}

.surface-grid,
.quick-chart-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}

.surface-button,
.quick-chart-grid button {
    border: 1px solid #dbe7f1;
    background: #fff;
    border-radius: 6px;
    color: var(--obgyn-ink);
    display: grid;
    gap: 5px;
    min-height: 58px;
    place-items: center;
    font-size: 11px;
    font-weight: 700;
}

.surface-button input {
    display: none;
}

.surface-button.selected,
.surface-button:hover,
.quick-chart-grid button:hover {
    background: #e7f2ff;
    border-color: #1b73d1;
    color: var(--obgyn-brand-dark);
}

.chart-form-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.chart-form-actions .btn:first-child {
    grid-column: 1 / -1;
    min-height: 46px;
    font-weight: 800;
}

.chart-save-message {
    color: #047857;
    font-weight: 800;
    min-height: 22px;
    margin-top: 10px;
}

.chart-save-message.error {
    color: #dc2626;
}

.selected-tooth-history {
    border-top: 1px solid #dbe7f1;
    margin-top: 18px;
    padding-top: 16px;
}

.selected-tooth-history h6 {
    color: var(--obgyn-brand-dark);
    font-weight: 800;
}

.tooth-history-item,
.empty-history {
    width: 100%;
    border: 1px solid #dbe7f1;
    border-radius: 7px;
    background: #fff;
    color: var(--obgyn-ink);
    display: block;
    margin-bottom: 8px;
    padding: 9px 10px;
    text-align: left;
}

.tooth-history-item:hover {
    background: #e7f2ff;
    border-color: #1b73d1;
}

.tooth-history-item strong,
.tooth-history-item span {
    display: block;
}

.tooth-history-item span {
    color: var(--obgyn-muted);
    font-size: 12px;
}

.chart-timeline-panel {
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
    padding: 10px;
    margin-bottom: 14px;
}

.timeline-title {
    color: var(--obgyn-brand-dark);
    font-weight: 800;
    margin-bottom: 8px;
}

#chartTimelineList {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.timeline-item {
    border: 1px solid #cfe1f1;
    border-radius: 999px;
    background: #fff;
    color: var(--obgyn-ink);
    padding: 7px 11px;
    font-weight: 800;
}

.timeline-item.active,
.timeline-item:hover {
    background: var(--obgyn-brand-dark);
    border-color: var(--obgyn-brand-dark);
    color: #fff;
}

.read-only-entry {
    opacity: .86;
}

.quick-chart-card {
    border-top: 1px solid #dbe7f1;
    margin-top: 18px;
    padding-top: 16px;
}

.quick-chart-card h6 {
    color: var(--obgyn-brand-dark);
    font-weight: 800;
}

@media (max-width: 1199.98px) {
    .dental-exam-shell {
        grid-template-columns: 220px minmax(540px, 1fr);
    }

    .dental-control-panel {
        grid-column: 1 / -1;
        border-left: 0;
        border-top: 1px solid #dbe7f1;
    }
}

@media (max-width: 767.98px) {
    .dental-exam-shell {
        display: block;
    }

    .dental-chart-stage {
        padding: 12px;
    }

    .dental-chart-card {
        min-width: 0;
    }
}

.auth-page-shell {
    min-height: calc(100vh - 40px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 0;
}

.auth-page-card {
    width: 100%;
    border: 0;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(8, 46, 97, 0.20);
}

.auth-page-hero {
    min-height: 680px;
    color: #fff;
    padding: 48px 40px;
    position: relative;
}

.obgyn-auth-hero {
    background:
        linear-gradient(180deg, rgba(11, 55, 111, 0.82), rgba(8, 46, 97, 0.96)),
        url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
}

.auth-page-hero:before {
    content: '';
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 20px;
}

.auth-page-hero-content {
    position: relative;
    z-index: 1;
}

.auth-brand-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.16);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.auth-brand-logo {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.14);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
}

.auth-hero-title {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
}

.auth-hero-copy {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.88);
    max-width: 520px;
}

.auth-feature-list {
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.auth-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    color: rgba(255, 255, 255, 0.92);
}

.auth-feature-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    flex: 0 0 34px;
    background: rgba(255, 255, 255, 0.14);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.auth-page-panel {
    min-height: 680px;
    background: linear-gradient(180deg, #fff 0%, var(--obgyn-soft) 100%);
    padding: 42px 40px;
    display: flex;
    align-items: center;
}

.auth-box {
    width: 100%;
}

.auth-kicker {
    letter-spacing: .12em;
    color: var(--obgyn-brand);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.auth-title {
    color: var(--obgyn-brand-dark);
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 10px;
}

.auth-subtitle {
    color: var(--obgyn-muted);
    margin-bottom: 24px;
}

.auth-input-group {
    margin-bottom: 16px;
}

.auth-input-label {
    color: var(--obgyn-ink);
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
}

.auth-input {
    height: 50px;
    border-radius: 14px;
    border: 1px solid var(--obgyn-line);
    background: #fff;
    padding: 0 16px;
    box-shadow: none !important;
}

.auth-input:focus {
    border-color: var(--obgyn-brand);
}

.auth-submit {
    height: 52px;
    border-radius: 14px;
    font-weight: 600;
    letter-spacing: .02em;
}

.auth-support-box {
    margin-top: 24px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--obgyn-line);
    padding: 16px 18px;
    color: var(--obgyn-muted);
}

.auth-support-box strong {
    color: var(--obgyn-brand-dark);
}

.attachment-stage {
    gap: 14px;
}

.attachment-upload-grid {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
}

.attachment-drop-zone {
    position: relative;
    min-height: 154px;
    border: 2px dashed #b8d4ec;
    border-radius: 8px;
    background: linear-gradient(180deg, #f8fbff, #eef8ff);
    color: var(--obgyn-brand-dark);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 14px;
    cursor: pointer;
    transition: .18s ease;
}

.attachment-drop-zone.dragging,
.attachment-drop-zone:hover {
    border-color: var(--obgyn-blue);
    background: #eaf5ff;
}

.attachment-drop-zone i {
    color: var(--obgyn-brand);
    font-size: 34px;
}

.attachment-drop-zone strong {
    font-size: 15px;
}

.attachment-drop-zone span {
    color: var(--obgyn-muted);
    font-size: 12px;
}

.attachment-drop-zone input[type="file"] {
    display: none;
}

.attachment-progress {
    height: 8px;
    border-radius: 999px;
    background: #e5eef7;
    overflow: hidden;
    margin-top: 12px;
}

.attachment-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--obgyn-brand-dark), var(--obgyn-brand));
    transition: width .16s ease;
}

.attachment-filters {
    display: grid;
    grid-template-columns: minmax(260px, 1.6fr) minmax(160px, 1fr) minmax(150px, .8fr) minmax(130px, .7fr);
    gap: 10px;
    margin-bottom: 12px;
}

.attachment-library-table th {
    cursor: pointer;
}

.attachment-row {
    cursor: pointer;
}

.attachment-row.active td {
    background: #eaf5ff;
}

.attachment-thumb {
    width: 54px;
    height: 46px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #dbe7f1;
    background: #fff;
}

.attachment-file-icon {
    min-width: 54px;
    min-height: 46px;
    border-radius: 8px;
    background: #eef6ff;
    color: var(--obgyn-brand-dark);
    border: 1px solid #dbe7f1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 850;
}

.attachment-preview-layout {
    display: grid;
    grid-template-columns: minmax(420px, 1.3fr) minmax(260px, .7fr);
    gap: 14px;
}

.attachment-preview-tools {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.attachment-preview-box {
    min-height: 420px;
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
    padding: 16px;
}

.attachment-preview-box img {
    max-width: 100%;
    max-height: 680px;
    transform-origin: center center;
    transition: transform .15s ease;
}

.attachment-preview-box iframe {
    width: 100%;
    min-height: 680px;
    border: 0;
    background: #fff;
}

.office-preview {
    text-align: center;
    color: var(--obgyn-muted);
    max-width: 360px;
}

.office-preview strong {
    color: var(--obgyn-brand-dark);
    display: block;
    margin-bottom: 8px;
}

.attachment-meta-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-content: start;
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    padding: 14px;
    background: #fff;
}

.appointment-head {
    background: linear-gradient(135deg, var(--obgyn-brand-dark), #0aa7a7);
}

.appointment-info-grid {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.today-appointment-strip {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 14px;
    align-items: center;
    background: linear-gradient(135deg, #f8fbff, #eaf8ff);
}

.today-appointment-strip strong,
.today-appointment-strip span {
    display: block;
}

.today-appointment-strip strong {
    color: var(--obgyn-brand-dark);
    font-weight: 850;
}

.today-appointment-strip span {
    color: var(--obgyn-muted);
}

.queue-actions,
.appointment-actions,
.appointment-calendar-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.appointment-actions .btn {
    min-height: 38px;
}

.appointment-calendar-toolbar {
    margin-bottom: 12px;
}

.appointment-calendar-toolbar .form-control {
    max-width: 220px;
}

.appointment-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(150px, 1fr));
    gap: 10px;
}

.calendar-day {
    min-height: 150px;
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
    padding: 10px;
}

.calendar-day > strong {
    color: var(--obgyn-brand-dark);
    display: block;
    font-size: 12px;
    margin-bottom: 8px;
}

.calendar-event {
    border-left: 4px solid var(--obgyn-blue);
    border-radius: 7px;
    background: #fff;
    color: var(--obgyn-ink);
    display: block;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 7px;
    padding: 7px 8px;
    box-shadow: 0 8px 18px rgba(8, 46, 97, 0.05);
}

.calendar-event span,
.calendar-event small {
    display: block;
}

.calendar-event small {
    color: var(--obgyn-muted);
    font-weight: 700;
}

.calendar-event .payment-badge {
    display: inline-flex;
    width: fit-content;
    margin-top: 5px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 10px;
    line-height: 1.2;
    color: #475569;
    background: #f1f5f9;
}

.calendar-event .payment-unbilled {
    color: #475569;
    background: #f1f5f9;
}

.calendar-event .payment-pending {
    color: #92400e;
    background: #fef3c7;
}

.calendar-event .payment-partial {
    color: #075985;
    background: #e0f2fe;
}

.calendar-event .payment-paid {
    color: #166534;
    background: #dcfce7;
}

.calendar-event .payment-cancelled {
    color: #991b1b;
    background: #fee2e2;
}

.calendar-event.confirmed,
.appointment-status.confirmed {
    border-color: #0aa7a7;
}

.calendar-event.checked-in,
.appointment-status.checked-in {
    border-color: #2563eb;
}

.calendar-event.in-consultation,
.appointment-status.in-consultation {
    border-color: #7c3aed;
}

.calendar-event.completed,
.appointment-status.completed {
    border-color: #16a34a;
}

.calendar-event.cancelled,
.calendar-event.no-show,
.appointment-status.cancelled,
.appointment-status.no-show {
    border-color: #dc2626;
}

.appointment-status {
    display: inline-flex;
    align-items: center;
    border-left: 4px solid #94a3b8;
    border-radius: 999px;
    background: #f8fbff;
    color: var(--obgyn-brand-dark);
    font-size: 11px;
    font-weight: 850;
    padding: 4px 10px;
}

.appointment-timeline {
    display: grid;
    gap: 10px;
}

.appointment-timeline-item {
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
    padding: 12px;
}

.appointment-timeline-item strong,
.appointment-timeline-item span,
.appointment-timeline-item p {
    display: block;
}

.appointment-timeline-item strong {
    color: var(--obgyn-brand-dark);
}

.appointment-timeline-item span {
    color: var(--obgyn-muted);
    font-size: 12px;
    margin: 3px 0 6px;
}

.appointment-timeline-item p {
    margin: 0;
}

.appointment-history-table tbody tr {
    cursor: pointer;
}

.appointment-history-table tbody tr:hover {
    background: #edf8ff;
}

.doctor-config-page .doctor-hero {
    margin-bottom: 18px;
}

.doctor-config-card h5 {
    color: var(--obgyn-brand-dark);
    font-weight: 850;
    margin-bottom: 16px;
}

.doctor-config-profile {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 12px;
    align-items: center;
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
    padding: 12px;
    margin-bottom: 14px;
}

.doctor-config-profile strong,
.doctor-config-profile span {
    display: block;
}

.doctor-config-profile strong {
    color: var(--obgyn-brand-dark);
    font-size: 15px;
}

.doctor-config-profile span {
    color: var(--obgyn-muted);
    font-size: 12px;
}

.signature-preview {
    min-height: 138px;
    border: 1px dashed #b8d4ec;
    border-radius: 8px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    padding: 14px;
}

.signature-preview img {
    max-width: 100%;
    max-height: 112px;
    object-fit: contain;
}

.signature-preview span {
    color: var(--obgyn-muted);
}

.config-upload-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) 180px;
    gap: 12px;
    align-items: end;
}

.active-certificate-panel {
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #f8fbff;
    margin-top: 16px;
    padding: 14px;
}

.active-certificate-panel h6 {
    color: var(--obgyn-brand-dark);
    font-weight: 850;
    margin-bottom: 12px;
}

.certificate-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 10px;
}

.certificate-status-grid div {
    border: 1px solid #dbe7f1;
    border-radius: 8px;
    background: #fff;
    padding: 10px;
}

.certificate-status-grid strong,
.certificate-status-grid span {
    display: block;
}

.certificate-status-grid strong {
    color: var(--obgyn-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.certificate-status-grid span {
    color: var(--obgyn-brand-dark);
    font-weight: 800;
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .patient-dashboard {
        padding: 15px;
    }

    .symptom-row {
        grid-template-columns: 1fr 38px;
    }

    .symptom-row input[type="range"] {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

@media (max-width: 991.98px) {
    .attachment-upload-grid,
    .appointment-info-grid,
    .attachment-filters,
    .attachment-preview-layout {
        grid-template-columns: 1fr;
    }

    .today-appointment-strip,
    .appointment-calendar {
        grid-template-columns: 1fr;
    }

    .attachment-preview-box,
    .attachment-preview-box iframe {
        min-height: 360px;
    }

    .config-upload-grid,
    .certificate-status-grid {
        grid-template-columns: 1fr;
    }

    .auth-page-hero,
    .auth-page-panel {
        min-height: auto;
    }

    .auth-page-hero {
        padding: 36px 28px;
    }

    .auth-page-panel {
        padding: 34px 28px;
    }
}

@media (max-width: 575.98px) {
    .auth-hero-title,
    .auth-title {
        font-size: 28px;
    }
}

.billing-payment-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(380px, 1.45fr);
    gap: 18px;
    align-items: start;
}

.billing-payment-card {
    min-width: 0;
    width: 100%;
}

.billing-summary-table {
    table-layout: fixed;
}

.billing-summary-table th {
    width: 42%;
    white-space: nowrap;
}

.billing-summary-table td {
    overflow-wrap: anywhere;
}

.billing-payment-form .form-control {
    width: 100%;
}

@media (max-width: 1399.98px) {
    .billing-payment-layout {
        grid-template-columns: 1fr;
    }
}
