@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Inria+Sans:wght@400&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Helvetica+Neue:wght@400&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Mulish:wght@400;600;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;500;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;500;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Inria+Sans:wght@400&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Helvetica+Neue:wght@400&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Mulish:wght@400;600;700&display=swap);
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url(data:image/gif;base64,R0lGODlhIAAgAPUAAP///wAAAPr6+sTExOjo6PDw8NDQ0H5+fpqamvb29ubm5vz8/JKSkoaGhuLi4ri4uKCgoOzs7K6urtzc3D4+PlZWVmBgYHx8fKioqO7u7kpKSmxsbAwMDAAAAM7OzsjIyNjY2CwsLF5eXh4eHkxMTLCwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAIAAgAAAG/0CAcEgkFjgcR3HJJE4SxEGnMygKmkwJxRKdVocFBRRLfFAoj6GUOhQoFAVysULRjNdfQFghLxrODEJ4Qm5ifUUXZwQAgwBvEXIGBkUEZxuMXgAJb1dECWMABAcHDEpDEGcTBQMDBQtvcW0RbwuECKMHELEJF5NFCxm1AAt7cH4NuAOdcsURy0QCD7gYfcWgTQUQB6Zkr66HoeDCSwIF5ucFz3IC7O0CC6zx8YuHhW/3CvLyfPX4+OXozKnDssBdu3G/xIHTpGAgOUPrZimAJCfDPYfDin2TQ+xeBnWbHi37SC4YIYkQhdy7FvLdpwWvjA0JyU/ISyIx4xS6sgfkNS4me2rtVKkgw0JCb8YMZdjwqMQ2nIY8BbcUQNVCP7G4MQq1KRivR7tiDEuEFrggACH5BAAKAAEALAAAAAAgACAAAAb/QIBwSCQmNBpCcckkEgREA4ViKA6azM8BEZ1Wh6LOBls0HA5fgJQ6HHQ6InKRcWhA1d5hqMMpyIkOZw9Ca18Qbwd/RRhnfoUABRwdI3IESkQFZxB4bAdvV0YJQwkDAx9+bWcECQYGCQ5vFEQCEQoKC0ILHqUDBncCGA5LBiHCAAsFtgqoQwS8Aw64f8m2EXdFCxO8INPKomQCBgPMWAvL0n/ff+jYAu7vAuxy8O/myvfX8/f7/Arq+v0W0HMnr9zAeE0KJlQkJIGCfE0E+PtDq9qfDMogDkGmrIBCbNQUZIDosNq1kUsEZJBW0dY/b0ZsLViQIMFMW+RKKgjFzp4fNokPIdki+Y8JNVxA79jKwHAI0G9JGw5tCqDWTiFRhVhtmhVA16cMJTJ1OnVIMo1cy1KVI5NhEAAh+QQACgACACwAAAAAIAAgAAAG/0CAcEgkChqNQnHJJCYWRMfh4CgamkzFwBOdVocNCgNbJAwGhKGUOjRQKA1y8XOGAtZfgIWiSciJBWcTQnhCD28Qf0UgZwJ3XgAJGhQVcgKORmdXhRBvV0QMY0ILCgoRmIRnCQIODgIEbxtEJSMdHZ8AGaUKBXYLIEpFExZpAG62HRRFArsKfn8FIsgjiUwJu8FkJLYcB9lMCwUKqFgGHSJ5cnZ/uEULl/CX63/x8KTNu+RkzPj9zc/0/Cl4V0/APDIE6x0csrBJwybX9DFhBhCLgAilIvzRVUriKHGlev0JtyuDvmsZUZlcIiCDnYu7KsZ0UmrBggRP7n1DqcDJEzciOgHwcwTyZEUmIKEMFVIqgyIjpZ4tjdTxqRCMPYVMBYDV6tavUZ8yczpkKwBxHsVWtaqo5tMgACH5BAAKAAMALAAAAAAgACAAAAb/QIBwSCQuBgNBcck0FgvIQtHRZCYUGSJ0IB2WDo9qUaBQKIXbLsBxOJTExUh5mB4iDo0zXEhWJNBRQgZtA3tPZQsAdQINBwxwAnpCC2VSdQNtVEQSEkOUChGSVwoLCwUFpm0QRAMVFBQTQxllCqh0kkIECF0TG68UG2O0foYJDb8VYVa0alUXrxoQf1WmZnsTFA0EhgCJhrFMC5Hjkd57W0jpDsPDuFUDHfHyHRzstNN78PPxHOLk5dwcpBuoaYk5OAfhXHG3hAy+KgLkgNozqwzDbgWYJQyXsUwGXKNA6fnYMIO3iPeIpBwyqlSCBKUqEQk5E6YRmX2UdAT5kEnHKkQ5hXjkNqTPtKAARl1sIrGoxSFNuSEFMNWoVCxEpiqyRlQY165wEHELAgAh+QQACgAEACwAAAAAIAAgAAAG/0CAcEgsKhSLonJJTBIFR0GxwFwmFJlnlAgaTKpFqEIqFJMBhcEABC5GjkPz0KN2tsvHBH4sJKgdd1NHSXILah9tAmdCC0dUcg5qVEQfiIxHEYtXSACKnWoGXAwHBwRDGUcKBXYFi0IJHmQEEKQHEGGpCnp3AiW1DKFWqZNgGKQNA65FCwV8bQQHJcRtds9MC4rZitVgCQbf4AYEubnKTAYU6eoUGuSpu3fo6+ka2NrbgQAE4eCmS9xVAOW7Yq7IgA4Hpi0R8EZBhDshOnTgcOtfM0cAlTigILFDiAFFNjk8k0GZgAxOBozouIHIOyKbFixIkECmIyIHOEiEWbPJTTQ5FxcVOMCgzUVCWwAcyZJvzy45ADYVZNIwTlIAVfNB7XRVDLxEWLQ4E9JsKq+rTdsMyhcEACH5BAAKAAUALAAAAAAgACAAAAb/QIBwSCwqFIuicklMEgVHQVHKVCYUmWeUWFAkqtOtEKqgAsgFcDFyHJLNmbZa6x2Lyd8595h8C48RagJmQgtHaX5XZUYKQ4YKEYSKfVKPaUMZHwMDeQBxh04ABYSFGU4JBpsDBmFHdXMLIKofBEyKCpdgspsOoUsLXaRLCQMgwky+YJ1FC4POg8lVAg7U1Q5drtnHSw4H3t8HDdnZy2Dd4N4Nzc/QeqLW1bnM7rXuV9tEBhQQ5UoCbJDmWKBAQcMDZNhwRVNCYANBChZYEbkVCZOwASEcCDFQ4SEDIq6WTVqQIMECBx06iCACQQPBiSabHDqzRUTKARMhSFCDrc+WNQIcOoRw5+ZIHj8ADqSEQBQAwKKLhIzowEEeGKQ0owIYkPKjHihZoBKi0KFE01b4zg7h4y4IACH5BAAKAAYALAAAAAAgACAAAAb/QIBwSCwqFIuicklMEgVHQVHKVCYUmWeUWFAkqtOtEKqgAsgFcDFyHJLNmbZa6x2Lyd8595h8C48RagJmQgtHaX5XZUUJeQCGChGEin1SkGlubEhDcYdOAAWEhRlOC12HYUd1eqeRokOKCphgrY5MpotqhgWfunqPt4PCg71gpgXIyWSqqq9MBQPR0tHMzM5L0NPSC8PCxVUCyeLX38+/AFfXRA4HA+pjmoFqCAcHDQa3rbxzBRD1BwgcMFIlidMrAxYICHHA4N8DIqpsUWJ3wAEBChQaEBnQoB6RRr0uARjQocMAAA0w4nMz4IOaU0lImkSngYKFc3ZWyTwJAALGK4fnNA3ZOaQCBQ22wPgRQlSIAYwSfkHJMrQkTyEbKFzFydQq15ccOAjUEwQAIfkEAAoABwAsAAAAACAAIAAABv9AgHBILCoUi6JySUwSBUdBUcpUJhSZZ5RYUCSq060QqqACyAVwMXIcks2ZtlrrHYvJ3zn3mHwLjxFqAmZCC0dpfldlRQl5AIYKEYSKfVKQaW5sSENxh04ABYSFGU4LXYdhR3V6p5GiQ4oKmGCtjkymi2qGBZ+6eo+3g8KDvYLDxKrJuXNkys6qr0zNygvHxL/V1sVD29K/AFfRRQUDDt1PmoFqHgPtBLetvMwG7QMes0KxkkIFIQNKDhBgKvCh3gQiqmxt6NDBAAEIEAgUOHCgBBEH9Yg06uWAIQUABihQMACgBEUHTRwoUEOBIcqQI880OIDgm5ABDA8IgUkSwAAyij1/jejAARPPIQwONBCnBAJDCEOOCnFA8cOvEh1CEJEqBMIBEDaLcA3LJIEGDe/0BAEAIfkEAAoACAAsAAAAACAAIAAABv9AgHBILCoUi6JySUwSBUdBUcpUJhSZZ5RYUCSq060QqqACyAVwMXIcks2ZtlrrHYvJ3zn3mHwLjxFqAmZCC0dpfldlRQl5AIYKEYSKfVKQaW5sSENxh04ABYSFGU4LXYdhR3V6p5GiQ4oKmGCtjkymi2qGBZ+6eo+3g8KDvYLDxKrJuXNkys6qr0zNygvHxL/V1sVDDti/BQccA8yrYBAjHR0jc53LRQYU6R0UBnO4RxmiG/IjJUIJFuoVKeCBigBN5QCk43BgFgMKFCYUGDAgFEUQRGIRYbCh2xACEDcAcHDgQDcQFGf9s7VkA0QCI0t2W0DRw68h8ChAEELSJE8xijBvVqCgIU9PjwA+UNzG5AHEB9xkDpk4QMGvARQsEDlKxMCALDeLcA0rqEEDlWCCAAAh+QQACgAJACwAAAAAIAAgAAAG/0CAcEgsKhSLonJJTBIFR0FRylQmFJlnlFhQJKrTrRCqoALIBXAxchySzZm2Wusdi8nfOfeYfAuPEWoCZkILR2l+V2VFCXkAhgoRhIp9UpBpbmxIQ3GHTgAFhIUZTgtdh2FHdXqnkaJDigqYYK2OTKaLaoYFn7p6j0wOA8PEAw6/Z4PKUhwdzs8dEL9kqqrN0M7SetTVCsLFw8d6C8vKvUQEv+dVCRAaBnNQtkwPFRQUFXOduUoTG/cUNkyYg+tIBlEMAFYYMAaBuCekxmhaJeSeBgiOHhw4QECAAwcCLhGJRUQCg3RDCmyUVmBYmlOiGqmBsPGlyz9YkAlxsJEhqCubABS9AsPgQAMqLQfM0oTMwEZ4QpLOwvMLxAEEXIBG5aczqtaut4YNXRIEACH5BAAKAAoALAAAAAAgACAAAAb/QIBwSCwqFIuicklMEgVHQVHKVCYUmWeUWFAkqtOtEKqgAsgFcDFyHJLNmbZa6x2Lyd8595h8C48RahAQRQtHaX5XZUUJeQAGHR0jA0SKfVKGCmlubEhCBSGRHSQOQwVmQwsZTgtdh0UQHKIHm2quChGophuiJHO3jkwOFB2UaoYFTnMGegDKRQQG0tMGBM1nAtnaABoU3t8UD81kR+UK3eDe4nrk5grR1NLWegva9s9czfhVAgMNpWqgBGNigMGBAwzmxBGjhACEgwcgzAPTqlwGXQ8gMgAhZIGHWm5WjelUZ8jBBgPMTBgwIMGCRgsygVSkgMiHByD7DWDmx5WuMkZqDLCU4gfAq2sACrAEWFSRLjUfWDopCqDTNQIsJ1LF0yzDAA90UHV5eo0qUjB8mgUBACH5BAAKAAsALAAAAAAgACAAAAb/QIBwSCwqFIuickk0FIiCo6A4ZSoZnRBUSiwoEtYipNOBDKOKKgD9DBNHHU4brc4c3cUBeSOk949geEQUZA5rXABHEW4PD0UOZBSHaQAJiEMJgQATFBQVBkQHZKACUwtHbX0RR0mVFp0UFwRCBSQDSgsZrQteqEUPGrAQmmG9ChFqRAkMsBd4xsRLBBsUoG6nBa14E4IA2kUFDuLjDql4peilAA0H7e4H1udH8/Ps7+3xbmj0qOTj5mEWpEP3DUq3glYWOBgAcEmUaNI+DBjwAY+dS0USGJg4wABEXMYyJNvE8UOGISKVCNClah4xjg60WUKyINOCUwrMzVRARMGENWQ4n/jpNTKTm15J/CTK2e0MoD+UKmHEs4onVDVVmyqdpAbNR4cKTjqNSots07EjzzJh1S0IADsAAAAAAAAAAAA=) center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url(/static/media/slick.a4e97f5a2a64f0ab1323.eot);
    src: url(/static/media/slick.a4e97f5a2a64f0ab1323.eot?#iefix) format('embedded-opentype'), url(/static/media/slick.295183786cd8a1389865.woff) format('woff'), url(/static/media/slick.c94f7671dcc99dce43e2.ttf) format('truetype'), url(/static/media/slick.2630a3e3eab21c607e21.svg#slick) format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */ /* 3 */
  tab-size: 4; /* 3 */
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  * {
  border-color: var(--border);
}
  
  html,
  body,
  #root {
    height: 100%;
    min-height: 100vh;
  }
  
  body {
  background-color: var(--background);
  color: var(--foreground);
    margin: 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
      'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
      sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

  code {
    font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
      monospace;
  }

  /* Remove separator lines from calendar */
  [data-slot="calendar"] .rdp-weekdays_row,
  [data-slot="calendar"] .rdp-weekdays_row *,
  [data-slot="calendar"] .rdp-week,
  [data-slot="calendar"] .rdp-week *,
  [data-slot="calendar"] .rdp-weekday,
  [data-slot="calendar"] .rdp-day,
  [data-slot="calendar"] table,
  [data-slot="calendar"] table tr,
  [data-slot="calendar"] table td,
  [data-slot="calendar"] table th {
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
  }

  /* Override blue selection colors with theme */
  ::selection {
    background-color: color-mix(in oklch, var(--primary) 30%, transparent);
    color: var(--foreground);
  }

  ::-moz-selection {
    background-color: color-mix(in oklch, var(--primary) 30%, transparent);
    color: var(--foreground);
  }

  /* ReactQuill editor selection */

  /* Select dropdown selected items */
  [data-radix-select-item][data-highlighted],
  [data-radix-select-item][data-state="checked"] {
    background-color: var(--accent) !important;
    color: var(--accent-foreground) !important;
  }

  /* Override browser default blue focus borders - use theme colors */
  input:focus,
  input:focus-visible,
  textarea:focus,
  textarea:focus-visible,
  select:focus,
  select:focus-visible {
    outline: none !important;
    border-color: var(--ring) !important;
    box-shadow: 0 0 0 1px var(--ring) !important;
  }

  /* Ensure all focus rings use theme colors */
  *:focus-visible {
    outline: none !important;
  }

  /* ReactQuill editor focus */
.\!container {
  width: 100% !important;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: -webkit-sticky;
  position: sticky;
}
.-inset-4 {
  inset: -1rem;
}
.inset-0 {
  inset: 0px;
}
.-bottom-1 {
  bottom: -0.25rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-2 {
  right: -0.5rem;
}
.-top-2 {
  top: -0.5rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-5 {
  bottom: 1.25rem;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-14 {
  left: 3.5rem;
}
.left-2 {
  left: 0.5rem;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-5 {
  left: 1.25rem;
}
.left-6 {
  left: 1.5rem;
}
.left-9 {
  left: 2.25rem;
}
.left-\[-3px\] {
  left: -3px;
}
.left-\[10\%\] {
  left: 10%;
}
.left-\[1064px\] {
  left: 1064px;
}
.left-\[122px\] {
  left: 122px;
}
.left-\[132px\] {
  left: 132px;
}
.left-\[15\%\] {
  left: 15%;
}
.left-\[154px\] {
  left: 154px;
}
.left-\[166px\] {
  left: 166px;
}
.left-\[190px\] {
  left: 190px;
}
.left-\[193px\] {
  left: 193px;
}
.left-\[201px\] {
  left: 201px;
}
.left-\[202px\] {
  left: 202px;
}
.left-\[5\%\] {
  left: 5%;
}
.left-\[50\%\] {
  left: 50%;
}
.left-\[calc\(50\%-542px\)\] {
  left: calc(50% - 542px);
}
.left-\[calc\(50\%-680px\)\] {
  left: calc(50% - 680px);
}
.right-0 {
  right: 0px;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-\[10\%\] {
  right: 10%;
}
.right-\[119px\] {
  right: 119px;
}
.right-\[15\%\] {
  right: 15%;
}
.right-\[5\%\] {
  right: 5%;
}
.top-0 {
  top: 0px;
}
.top-0\.5 {
  top: 0.125rem;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-16 {
  top: 4rem;
}
.top-2 {
  top: 0.5rem;
}
.top-20 {
  top: 5rem;
}
.top-4 {
  top: 1rem;
}
.top-5 {
  top: 1.25rem;
}
.top-6 {
  top: 1.5rem;
}
.top-7 {
  top: 1.75rem;
}
.top-8 {
  top: 2rem;
}
.top-\[1063px\] {
  top: 1063px;
}
.top-\[121px\] {
  top: 121px;
}
.top-\[157px\] {
  top: 157px;
}
.top-\[17px\] {
  top: 17px;
}
.top-\[186px\] {
  top: 186px;
}
.top-\[229px\] {
  top: 229px;
}
.top-\[254px\] {
  top: 254px;
}
.top-\[320px\] {
  top: 320px;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[530px\] {
  top: 530px;
}
.top-\[579px\] {
  top: 579px;
}
.top-\[57px\] {
  top: 57px;
}
.top-\[678px\] {
  top: 678px;
}
.top-full {
  top: 100%;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-50 {
  z-index: 50;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[2\] {
  z-index: 2;
}
.z-\[9999\] {
  z-index: 9999;
}
.z-\[99\] {
  z-index: 99;
}
.col-span-full {
  grid-column: 1 / -1;
}
.m-0 {
  margin: 0px;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-2\.5 {
  margin-left: 0.625rem;
  margin-right: 0.625rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-10 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.my-16 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-2\.5 {
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}
.-mb-\[50px\] {
  margin-bottom: -50px;
}
.-ml-2\.5 {
  margin-left: -0.625rem;
}
.-ml-4 {
  margin-left: -1rem;
}
.-ml-\[150px\] {
  margin-left: -150px;
}
.-mt-20 {
  margin-top: -5rem;
}
.-mt-\[100px\] {
  margin-top: -100px;
}
.-mt-\[1200px\] {
  margin-top: -1200px;
}
.-mt-\[130px\] {
  margin-top: -130px;
}
.-mt-\[150px\] {
  margin-top: -150px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-3\.5 {
  margin-bottom: 0.875rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.mb-\[200px\] {
  margin-bottom: 200px;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-12 {
  margin-left: 3rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-5 {
  margin-left: 1.25rem;
}
.ml-8 {
  margin-left: 2rem;
}
.ml-\[450px\] {
  margin-left: 450px;
}
.ml-\[500px\] {
  margin-left: 500px;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-2\.5 {
  margin-right: 0.625rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mr-6 {
  margin-right: 1.5rem;
}
.mt-0 {
  margin-top: 0px;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-14 {
  margin-top: 3.5rem;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-20 {
  margin-top: 5rem;
}
.mt-24 {
  margin-top: 6rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-\[122px\] {
  margin-top: 122px;
}
.mt-\[200px\] {
  margin-top: 200px;
}
.mt-\[210px\] {
  margin-top: 210px;
}
.mt-\[763px\] {
  margin-top: 763px;
}
.mt-auto {
  margin-top: auto;
}
.box-border {
  box-sizing: border-box;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.list-item {
  display: list-item;
}
.hidden {
  display: none;
}
.aspect-\[0\.72\] {
  aspect-ratio: 0.72;
}
.aspect-\[1\.09\] {
  aspect-ratio: 1.09;
}
.aspect-\[3\/4\] {
  aspect-ratio: 3/4;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-4 {
  height: 1rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-96 {
  height: 24rem;
}
.h-\[102px\] {
  height: 102px;
}
.h-\[120px\] {
  height: 120px;
}
.h-\[126px\] {
  height: 126px;
}
.h-\[171px\] {
  height: 171px;
}
.h-\[17px\] {
  height: 17px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[235px\] {
  height: 235px;
}
.h-\[30px\] {
  height: 30px;
}
.h-\[350px\] {
  height: 350px;
}
.h-\[37px\] {
  height: 37px;
}
.h-\[400px\] {
  height: 400px;
}
.h-\[401px\] {
  height: 401px;
}
.h-\[466px\] {
  height: 466px;
}
.h-\[46px\] {
  height: 46px;
}
.h-\[50px\] {
  height: 50px;
}
.h-\[52px\] {
  height: 52px;
}
.h-\[578px\] {
  height: 578px;
}
.h-\[581px\] {
  height: 581px;
}
.h-\[59px\] {
  height: 59px;
}
.h-\[60px\] {
  height: 60px;
}
.h-\[60vh\] {
  height: 60vh;
}
.h-\[70px\] {
  height: 70px;
}
.h-\[73px\] {
  height: 73px;
}
.h-\[763px\] {
  height: 763px;
}
.h-\[78px\] {
  height: 78px;
}
.h-\[820px\] {
  height: 820px;
}
.h-\[95\%\] {
  height: 95%;
}
.h-\[var\(--radix-select-trigger-height\)\] {
  height: var(--radix-select-trigger-height);
}
.h-auto {
  height: auto;
}
.h-fit {
  height: -webkit-fit-content;
  height: fit-content;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.max-h-0 {
  max-height: 0px;
}
.max-h-32 {
  max-height: 8rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-96 {
  max-height: 24rem;
}
.max-h-\[--radix-select-content-available-height\] {
  max-height: var(--radix-select-content-available-height);
}
.max-h-\[180px\] {
  max-height: 180px;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[400px\] {
  max-height: 400px;
}
.max-h-\[450px\] {
  max-height: 450px;
}
.max-h-\[500px\] {
  max-height: 500px;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-screen {
  max-height: 100vh;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-\[106px\] {
  min-height: 106px;
}
.min-h-\[115px\] {
  min-height: 115px;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[171px\] {
  min-height: 171px;
}
.min-h-\[200px\] {
  min-height: 200px;
}
.min-h-\[20vh\] {
  min-height: 20vh;
}
.min-h-\[280px\] {
  min-height: 280px;
}
.min-h-\[317px\] {
  min-height: 317px;
}
.min-h-\[350px\] {
  min-height: 350px;
}
.min-h-\[400px\] {
  min-height: 400px;
}
.min-h-\[40vh\] {
  min-height: 40vh;
}
.min-h-\[47px\] {
  min-height: 47px;
}
.min-h-\[500px\] {
  min-height: 500px;
}
.min-h-\[56px\] {
  min-height: 56px;
}
.min-h-\[57px\] {
  min-height: 57px;
}
.min-h-\[600px\] {
  min-height: 600px;
}
.min-h-\[64px\] {
  min-height: 64px;
}
.min-h-\[800px\] {
  min-height: 800px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-screen {
  min-height: 100vh;
}
.w-0 {
  width: 0px;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.w-1\/5 {
  width: 20%;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-52 {
  width: 13rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-96 {
  width: 24rem;
}
.w-\[100px\] {
  width: 100px;
}
.w-\[102px\] {
  width: 102px;
}
.w-\[1055px\] {
  width: 1055px;
}
.w-\[1084px\] {
  width: 1084px;
}
.w-\[1130px\] {
  width: 1130px;
}
.w-\[1176px\] {
  width: 1176px;
}
.w-\[1180px\] {
  width: 1180px;
}
.w-\[120\%\] {
  width: 120%;
}
.w-\[120px\] {
  width: 120px;
}
.w-\[126px\] {
  width: 126px;
}
.w-\[1320px\] {
  width: 1320px;
}
.w-\[1360px\] {
  width: 1360px;
}
.w-\[139px\] {
  width: 139px;
}
.w-\[150px\] {
  width: 150px;
}
.w-\[156px\] {
  width: 156px;
}
.w-\[160px\] {
  width: 160px;
}
.w-\[174px\] {
  width: 174px;
}
.w-\[180px\] {
  width: 180px;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[204px\] {
  width: 204px;
}
.w-\[219px\] {
  width: 219px;
}
.w-\[22\%\] {
  width: 22%;
}
.w-\[241px\] {
  width: 241px;
}
.w-\[250px\] {
  width: 250px;
}
.w-\[297px\] {
  width: 297px;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[304px\] {
  width: 304px;
}
.w-\[30px\] {
  width: 30px;
}
.w-\[313px\] {
  width: 313px;
}
.w-\[314px\] {
  width: 314px;
}
.w-\[346px\] {
  width: 346px;
}
.w-\[372px\] {
  width: 372px;
}
.w-\[375px\] {
  width: 375px;
}
.w-\[426px\] {
  width: 426px;
}
.w-\[466px\] {
  width: 466px;
}
.w-\[46px\] {
  width: 46px;
}
.w-\[476px\] {
  width: 476px;
}
.w-\[50px\] {
  width: 50px;
}
.w-\[536px\] {
  width: 536px;
}
.w-\[53px\] {
  width: 53px;
}
.w-\[543px\] {
  width: 543px;
}
.w-\[59px\] {
  width: 59px;
}
.w-\[70\%\] {
  width: 70%;
}
.w-\[780px\] {
  width: 780px;
}
.w-\[80\%\] {
  width: 80%;
}
.w-\[82px\] {
  width: 82px;
}
.w-\[90\%\] {
  width: 90%;
}
.w-\[92\%\] {
  width: 92%;
}
.w-\[945px\] {
  width: 945px;
}
.w-\[949px\] {
  width: 949px;
}
.w-auto {
  width: auto;
}
.w-fit {
  width: -webkit-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-64 {
  min-width: 16rem;
}
.min-w-\[109px\] {
  min-width: 109px;
}
.min-w-\[125px\] {
  min-width: 125px;
}
.min-w-\[150px\] {
  min-width: 150px;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[240px\] {
  min-width: 240px;
}
.min-w-\[250px\] {
  min-width: 250px;
}
.min-w-\[329px\] {
  min-width: 329px;
}
.min-w-\[40px\] {
  min-width: 40px;
}
.min-w-\[4px\] {
  min-width: 4px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}
.min-w-full {
  min-width: 100%;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[1130px\] {
  max-width: 1130px;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[1370px\] {
  max-width: 1370px;
}
.max-w-\[1517px\] {
  max-width: 1517px;
}
.max-w-\[1600px\] {
  max-width: 1600px;
}
.max-w-\[327px\] {
  max-width: 327px;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-\[480px\] {
  max-width: 480px;
}
.max-w-\[500px\] {
  max-width: 500px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.max-w-\[533px\] {
  max-width: 533px;
}
.max-w-\[600px\] {
  max-width: 600px;
}
.max-w-\[626px\] {
  max-width: 626px;
}
.max-w-\[700px\] {
  max-width: 700px;
}
.max-w-\[720px\] {
  max-width: 720px;
}
.max-w-\[769px\] {
  max-width: 769px;
}
.max-w-\[800px\] {
  max-width: 800px;
}
.max-w-\[803px\] {
  max-width: 803px;
}
.max-w-\[862px\] {
  max-width: 862px;
}
.max-w-\[90\%\] {
  max-width: 90%;
}
.max-w-\[903px\] {
  max-width: 903px;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-screen-2xl {
  max-width: 1536px;
}
.max-w-screen-lg {
  max-width: 1024px;
}
.max-w-screen-md {
  max-width: 768px;
}
.max-w-screen-sm {
  max-width: 640px;
}
.max-w-screen-xl {
  max-width: 1280px;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1;
}
.flex-\[0_0_40\%\] {
  flex: 0 0 40%;
}
.flex-\[0_0_60\%\] {
  flex: 0 0 60%;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.grow {
  flex-grow: 1;
}
.caption-bottom {
  caption-side: bottom;
}
.border-collapse {
  border-collapse: collapse;
}
.origin-\[--radix-select-content-transform-origin\] {
  transform-origin: var(--radix-select-content-transform-origin);
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[-50\%\] {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\] {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-6 {
  --tw-rotate: -6deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-12 {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-6 {
  --tw-rotate: 6deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-\[-1\] {
  --tw-scale-x: -1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes bounce {

  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}
.animate-bounce {
  animation: bounce 1s infinite;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-col-resize {
  cursor: col-resize;
}
.cursor-default {
  cursor: default;
}
.cursor-grab {
  cursor: grab;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.touch-none {
  touch-action: none;
}
.select-none {
  -webkit-user-select: none;
          user-select: none;
}
.select-all {
  -webkit-user-select: all;
          user-select: all;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.list-inside {
  list-style-position: inside;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-\[2fr_2fr_1fr_1\.2fr\] {
  grid-template-columns: 2fr 2fr 1fr 1.2fr;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-12 {
  gap: 3rem;
}
.gap-14 {
  gap: 3.5rem;
}
.gap-16 {
  gap: 4rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-32 {
  gap: 8rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-7 {
  gap: 1.75rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[126px\] {
  gap: 126px;
}
.gap-\[182px\] {
  gap: 182px;
}
.gap-\[200px\] {
  gap: 200px;
}
.gap-\[250px\] {
  gap: 250px;
}
.gap-\[715px\] {
  gap: 715px;
}
.gap-\[75px\] {
  gap: 75px;
}
.gap-x-6 {
  column-gap: 1.5rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.scroll-smooth {
  scroll-behavior: smooth;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: var(--radius);
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[15px\] {
  border-radius: 15px;
}
.rounded-\[18px\] {
  border-radius: 18px;
}
.rounded-\[22px\] {
  border-radius: 22px;
}
.rounded-full {
  border-radius: var(--radius-full);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-md {
  border-radius: var(--radius-md);
}
.rounded-none {
  border-radius: var(--radius-none);
}
.rounded-sm {
  border-radius: var(--radius-sm);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.rounded-t-2xl {
  border-top-left-radius: var(--radius-2xl);
  border-top-right-radius: var(--radius-2xl);
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-4 {
  border-width: 4px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-b-4 {
  border-bottom-width: 4px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.border-none {
  border-style: none;
}
.border-\[\#1e1e22\] {
  --tw-border-opacity: 1;
  border-color: rgb(30 30 34 / 1);
  border-color: rgb(30 30 34 / var(--tw-border-opacity, 1));
}
.border-\[\#3B71FE\] {
  --tw-border-opacity: 1;
  border-color: rgb(59 113 254 / 1);
  border-color: rgb(59 113 254 / var(--tw-border-opacity, 1));
}
.border-\[\#4a57d4\] {
  --tw-border-opacity: 1;
  border-color: rgb(74 87 212 / 1);
  border-color: rgb(74 87 212 / var(--tw-border-opacity, 1));
}
.border-\[\#4e73df\] {
  --tw-border-opacity: 1;
  border-color: rgb(78 115 223 / 1);
  border-color: rgb(78 115 223 / var(--tw-border-opacity, 1));
}
.border-\[\#8d8d8d\] {
  --tw-border-opacity: 1;
  border-color: rgb(141 141 141 / 1);
  border-color: rgb(141 141 141 / var(--tw-border-opacity, 1));
}
.border-\[\#f39c12\] {
  --tw-border-opacity: 1;
  border-color: rgb(243 156 18 / 1);
  border-color: rgb(243 156 18 / var(--tw-border-opacity, 1));
}
.border-accent {
  border-color: var(--accent);
}
.border-background {
  border-color: var(--background);
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / 1);
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-300 {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / 1);
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / 1);
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-blue-600 {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / 1);
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.border-border {
  border-color: var(--border);
}
.border-cyan-400 {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / 1);
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}
.border-destructive {
  border-color: var(--destructive);
}
.border-foreground {
  border-color: var(--foreground);
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / 1);
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / 1);
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-500 {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / 1);
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / 1);
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / 1);
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / 1);
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-green-500\/20 {
  border-color: rgb(34 197 94 / 0.2);
}
.border-green-500\/50 {
  border-color: rgb(34 197 94 / 0.5);
}
.border-input {
  border-color: var(--input);
}
.border-lime-200 {
  --tw-border-opacity: 1;
  border-color: rgb(217 249 157 / 1);
  border-color: rgb(217 249 157 / var(--tw-border-opacity, 1));
}
.border-muted {
  border-color: var(--muted);
}
.border-orange-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / 1);
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}
.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / 1);
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.border-orange-500\/20 {
  border-color: rgb(249 115 22 / 0.2);
}
.border-pink-200 {
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / 1);
  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));
}
.border-primary {
  border-color: var(--primary);
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / 1);
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / 1);
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / 1);
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-success {
  border-color: var(--success);
}
.border-transparent {
  border-color: transparent;
}
.border-warning {
  border-color: var(--warning);
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / 1);
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / 1);
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-yellow-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 224 71 / 1);
  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.border-yellow-500 {
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / 1);
  border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.border-l-amber-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(245 158 11 / 1);
  border-left-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-l-destructive {
  border-left-color: var(--destructive);
}
.border-l-green-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(34 197 94 / 1);
  border-left-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-l-primary {
  border-left-color: var(--primary);
}
.border-t-success {
  border-top-color: var(--success);
}
.border-t-transparent {
  border-top-color: transparent;
}
.bg-\[\#050F47\] {
  --tw-bg-opacity: 1;
  background-color: rgb(5 15 71 / 1);
  background-color: rgb(5 15 71 / var(--tw-bg-opacity, 1));
}
.bg-\[\#142DB7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(20 45 183 / 1);
  background-color: rgb(20 45 183 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1e1e22\] {
  --tw-bg-opacity: 1;
  background-color: rgb(30 30 34 / 1);
  background-color: rgb(30 30 34 / var(--tw-bg-opacity, 1));
}
.bg-\[\#4a57d4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(74 87 212 / 1);
  background-color: rgb(74 87 212 / var(--tw-bg-opacity, 1));
}
.bg-\[\#5D52D9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(93 82 217 / 1);
  background-color: rgb(93 82 217 / var(--tw-bg-opacity, 1));
}
.bg-\[\#CAE6F5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(202 230 245 / 1);
  background-color: rgb(202 230 245 / var(--tw-bg-opacity, 1));
}
.bg-\[\#CCFAD7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(204 250 215 / 1);
  background-color: rgb(204 250 215 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D0E6FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(208 230 255 / 1);
  background-color: rgb(208 230 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D4F7FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(212 247 255 / 1);
  background-color: rgb(212 247 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FED9B4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(254 217 180 / 1);
  background-color: rgb(254 217 180 / var(--tw-bg-opacity, 1));
}
.bg-\[\#cbcbcb\] {
  --tw-bg-opacity: 1;
  background-color: rgb(203 203 203 / 1);
  background-color: rgb(203 203 203 / var(--tw-bg-opacity, 1));
}
.bg-\[\#faf9ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 249 255 / 1);
  background-color: rgb(250 249 255 / var(--tw-bg-opacity, 1));
}
.bg-\[rgba\(238\2c 237\2c 255\2c 1\)\] {
  background-color: rgba(238,237,255,1);
}
.bg-\[rgba\(27\2c 37\2c 94\2c 1\)\] {
  background-color: rgba(27,37,94,1);
}
.bg-\[rgba\(65\2c 57\2c 106\2c 1\)\] {
  background-color: rgba(65,57,106,1);
}
.bg-\[rgba\(69\2c 69\2c 69\2c 0\.2\)\] {
  background-color: rgba(69,69,69,0.2);
}
.bg-\[rgba\(93\2c 82\2c 217\2c 0\.25\)\] {
  background-color: rgba(93,82,217,0.25);
}
.bg-\[rgba\(93\2c 82\2c 217\2c 1\)\] {
  background-color: rgba(93,82,217,1);
}
.bg-accent {
  background-color: var(--accent);
}
.bg-background {
  background-color: var(--background);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / 1);
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / 1);
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / 1);
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-border {
  background-color: var(--border);
}
.bg-card {
  background-color: var(--card);
}
.bg-destructive {
  background-color: var(--destructive);
}
.bg-error {
  background-color: var(--error);
}
.bg-foreground {
  background-color: var(--foreground);
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / 1);
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / 1);
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / 1);
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / 1);
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / 1);
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / 1);
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / 1);
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}
.bg-green-500\/5 {
  background-color: rgb(34 197 94 / 0.05);
}
.bg-info {
  background-color: var(--info);
}
.bg-lime-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(247 254 231 / 1);
  background-color: rgb(247 254 231 / var(--tw-bg-opacity, 1));
}
.bg-muted {
  background-color: var(--muted);
}
.bg-muted-foreground {
  background-color: var(--muted-foreground);
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / 1);
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / 1);
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / 1);
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / 1);
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}
.bg-pink-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / 1);
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-popover {
  background-color: var(--popover);
}
.bg-primary {
  background-color: var(--primary);
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / 1);
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / 1);
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / 1);
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / 1);
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-secondary {
  background-color: var(--secondary);
}
.bg-success {
  background-color: var(--success);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-500\/10 {
  background-color: rgb(139 92 246 / 0.1);
}
.bg-warning {
  background-color: var(--warning);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / 1);
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / 1);
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / 1);
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / 1);
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500\/10 {
  background-color: rgb(234 179 8 / 0.1);
}
.bg-gradient-to-bl {
  background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-\[\#0f0c29\] {
  --tw-gradient-from: #0f0c29 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 12 41 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#5D52D9\] {
  --tw-gradient-from: #5D52D9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(93 82 217 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50 {
  --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-50 {
  --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500 {
  --tw-gradient-from: #22c55e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-muted {
  --tw-gradient-from: var(--muted) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary {
  --tw-gradient-from: var(--primary) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-900 {
  --tw-gradient-from: #581c87 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-600 {
  --tw-gradient-from: #dc2626 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-400 {
  --tw-gradient-from: #facc15 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[\#302b63\] {
  --tw-gradient-to: rgb(48 43 99 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #302b63 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-background {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--background) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#0A65CC\] {
  --tw-gradient-to: #0A65CC var(--tw-gradient-to-position);
}
.to-\[\#24243e\] {
  --tw-gradient-to: #24243e var(--tw-gradient-to-position);
}
.to-amber-600 {
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}
.to-background {
  --tw-gradient-to: var(--background) var(--tw-gradient-to-position);
}
.to-green-600 {
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}
.to-indigo-50 {
  --tw-gradient-to: #eef2ff var(--tw-gradient-to-position);
}
.to-orange-500 {
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}
.to-primary {
  --tw-gradient-to: var(--primary) var(--tw-gradient-to-position);
}
.to-purple-800 {
  --tw-gradient-to: #6b21a8 var(--tw-gradient-to-position);
}
.to-red-700 {
  --tw-gradient-to: #b91c1c var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-white {
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}
.bg-cover {
  background-size: cover;
}
.bg-center {
  background-position: center;
}
.bg-no-repeat {
  background-repeat: no-repeat;
}
.fill-current {
  fill: currentColor;
}
.fill-muted {
  fill: var(--muted);
}
.fill-primary {
  fill: var(--primary);
}
.fill-warning {
  fill: var(--warning);
}
.object-contain {
  object-fit: contain;
}
.object-cover {
  object-fit: cover;
}
.object-center {
  object-position: center;
}
.object-top {
  object-position: top;
}
.p-0 {
  padding: 0px;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-10 {
  padding: 2.5rem;
}
.p-11 {
  padding: 2.75rem;
}
.p-16 {
  padding: 4rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-7 {
  padding: 1.75rem;
}
.p-8 {
  padding: 2rem;
}
.p-9 {
  padding: 2.25rem;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-16 {
  padding-left: 4rem;
  padding-right: 4rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[59px\] {
  padding-left: 59px;
  padding-right: 59px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-\[90px\] {
  padding-bottom: 90px;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-16 {
  padding-left: 4rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-5 {
  padding-right: 1.25rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-2\.5 {
  padding-top: 0.625rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-9 {
  padding-top: 2.25rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-middle {
  vertical-align: middle;
}
.font-\[\'Poppins\'\2c sans-serif\] {
  font-family: 'Poppins',sans-serif;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}
.text-2xl {
  font-size: var(--text-2xl);
}
.text-3xl {
  font-size: var(--text-3xl);
}
.text-4xl {
  font-size: var(--text-4xl);
}
.text-5xl {
  font-size: var(--text-5xl);
}
.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[22px\] {
  font-size: 22px;
}
.text-base {
  font-size: var(--text-base);
}
.text-lg {
  font-size: var(--text-lg);
}
.text-sm {
  font-size: var(--text-sm);
}
.text-xl {
  font-size: var(--text-xl);
}
.text-xs {
  font-size: var(--text-xs);
}
.font-bold {
  font-weight: var(--font-bold);
}
.font-medium {
  font-weight: var(--font-medium);
}
.font-normal {
  font-weight: var(--font-normal);
}
.font-semibold {
  font-weight: var(--font-semibold);
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-feature-settings: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-none {
  line-height: 1;
}
.leading-normal {
  line-height: var(--leading-normal);
}
.leading-relaxed {
  line-height: var(--leading-relaxed);
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: var(--leading-tight);
}
.tracking-\[0\.24px\] {
  letter-spacing: 0.24px;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-\[\#002147\] {
  --tw-text-opacity: 1;
  color: rgb(0 33 71 / 1);
  color: rgb(0 33 71 / var(--tw-text-opacity, 1));
}
.text-\[\#009BD9\] {
  --tw-text-opacity: 1;
  color: rgb(0 155 217 / 1);
  color: rgb(0 155 217 / var(--tw-text-opacity, 1));
}
.text-\[\#155724\] {
  --tw-text-opacity: 1;
  color: rgb(21 87 36 / 1);
  color: rgb(21 87 36 / var(--tw-text-opacity, 1));
}
.text-\[\#FF8C00\] {
  --tw-text-opacity: 1;
  color: rgb(255 140 0 / 1);
  color: rgb(255 140 0 / var(--tw-text-opacity, 1));
}
.text-\[\#cfcfcf\] {
  --tw-text-opacity: 1;
  color: rgb(207 207 207 / 1);
  color: rgb(207 207 207 / var(--tw-text-opacity, 1));
}
.text-accent-foreground {
  color: var(--accent-foreground);
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / 1);
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / 1);
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-background {
  color: var(--background);
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / 1);
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / 1);
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / 1);
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / 1);
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / 1);
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-blue-900 {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / 1);
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.text-border {
  color: var(--border);
}
.text-card-foreground {
  color: var(--card-foreground);
}
.text-current {
  color: currentColor;
}
.text-destructive {
  color: var(--destructive);
}
.text-destructive-foreground {
  color: var(--destructive-foreground);
}
.text-error {
  color: var(--error);
}
.text-foreground {
  color: var(--foreground);
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / 1);
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / 1);
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / 1);
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / 1);
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / 1);
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / 1);
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / 1);
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / 1);
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / 1);
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / 1);
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / 1);
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-info {
  color: var(--info);
}
.text-muted-foreground {
  color: var(--muted-foreground);
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / 1);
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / 1);
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / 1);
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-popover-foreground {
  color: var(--popover-foreground);
}
.text-primary {
  color: var(--primary);
}
.text-primary-foreground {
  color: var(--primary-foreground);
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / 1);
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / 1);
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / 1);
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground {
  color: var(--secondary-foreground);
}
.text-success {
  color: var(--success);
}
.text-success-foreground {
  color: var(--success-foreground);
}
.text-violet-500 {
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / 1);
  color: rgb(139 92 246 / var(--tw-text-opacity, 1));
}
.text-warning {
  color: var(--warning);
}
.text-warning-foreground {
  color: var(--warning-foreground);
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / 1);
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-yellow-300 {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / 1);
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / 1);
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / 1);
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / 1);
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / 1);
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.underline {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.opacity-0 {
  opacity: 0;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-100 {
  opacity: 1;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-\[0\.02\] {
  opacity: 0.02;
}
.mix-blend-lighten {
  mix-blend-mode: lighten;
}
.shadow {
  --tw-shadow: var(--shadow-md);
  --tw-shadow-colored: var(--shadow-md);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: var(--shadow-2xl);
  --tw-shadow-colored: var(--shadow-2xl);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: var(--shadow-lg);
  --tw-shadow-colored: var(--shadow-lg);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: var(--shadow-md);
  --tw-shadow-colored: var(--shadow-md);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: var(--shadow-sm);
  --tw-shadow-colored: var(--shadow-sm);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: var(--shadow-xl);
  --tw-shadow-colored: var(--shadow-xl);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-0 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-primary {
  --tw-ring-color: var(--primary);
}
.ring-offset-4 {
  --tw-ring-offset-width: 4px;
}
.ring-offset-background {
  --tw-ring-offset-color: var(--background);
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-2xl {
  --tw-blur: blur(40px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-lg {
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter {
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: var(--transition-base);
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: var(--transition-base);
}
.transition-colors {
  transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: var(--transition-base);
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: var(--transition-base);
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: var(--transition-base);
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: var(--transition-base);
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@keyframes enter {

  from {
    opacity: 1;
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit {

  to {
    opacity: 1;
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.animate-in {
  animation-name: enter;
  animation-duration: var(--transition-base);
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in {
  --tw-enter-opacity: 0;
}
.slide-in-from-top-2 {
  --tw-enter-translate-y: -0.5rem;
}
.duration-200 {
  animation-duration: 200ms;
}
.duration-300 {
  animation-duration: 300ms;
}
.duration-500 {
  animation-duration: 500ms;
}
.ease-in {
  animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.running {
  animation-play-state: running;
}
.paused {
  animation-play-state: paused;
}

/* Theme CSS variables are injected at runtime from config/theme.js */
/* See: config/theme-injector.js */

/* ReactQuill overrides - outside @layer for higher specificity */
/* Override ReactQuill's blue (#06c) colors with theme colors */
/* Target all instances of #06c in ReactQuill */
.ql-snow.ql-toolbar button:focus,
.ql-snow .ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow .ql-toolbar button.ql-active,
.ql-snow.ql-toolbar .ql-picker-label:hover,
.ql-snow .ql-toolbar .ql-picker-label:hover,
.ql-snow.ql-toolbar .ql-picker-label.ql-active,
.ql-snow .ql-toolbar .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker-item:hover,
.ql-snow .ql-toolbar .ql-picker-item:hover,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: var(--primary) !important;
}

.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button:focus .ql-fill,
.ql-snow .ql-toolbar button:focus .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill {
  fill: var(--primary) !important;
}

.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:focus .ql-stroke,
.ql-snow .ql-toolbar button:focus .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow.ql-toolbar button:hover .ql-stroke-miter,
.ql-snow .ql-toolbar button:hover .ql-stroke-miter,
.ql-snow.ql-toolbar button:focus .ql-stroke-miter,
.ql-snow .ql-toolbar button:focus .ql-stroke-miter,
.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: var(--primary) !important;
}

.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  stroke: var(--primary) !important;
  fill: var(--primary) !important;
}

.file\:border-0::-webkit-file-upload-button {
  border-width: 0px;
}

.file\:border-0::file-selector-button {
  border-width: 0px;
}

.file\:bg-transparent::-webkit-file-upload-button {
  background-color: transparent;
}

.file\:bg-transparent::file-selector-button {
  background-color: transparent;
}

.file\:text-sm::-webkit-file-upload-button {
  font-size: var(--text-sm);
}

.file\:text-sm::file-selector-button {
  font-size: var(--text-sm);
}

.file\:font-medium::-webkit-file-upload-button {
  font-weight: var(--font-medium);
}

.file\:font-medium::file-selector-button {
  font-weight: var(--font-medium);
}

.file\:text-foreground::-webkit-file-upload-button {
  color: var(--foreground);
}

.file\:text-foreground::file-selector-button {
  color: var(--foreground);
}

.placeholder\:text-muted-foreground::placeholder {
  color: var(--muted-foreground);
}

.before\:absolute::before {
  content: var(--tw-content);
  position: absolute;
}

.before\:inset-0::before {
  content: var(--tw-content);
  inset: 0px;
}

.before\:z-0::before {
  content: var(--tw-content);
  z-index: 0;
}

.before\:bg-black\/40::before {
  content: var(--tw-content);
  background-color: rgb(0 0 0 / 0.4);
}

.first\:ml-0:first-child {
  margin-left: 0px;
}

.first\:mt-0:first-child {
  margin-top: 0px;
}

.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}

.hover\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-2:hover {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-\[1\.02\]:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:bg-\[\#03157d\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(3 21 125 / 1);
  background-color: rgb(3 21 125 / var(--tw-bg-opacity, 1));
}

.hover\:bg-accent:hover {
  background-color: var(--accent);
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / 1);
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-muted:hover {
  background-color: var(--muted);
}

.hover\:bg-orange-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / 1);
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary:hover {
  background-color: var(--primary);
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / 1);
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-transparent:hover {
  background-color: transparent;
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:text-accent-foreground:hover {
  color: var(--accent-foreground);
}

.hover\:text-background:hover {
  color: var(--background);
}

.hover\:text-destructive:hover {
  color: var(--destructive);
}

.hover\:text-foreground:hover {
  color: var(--foreground);
}

.hover\:text-primary:hover {
  color: var(--primary);
}

.hover\:text-primary-foreground:hover {
  color: var(--primary-foreground);
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / 1);
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}

.hover\:no-underline:hover {
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-80:hover {
  opacity: 0.8;
}

.hover\:shadow:hover {
  --tw-shadow: var(--shadow-md);
  --tw-shadow-colored: var(--shadow-md);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-2xl:hover {
  --tw-shadow: var(--shadow-2xl);
  --tw-shadow-colored: var(--shadow-2xl);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover {
  --tw-shadow: var(--shadow-lg);
  --tw-shadow-colored: var(--shadow-lg);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-md:hover {
  --tw-shadow: var(--shadow-md);
  --tw-shadow-colored: var(--shadow-md);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:grayscale-0:hover {
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.focus\:bg-accent:focus {
  background-color: var(--accent);
}

.focus\:text-accent-foreground:focus {
  color: var(--accent-foreground);
}

.focus\:text-destructive:focus {
  color: var(--destructive);
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-ring:focus {
  --tw-ring-color: var(--ring);
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-1:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: var(--ring);
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:ring-offset-background:focus-visible {
  --tw-ring-offset-color: var(--background);
}

.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.group\/company:focus-within .group-focus-within\/company\:text-primary {
  color: var(--primary);
}

.group\/email:focus-within .group-focus-within\/email\:text-primary {
  color: var(--primary);
}

.group\/industry:focus-within .group-focus-within\/industry\:text-primary {
  color: var(--primary);
}

.group\/name:focus-within .group-focus-within\/name\:text-primary {
  color: var(--primary);
}

.group\/password:focus-within .group-focus-within\/password\:text-primary {
  color: var(--primary);
}

.group\/phone:focus-within .group-focus-within\/phone\:text-primary {
  color: var(--primary);
}

.group\/skills:focus-within .group-focus-within\/skills\:text-primary {
  color: var(--primary);
}

.group:focus-within .group-focus-within\:text-primary {
  color: var(--primary);
}

.group:hover .group-hover\:block {
  display: block;
}

.group:hover .group-hover\:rotate-3 {
  --tw-rotate: 3deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group.toaster .group-\[\.toaster\]\:border-border {
  border-color: var(--border);
}

.group.toast .group-\[\.toast\]\:bg-muted {
  background-color: var(--muted);
}

.group.toast .group-\[\.toast\]\:bg-primary {
  background-color: var(--primary);
}

.group.toaster .group-\[\.toaster\]\:bg-background {
  background-color: var(--background);
}

.group.toast .group-\[\.toast\]\:text-muted-foreground {
  color: var(--muted-foreground);
}

.group.toast .group-\[\.toast\]\:text-primary-foreground {
  color: var(--primary-foreground);
}

.group.toaster .group-\[\.toaster\]\:text-foreground {
  color: var(--foreground);
}

.group.toaster .group-\[\.toaster\]\:shadow-lg {
  --tw-shadow: var(--shadow-lg);
  --tw-shadow-colored: var(--shadow-lg);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}

.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}

.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
  pointer-events: none;
}

.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}

.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=right\]\:translate-x-1[data-side="right"] {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=checked\]\:translate-x-4[data-state="checked"] {
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes accordion-up {

  from {
    height: var(--radix-accordion-content-height);
  }

  to {
    height: 0;
  }
}

.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
  animation: accordion-up 0.2s ease-out;
}

@keyframes accordion-down {

  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height);
  }
}

.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
  animation: accordion-down 0.2s ease-out;
}

.data-\[selected\=true\]\:bg-accent[data-selected="true"] {
  background-color: var(--accent);
}

.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
  background-color: var(--primary);
}

.data-\[state\=open\]\:bg-accent[data-state="open"] {
  background-color: var(--accent);
}

.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
  background-color: var(--muted);
}

.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
  background-color: var(--input);
}

.data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
  color: var(--muted-foreground);
}

.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
  color: var(--accent-foreground);
}

.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
  color: var(--primary-foreground);
}

.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
  color: var(--muted-foreground);
}

.data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
  opacity: 0.5;
}

.data-\[disabled\]\:opacity-50[data-disabled] {
  opacity: 0.5;
}

.data-\[state\=open\]\:animate-in[data-state="open"] {
  animation-name: enter;
  animation-duration: var(--transition-base);
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=closed\]\:animate-out[data-state="closed"] {
  animation-name: exit;
  animation-duration: var(--transition-base);
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
  --tw-exit-opacity: 0;
}

.data-\[state\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}

.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}

.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
  --tw-enter-scale: .95;
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: -0.5rem;
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: 0.5rem;
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: -0.5rem;
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
  --tw-enter-translate-y: 0.5rem;
}

.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
  --tw-exit-translate-x: -50%;
}

.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
  --tw-exit-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
  --tw-enter-translate-x: -50%;
}

.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
  --tw-enter-translate-y: -48%;
}

.dark\:border-destructive:is(.dark *) {
  border-color: var(--destructive);
}

.dark\:border-green-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / 1);
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.dark\:bg-green-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / 1);
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}

.dark\:text-green-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / 1);
  color: rgb(187 247 208 / var(--tw-text-opacity, 1));
}

.dark\:text-green-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / 1);
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

@media (max-width: 991px) {

  .max-\[991px\]\:h-\[66px\] {
    height: 66px;
  }

  .max-\[991px\]\:w-\[70px\] {
    width: 70px;
  }
}

@media (max-width: 640px) {

  .max-\[640px\]\:h-\[56px\] {
    height: 56px;
  }

  .max-\[640px\]\:w-\[60px\] {
    width: 60px;
  }
}

@media (min-width: 640px) {

  .sm\:mt-0 {
    margin-top: 0px;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:max-w-\[400px\] {
    max-width: 400px;
  }

  .sm\:max-w-\[425px\] {
    max-width: 425px;
  }

  .sm\:max-w-\[500px\] {
    max-width: 500px;
  }

  .sm\:max-w-\[600px\] {
    max-width: 600px;
  }

  .sm\:max-w-md {
    max-width: 28rem;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-end {
    justify-content: flex-end;
  }

  .sm\:justify-center {
    justify-content: center;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\:rounded-lg {
    border-radius: var(--radius-lg);
  }

  .sm\:p-4 {
    padding: 1rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:text-left {
    text-align: left;
  }
}

@media (min-width: 768px) {

  .md\:relative {
    position: relative;
  }

  .md\:left-8 {
    left: 2rem;
  }

  .md\:top-8 {
    top: 2rem;
  }

  .md\:block {
    display: block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:h-10 {
    height: 2.5rem;
  }

  .md\:min-h-\[500px\] {
    min-height: 500px;
  }

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:w-96 {
    width: 24rem;
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:min-w-\[300px\] {
    min-width: 300px;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:flex-row-reverse {
    flex-direction: row-reverse;
  }

  .md\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-start {
    justify-content: flex-start;
  }

  .md\:gap-10 {
    gap: 2.5rem;
  }

  .md\:gap-12 {
    gap: 3rem;
  }

  .md\:border-t-0 {
    border-top-width: 0px;
  }

  .md\:p-0 {
    padding: 0px;
  }

  .md\:p-10 {
    padding: 2.5rem;
  }

  .md\:p-8 {
    padding: 2rem;
  }

  .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .md\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .md\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .md\:text-2xl {
    font-size: var(--text-2xl);
  }

  .md\:text-3xl {
    font-size: var(--text-3xl);
  }

  .md\:text-4xl {
    font-size: var(--text-4xl);
  }

  .md\:text-5xl {
    font-size: var(--text-5xl);
  }

  .md\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-base {
    font-size: var(--text-base);
  }

  .md\:text-sm {
    font-size: var(--text-sm);
  }

  .md\:text-xl {
    font-size: var(--text-xl);
  }
}

@media (min-width: 1024px) {

  .lg\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

  .lg\:mr-0 {
    margin-right: 0px;
  }

  .lg\:block {
    display: block;
  }

  .lg\:w-80 {
    width: 20rem;
  }

  .lg\:w-auto {
    width: auto;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:justify-start {
    justify-content: flex-start;
  }

  .lg\:gap-12 {
    gap: 3rem;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:text-left {
    text-align: left;
  }

  .lg\:text-5xl {
    font-size: var(--text-5xl);
  }

  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}

@media (min-width: 1280px) {

  .xl\:sticky {
    position: -webkit-sticky;
    position: sticky;
  }

  .xl\:top-4 {
    top: 1rem;
  }

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-\[1fr_380px\] {
    grid-template-columns: 1fr 380px;
  }

  .xl\:self-start {
    align-self: flex-start;
  }
}

@media print {

  .print\:shadow-none {
    --tw-shadow: var(--shadow-none);
    --tw-shadow-colored: var(--shadow-none);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
  padding-right: 0px;
}

.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox] {
  --tw-translate-y: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&\>span\]\:line-clamp-1>span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
  --tw-translate-y: -3px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&\>svg\]\:absolute>svg {
  position: absolute;
}

.\[\&\>svg\]\:left-4>svg {
  left: 1rem;
}

.\[\&\>svg\]\:top-4>svg {
  top: 1rem;
}

.\[\&\>svg\]\:text-destructive>svg {
  color: var(--destructive);
}

.\[\&\>svg\]\:text-foreground>svg {
  color: var(--foreground);
}

.\[\&\>svg\~\*\]\:pl-7>svg~* {
  padding-left: 1.75rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}

.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
  font-size: var(--text-xs);
}

.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
  font-weight: var(--font-medium);
}

.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
  color: var(--muted-foreground);
}

.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
  padding-top: 0px;
}

.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
  height: 1.25rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
  width: 1.25rem;
}

.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
  height: 3rem;
}

.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
  height: 1.25rem;
}

.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
  width: 1.25rem;
}

.\[\&_p\]\:leading-relaxed p {
  line-height: var(--leading-relaxed);
}

.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}

.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}

.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}

.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}

.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}

body {
  margin: 0;
  line-height: normal;
}
:root {
  /* fonts */
  --font-poppins: Poppins;
  --font-mulish: Mulish;
  --font-open-sans: "Open Sans";
  --font-lato: Lato;
  --font-helvetica-neue: "Helvetica Neue";
  --h2: "Plus Jakarta Sans";
  --font-inria-sans: "Inria Sans";
  --font-roboto-slab: "Roboto Slab";

  /* font sizes */
  --font-size-3xl: 22px;
  --font-size-lg: 18px;
  --font-size-base-2: 16.2px;
  --font-size-sm-5: 13.5px;
  --font-size-2xs-8: 10.8px;
  --font-size-xl-3: 20.3px;
  --font-size-base: 16px;
  --font-size-23xl: 42px;
  --font-size-6xl: 25px;
  --font-size-15xl: 34px;
  --font-size-xl: 20px;
  --font-size-29xl: 48px;
  --font-size-10xl: 29px;
  --font-size-19xl: 38px;
  --font-size-xs: 12px;
  --font-size-5xl: 24px;
  --font-size-lgi: 19px;
  --font-size-17xl: 36px;
  --h2-size: 52px;
  --font-size-31xl: 50px;
  --font-size-11xl: 30px;
  --font-size-21xl: 40px;
  --font-size-43xl: 62px;
  --font-size-18xl: 37px;
  --font-size-16xl: 35px;
  --font-size-2xl: 21px;
  --font-size-9xl: 28px;

  /* Colors */
  --background: #fffdfb;
  --color-gray-100: #8d8d8d;
  --color-gray-200: #878688;
  --color-gray-300: #858282;
  --color-gray-400: #202021;
  --color-gray-500: #152329;
  --dark3: #181823;
  --text: #01100a;
  --color-gray-600: #080611;
  --color-gray-700: rgba(8, 6, 17, 0.8);
  --color-gray-800: rgba(255, 255, 255, 0.16);
  --color-darkslategray-100: #424243;
  --sub-text: #3d3d3d;
  --color-darkslategray-200: rgba(66, 66, 67, 0.2);
  --color-darkslategray-300: rgba(66, 66, 67, 0.4);
  --color-white: #fff;
  --color-whitesmoke: #f1f1f1;
  --system-background-dark-base-primary: #000;
  --color-darkslateblue: #1b255e;
  --color-dimgray-100: #737373;
  --color-dimgray-200: #524a5f;
  --color-dimgray-300: rgba(105, 105, 105, 0.4);
  --color-mediumblue: #2042fe;
  --color-silver-100: #b8b8b8;
  --color-silver-200: #b8b5b5;
  --color-ghostwhite-100: #fbfaff;
  --color-ghostwhite-200: rgba(251, 250, 255, 0.4);
  --color-lightgray-100: #cfcfcf;
  --color-lightgray-200: #ccc;
  --color-lightgray-300: rgba(203, 204, 205, 0.2);
  --color-royalblue: #667bf2;
  --color-gainsboro-100: #e6e6e6;
  --color-gainsboro-200: #e0e0e0;
  --color-lavender-100: #eeedff;
  --color-lavender-200: #d6d4e6;
  --color-lavender-300: #d4d4e6;
  --color-mediumslateblue-100: #8578ff;
  --color-mediumslateblue-200: #5d52d9;
  --color-midnightblue: #070248;
  --color-darkgray: rgba(153, 153, 153, 0.2);

  /* Gaps */
  --gap-3xs: 10px;
  --gap-31xl: 50px;
  --gap-7xs-9: 5.9px;
  --gap-6xs-8: 6.8px;
  --gap-15xl-4: 34.4px;
  --gap-smi-8: 12.8px;
  --gap-2xs-8: 10.8px;
  --gap-11xs: 2px;
  --gap-6xl: 25px;
  --gap-10xl: 29px;
  --gap-2xl: 21px;
  --gap-xl: 20px;
  --gap-531xl: 715px;
  --gap-2xs: 11px;
  --gap-lgi: 19px;
  --gap-148xl: 167px;
  --gap-64xl: 83px;
  --gap-23xl: 42px;
  --gap-41xl: 60px;
  --gap-11xl: 30px;
  --gap-13xl: 32px;
  --gap-21xl: 40px;
  --gap-38xl: 57px;
  --gap-9xl: 28px;
  --gap-30xl: 49px;
  --gap-5xl: 24px;
  --gap-16xl: 35px;
  --gap-mid: 17px;
  --gap-3xl: 22px;
  --gap-sm: 14px;
  --gap-base: 16px;
  --gap-34xl: 53px;
  --gap-7xl: 26px;

  /* Paddings */
  --padding-12xl: 31px;
  --padding-119xl: 138px;
  --padding-204xl: 223px;
  --padding-xl: 20px;
  --padding-6xl: 25px;
  --padding-lgi: 19px;
  --padding-3xl: 22px;
  --padding-3xs: 10px;
  --padding-5xs: 8px;
  --padding-48xl: 67px;
  --padding-47xl: 66px;
  --padding-60xl: 79px;
  --padding-97xl: 116px;
  --padding-39xl: 58px;
  --padding-21xl: 40px;
  --padding-10xl: 29px;
  --padding-13xl: 32px;
  --padding-8xl: 27px;
  --padding-mini: 15px;
  --padding-smi: 13px;
  --padding-xs: 12px;
  --padding-mid: 17px;
  --padding-2xs: 11px;
  --padding-12xs: 1px;
  --padding-10xs: 3px;
  --padding-16xl: 35px;
  --padding-6xs: 7px;
  --padding-4xs: 9px;
  --padding-20xl: 39px;

  /* Border radiuses */
  --br-lg: 18px;
  --br-5xs: 8px;
  --br-14xl-5: 33.5px;
  --br-55xl-3: 74.3px;
  --br-22xl-9: 41.9px;
  --br-37xl-6: 56.6px;
  --br-31xl-3: 50.3px;
  --br-11xs-1: 1.1px;
  --br-3xl: 22px;
  --br-2xl-6: 21.6px;

  /* Effects */
  --dynamic-shadow-effect: 0px 8px 16px rgba(0, 0, 0, 0.25);
}
body {
  margin: 0;
  line-height: normal;
}


/* DesktopViolationWarning.css
   Styles for the desktop app violation warning component.
   Uses similar styling to existing warning banners for consistency.
*/

.desktop-violation-warning {
  position: fixed;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10001;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 320px;
  max-width: 500px;
  padding: 16px 20px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  color: white;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
  animation: desktop-violation-slide-in 0.3s ease-out, desktop-violation-shake 0.5s ease-out;
}

/* Severity-based backgrounds */
.desktop-violation-warning.critical {
  background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.desktop-violation-warning.high {
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.desktop-violation-warning.medium {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.desktop-violation-warning.low {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border: 2px solid rgba(255, 255, 255, 0.3);
}

/* Icon */
.desktop-violation-icon {
  font-size: 24px;
  flex-shrink: 0;
}

/* Content area */
.desktop-violation-content {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.desktop-violation-message {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.desktop-violation-detail {
  font-size: 12px;
  opacity: 0.9;
  font-weight: 500;
}

/* Dismiss button */
.desktop-violation-dismiss {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  font-size: 18px;
  font-weight: bold;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s;
}

.desktop-violation-dismiss:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* Animations */
@keyframes desktop-violation-slide-in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

@keyframes desktop-violation-shake {
  0%, 100% { transform: translateX(-50%) rotate(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-50%) rotate(-1deg); }
  20%, 40%, 60%, 80% { transform: translateX(-50%) rotate(1deg); }
}

/* Mobile responsive */
@media (max-width: 600px) {
  .desktop-violation-warning {
    left: 12px;
    right: 12px;
    transform: none;
    min-width: auto;
    max-width: none;
    top: 60px;
  }

  @keyframes desktop-violation-slide-in {
    from {
      opacity: 0;
      transform: translateY(-20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes desktop-violation-shake {
    0%, 100% { transform: rotate(0); }
    10%, 30%, 50%, 70%, 90% { transform: rotate(-1deg); }
    20%, 40%, 60%, 80% { transform: rotate(1deg); }
  }
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .desktop-violation-warning {
    animation: none;
  }
}
.r-container {
    flex-direction: column;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: #000;
    
    width: 80%;
    margin-left: 150px;
  }
.head-Name{
  margin-left: -70px;
}
  .head-rs{
    margin-left: -10px;
  }
  .head-ms{
    margin-left: -30px;
  }
  .head-headline{
    margin-left: -90px;
  }

  .head-exp{
    margin-left: -90px;
  }

  .head-sr{
    margin-left: -90px;
  }

  .head-mss{
    margin-left: -70px;
  }

  .head-ra{
    margin-left: -20px;
  }
  .r-candidate-skills{
    color: #000;
    display: flex;
    flex-wrap: wrap;
    margin-left: 200px;
    margin-top: -40px;
    max-height: 20px;
    width: 200px;
    font-size: 10px;
  }

  .r-candidate-namee{
    margin-left: 70px;
    margin-top: -30px;
    
  }
  .r-candidate-rs{
    margin-left: -30px;
  }
  .r-candidate-jt{
    margin-left: -80px; 
  }
  .r-candidate-name{
    margin-left: 1px;
    color: #000;
  }
  .r-candidate-missing{
    margin-left: -40px;
  }
  .r-candidate-sr{
    margin-left: -70px;
  }
  .r-candidate-expp{
    margin-left: -90px;
  }
  .r-candidate-details{
    margin-left: 100px;
  }
  
  .r-list-container {
    background-color: transparent;
    border-radius: 8px;
    padding: 16px;
    
  }
  
  .r-header {
    display: flex;
    justify-content: space-between;
    background-color: #002147;
    color: #fff;
    padding: 10px 10px;
    border-radius: 8px;
    font-weight: bold;
    margin-bottom: 16px;
    
  }
  
  .r-candidate-card {
    background-color: #fff;
    border-radius: 8px;
    padding: 1px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    max-height: 150px; /* Adjust as needed */
    border-bottom: 1px solid #ccc;
    flex-wrap: wrap;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }
  .r-title{
    margin-left: 20px;
    font-size: 20px;
    margin-top: 50px;
  }
  .r-candidate-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  }

  /* Optionally, adjust header cells if needed to align with your content */
  .r-header > div {
    max-height: 80px;
    overflow-y: auto;
  }

  .r-candidate-info {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  
  .r-candidate-checkbox {
    cursor: pointer;
    transform: scale(1.2); /* Make the checkbox slightly larger for better visibility */
    
  }
  
  
  .r-candidate-info {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 2 1;
  }
  
  .r-candidate-info img {
    border-radius: 50%;
    width: 50px;
    height: 50px;
  }
  
  .r-candidate-details {
    display: flex;
    gap: 12px;
    align-items: center;
    flex: 4 1;
    margin: 5px 0;
  }
  
  .r-candidate-details div {
    text-align: center;
    flex: 1 1;
  }
  
  .r-recommend-status {
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: bold;
    text-align: center;
    max-height: 80px;
    overflow-y: auto;
    display: inline-block;
  }

  /* Missing Skills area */
  .r-candidate-missing {
    max-height: 80px;
    overflow-y: auto;
  }
  
  .r-recommend-most {
    background-color: #1f77b4;
    color: #fff;
  }
  
  .r-recommend-not {
    background-color: #d9534f; /* bold red */
    color: #fff;
  }

  .r-recommend-mid {
    background-color: #f0ad4e; /* warm orange */
    color: #fff;
  }
  
  .r-action-button {
    background-color: #28a745;
    color: #fff;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s;
    flex: 1 1;
  }
  
  .r-action-button:hover {
    background-color: #218838;
  }
  
  .r-top-rank {
    border-left: 4px solid #ffcccb;
  }
  
  .r-mid-rank {
    border-left: 4px solid #90ee90;
  }
  
  .r-low-rank {
    border-left: 4px solid #ffeb99;
  }

  .r-dlt-btn{
    margin-left: 1020px;
    width: 100px;
    font-size: 20px;
    background: transparent;
    color: black;
    border: 2px solid red;
  }

  .r-dlt-btn:hover{
    background-color: red;
    color: white;
  }
  
  @media (max-width: 768px) {
    .r-candidate-details {
      flex-direction: column;
      gap: 8px;
    }
  
    .r-candidate-card {
      flex-direction: column;
      align-items: flex-start;
    }
  
    .r-header {
      flex-direction: column;
      align-items: flex-start;
    }
  }
  
/* Modern Modal Styles */
.modern-schedule-modal {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
  width: 95%;
  max-width: 1100px;
  overflow: hidden;
  font-family: 'Inter', sans-serif;
  margin: 20px;
  min-height: --webkit-fill-available;
}

.modern-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
  color: #fff;
}

.modal-header h2 {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 600;
}

.close-button {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1.8rem;
  cursor: pointer;
  transition: transform 0.2s;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.close-button:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}

.schedule-form {
  padding: 24px;
  max-height: 70vh;
  overflow-y: auto;
  scrollbar-width: none;
}

.mixed-test-note {
  background: #eef7ff;
  border-left: 5px solid #2575fc;
  padding: 16px;
  border-radius: 8px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
}

.mixed-test-note .note-icon {
  margin-right: 12px;
  font-size: 1.3rem;
}

.mixed-test-note p {
  margin: 0;
  color: #1a3d7c;
  font-size: 0.95rem;
}

.difficulty-section {
  margin-bottom: 24px;
  padding: 16px;
  background: #f8f9fa;
  border-radius: 8px;
}

.difficulty-section label {
  display: block;
  margin-bottom: 12px;
  font-weight: 500;
  color: #333;
  font-size: 1.05rem;
}

.difficulty-container {
  display: flex;
  align-items: center;
  gap: 15px;
}

.disabled-note {
  color: #666;
  font-size: 0.9rem;
  font-style: italic;
}

.test-cards-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 24px;
  gap: 24px;
  margin-top: 16px;
}

.test-card-modern {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid #eaeaea;
}

.test-card-modern:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.test-card-header {
  display: flex;
  align-items: center;
  padding: 20px 24px;
  background: #f8f9fa;
  border-bottom: 1px solid #eee;
}

.test-icon {
  font-size: 1.8rem;
  margin-right: 14px;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.test-card-header h3 {
  margin: 0;
  font-size: 1.2rem;
  color: #222;
  font-weight: 600;
}

.test-card-body {
  padding: 20px 24px;
}

.test-card-field {
  margin-bottom: 20px;
}

.test-card-field label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #555;
  font-size: 0.95rem;
}

.topic-input, .language-select {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s;
  background: #fff;
}

.topic-input:focus, .language-select:focus {
  outline: none;
  border-color: #2575fc;
  box-shadow: 0 0 0 3px rgba(37, 117, 252, 0.15);
}

.time-note {
  display: flex;
  align-items: center;
  margin-top: 10px;
  color: #666;
  font-size: 0.85rem;
  background: #f9f9f9;
  padding: 8px 12px;
  border-radius: 6px;
}

.time-note span:first-child {
  margin-right: 8px;
  font-size: 1.1rem;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  padding: 24px;
  background: #fff;
  border-top: 1px solid #eee;
}

.schedule-button, .cancel-button {
  padding: 14px 32px;
  border-radius: 8px;
  font-weight: 500;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
}

.schedule-button {
  background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
  color: #fff;
  border: none;
  position: relative;
}

.schedule-button:hover:not(:disabled) {
  background: linear-gradient(135deg, #5a0db9 0%, #1c6ae4 100%);
  box-shadow: 0 6px 16px rgba(37, 117, 252, 0.3);
}

.schedule-button:disabled {
  opacity: 0.8;
  cursor: not-allowed;
}

.schedule-button.loading {
  color: transparent;
}

.cancel-button {
  background: #fff;
  color: #555;
  border: 1px solid #ddd;
}

.cancel-button:hover {
  background: #f7f7f7;
}

.spinner {
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top: 3px solid #fff;
  width: 22px;
  height: 22px;
  animation: spin 1s linear infinite;
  position: absolute;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Test-specific card colors */
.test-card-modern.screening { border-top: 4px solid #6a11cb; }
.test-card-modern.coding { border-top: 4px solid #2196f3; }
.test-card-modern.personality { border-top: 4px solid #9c27b0; }
.test-card-modern.behavioral { border-top: 4px solid #ff9800; }
.test-card-modern.all-test { border-top: 4px solid #4caf50; }
.test-card-modern.communication { border-top: 4px solid #00bcd4; }

/* Success Popup Styles */
.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.success-popup {
  background: white;
  border-radius: 16px;
  width: 90%;
  max-width: 700px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  position: relative;
}

.close-popup {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  font-size: 1.8rem;
  color: #666;
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.3s;
}

.close-popup:hover {
  background: #f5f5f5;
}

.success-content {
  padding: 40px;
}

.success-header {
  text-align: center;
  margin-bottom: 25px;
}

.success-icon {
  font-size: 3.5rem;
  color: #4caf50;
  margin-bottom: 15px;
}

.success-header h2 {
  margin: 0;
  color: #333;
  font-size: 1.8rem;
}

.success-message {
  text-align: center;
  color: #555;
  margin-bottom: 30px;
  font-size: 1.1rem;
  line-height: 1.6;
}

.scheduled-tests-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 18px;
  gap: 18px;
  margin-bottom: 30px;
  max-height: 400px;
  overflow-y: auto;
  padding: 10px;
}

.scheduled-test-item {
  background: #f8f9fa;
  border-radius: 10px;
  padding: 20px;
  border-left: 4px solid #4d90fe;
  transition: transform 0.3s;
}

.scheduled-test-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.test-name {
  font-weight: 600;
  margin-bottom: 8px;
  color: #222;
  font-size: 1.1rem;
}

.test-details {
  color: #666;
  font-size: 0.95rem;
  margin-bottom: 12px;
  line-height: 1.5;
}

.test-time {
  display: flex;
  align-items: center;
  color: #4d90fe;
  font-weight: 500;
  font-size: 0.95rem;
}

.time-icon {
  margin-right: 10px;
  font-size: 1.2rem;
}

.success-actions {
  display: flex;
  justify-content: center;
}

.done-button {
  padding: 14px 40px;
  background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
  color: white;
  border: none;
  border-radius: 8px;
  font-weight: 500;
  font-size: 1.05rem;
  cursor: pointer;
  transition: all 0.3s;
}

.done-button:hover {
  background: linear-gradient(135deg, #5a0db9 0%, #1c6ae4 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(37, 117, 252, 0.3);
}

/* Progress Overlay Styles */
.progress-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}

.progress-container {
  background: white;
  border-radius: 16px;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
  width: 90%;
  max-width: 700px;
  padding: 40px;
  text-align: center;
}

.progress-header {
  margin-bottom: 30px;
}

.progress-header h2 {
  font-size: 1.8rem;
  color: #333;
  margin-bottom: 10px;
}

.progress-header p {
  color: #666;
  font-size: 1.1rem;
}

.progress-steps {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 30px;
}

.progress-step {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  border-radius: 10px;
  background: #f8f9fa;
  border: 1px solid #eee;
  position: relative;
  transition: all 0.3s;
}

.progress-step.completed {
  background: #e8f5e9;
  border-color: #c8e6c9;
}

.progress-step.processing {
  background: #e3f2fd;
  border-color: #bbdefb;
  box-shadow: 0 0 10px rgba(33, 150, 243, 0.2);
}

.step-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e0e0e0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  margin-right: 15px;
  flex-shrink: 0;
}

.progress-step.completed .step-icon {
  background: #4caf50;
  color: white;
}

.progress-step.processing .step-icon {
  background: #2196f3;
  color: white;
}

.step-details {
  flex-grow: 1;
  text-align: left;
}

.step-name {
  font-weight: 600;
  color: #333;
  font-size: 1rem;
}

.step-status {
  font-size: 0.9rem;
  color: #666;
}

.progress-step.completed .step-status {
  color: #388e3c;
}

.progress-step.processing .step-status {
  color: #1976d2;
  font-weight: 500;
}

.step-loader {
  margin-left: 15px;
}

.step-spinner {
  border: 3px solid rgba(33, 150, 243, 0.2);
  border-radius: 50%;
  border-top: 3px solid #2196f3;
  width: 24px;
  height: 24px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.progress-time-note {
  color: #666;
  font-size: 0.95rem;
  font-style: italic;
  padding: 10px;
  border-top: 1px solid #eee;
  margin-top: 20px;
}

.test-card-field .datetime-input {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 0.9rem;
  background: #fff;
  transition: border-color 0.3s;
}

.test-card-field .datetime-input:focus {
  outline: none;
  border-color: #2575fc;
  box-shadow: 0 0 0 3px rgba(37, 117, 252, 0.15);
}
.followup-container-cf {
  font-family: Poppins, -apple-system, Roboto, Helvetica, sans-serif;
  background-color: white;
  height: 100%;
  max-height: 100%;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
}

.header-section-cf {
  width: 100%;
  margin-bottom: 15px;
}

.header-title-cf {
  font-size: 20px;
  color: #333;
  font-weight: 600;
  letter-spacing: 0.2px;
  margin-bottom: 5px;
}

.header-divider-cf {
  border-color: #e0e0e0;
  border-style: solid;
  border-width: 1px;
  min-height: 1px;
  width: 100%;
}

.candidates-list-cf {
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  overflow-y: auto;
  /* scrollbar-width: none; */
}

/* Updated Candidate Card */
.candidate-card-cf {
  display: flex;
  width: 100%;
  gap: 16px;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 40px;
  background: linear-gradient(135deg, #f9f9f9, #ffffff);
  padding: 16px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.candidate-card-cf:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Optional heading inside card */
.candidate-heading-cf {
  font-size: 16px;
  font-weight: 600;
  color: #1f00ad;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.candidate-image-cf {
  aspect-ratio: 1.08;
  object-fit: cover;
  object-position: center;
  width: 80px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 2px solid #ddd;
}

.candidate-info-cf {
  min-height: 80px;
  font-size: 14px;
  letter-spacing: 0.15px;
  width: 198px;
}

.info-row-cf {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  justify-content: flex-start;
  margin-bottom: 4px;
}

.info-label-cf {
  color: #000;
  font-weight: 500;
}

.info-value-cf {
  color: #686868;
  font-weight: 400;
}

/* Updated Action Buttons */
.action-buttons-cf {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
  letter-spacing: 0.18px;
  justify-content: center;
  width: 100px;
}

.btn-cf {
  padding: 8px 16px;
  margin: 3px;
  font-size: 14px;
  font-weight: 500;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

.btn-cf.primary-cf {
  background: #4c00ff;
  color: white;
}

.btn-cf.primary-cf.shortlisted-cf {
  background: #2c0080;
}

.btn-cf.destructive-cf {
  background: #ff4d4d;
  color: white;
}

.btn-cf.destructive-cf.delete-cf {
  background: #a80000;
}

.btn-cf.neutral-cf {
  background: white;
  border: 2px solid #333;
  color: #333;
  width: 100%;
}

.btn-cf.neutral-cf:hover {
  background: #333;
  color: white;
}

/* Loading and error states */
.loading, .error {
  padding: 20px;
  text-align: center;
  font-size: 16px;
}

.error {
  color: #e74c3c;
}

.no-candidates {
  padding: 40px;
  text-align: center;
  color: #7f8c8d;
  font-style: italic;
}

/* Filters */
.filters-container {
  display: flex;
  gap: 20px;
  margin: 15px 0;
  flex-wrap: wrap;
}

.filter-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.filter-group label {
  font-weight: 600;
  font-size: 14px;
  color: #2c3e50;
}

.filter-group select {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: white;
  font-size: 14px;
}

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
  padding: 15px 0;
}

.pagination button {
  padding: 8px 16px;
  background: #3498db;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
}

.pagination button:hover:not(:disabled) {
  background: #2980b9;
}

.pagination button:disabled {
  background: #bdc3c7;
  cursor: not-allowed;
}

.page-info {
  font-weight: 600;
  color: #2c3e50;
}

/* Responsive design */
@media (max-width: 768px) {
  .filters-container {
    flex-direction: column;
    gap: 10px;
  }
  
  .pagination {
    flex-direction: column;
    gap: 10px;
  }
}
.all-job-v2 {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  align-items: center;
  width: 100%;
  margin-top: 50px;
}


.section-title-v2 {
  color: #000;
  font-size: 32px;
  font-family: Roboto, sans-serif;
  font-weight: 500;
  letter-spacing: 0.35px;
  margin-top: 40px;
  text-align: center;
  margin-right: 10%;
}

.section-description-v2 {
  color: #424243;
  font-size: 22px;
  font-family: Roboto, sans-serif;
  font-weight: 400;
  letter-spacing: 0.24px;
  margin-top: 33px;
  text-align: center;
  margin-right: 10%;
}

.jobs-section-v2-trial {
  background-color: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
}

.jobs-header-v2 {
  align-self: center;
  display: flex;
  width: 100%;
  /* max-width: 1317px; */
  align-items: start;
  gap: 20px;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.24px;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* Read-only version for normal admins - same as above but with subtle styling difference */
.jobs-header-v2-readonly {
  align-self: center;
  display: flex;
  width: 100%;
  align-items: start;
  gap: 20px;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.24px;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #f8f9fa; /* Subtle background to indicate read-only */
  padding: 12px;
  border-radius: 8px;
}

.jobs-filter-v2 {
  display: flex;
  margin-top: 5px;
  padding: 12px 12px 12px 16px;
  align-items: center;
  gap: 8px;
  font-family: Roboto, sans-serif;
  color: #000;
  font-weight: 600;
}

.filter-icon-v2 {
  aspect-ratio: 1;
  object-fit: contain;
  width: 24px;
}

.post-job-dropdown-v22 {
  gap: 10px;
  position: relative;
}

.post-job-btn-v22 {
  align-self: stretch;
  border-radius: 8px;
  background-color: #5d52d9;
  border: 1px solid #1f00ad;
  padding: 10px;
  font-family: Poppins, sans-serif;
  color: #fff;
  font-weight: 500;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid #ccc;
  width: 150px;
  z-index: 10;
}

.jobs-table-header-v2 {
  background-color: rgba(93, 82, 217, 0.08);
  display: flex;
  margin-top: 17px;
  padding: 13px 43px;
  align-items: stretch;
  gap: 40px 100px;
  font-family: Poppins, sans-serif;
  font-size: 22px;
  color: #000;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.24px;
}

.job-item-v2 {
  display: flex;
  min-height: 187px;
  width: 100%;
  padding: 44px 7px 44px 55px;
  align-items: start;
  gap: 40px 130px;
  justify-content: center;
  flex-wrap: wrap;
}

.job-date-v2 {
  color: #000;
  font-size: 20px;
  font-family: Poppins, sans-serif;
  font-weight: 400;
  letter-spacing: 0.22px;
  text-align: center;
}

.job-title-wrapper-v2 {
  display: flex;
  flex-direction: column;
  font-family: Roboto, sans-serif;
  font-size: 20px;
  color: #272727;
  font-weight: 400;
  letter-spacing: 0.22px;
  width: 166px;
}

.job-title-v2 {
  text-align: center;
  align-self: start;
}

.job-location-v2 {
  margin-top: 14px;
}

.job-status-v2 {
  color: #010566;
  font-size: 20px;
  font-family: Roboto, sans-serif;
  font-weight: 400;
  letter-spacing: 0.22px;
  text-align: center;
}

.job-engagement-v2 {
  display: flex;
  min-width: 240px;
  flex-direction: column;
  font-family: Roboto, sans-serif;
  font-size: 20px;
  color: #1f00ad;
  font-weight: 400;
  letter-spacing: 0.22px;
  width: 302px;
}

.views-v2 {
  color: #272727;
}

.applied-v2,
.recommended-v2 {
  display: flex;
  margin-top: 14px;
  align-items: center;
  gap: 4px;
  text-align: center;
}

.recommended-v2 {
  width: 100%;
}

.job-actions-v2 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.action-icon-v2 {
  aspect-ratio: 1;
  object-fit: contain;
  width: 22px;
}

/* CSS for overflow handling */
.candidate-followup-wrapper {
  overflow-y: auto;
  /* Enable vertical scrolling when content exceeds max-height */
}

@media (max-width: 991px) {
  .header {
    max-width: 100%;
  }

  .nav-menu {
    max-width: 100%;
  }

  .hero-section {
    max-width: 100%;
    padding: 96px 20px;
  }

  .hero-content {
    max-width: 100%;
  }

  .hero-title {
    font-size: 40px;
  }

  .jobs-container {
    max-width: 100%;
  }

  .jobs-header {
    max-width: 100%;
  }

  .job-item {
    padding-left: 20px;
  }

  .footer {
    max-width: 100%;
    margin-top: 40px;
  }

  .footer-content {
    max-width: 100%;
  }
}

.cwff {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: -510px;
  margin-left: 40%;
  margin-bottom: 100px;
}

.back-to-home {
  border: 2px solid #4b42c1;
  border-radius: 8px;
  padding: 10px 15px;
  cursor: pointer;
  background-color: transparent;
  color: #4b42c1;
  font-weight: 600;
  margin-left: -40px;
  margin-bottom: -20px;
}

.back-to-home:hover {
  background-color: #4b42c1;
  color: #fff;
}

.loader-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: transparent;
  /* Transparent background */
  position: fixed;
  /* Make it overlay the entire screen */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 6px solid #f3f3f3;
  border-top: 6px solid #3498db;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}
.jd-table-container {
  width: 100%;
  margin: auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  font-family: "Poppins", sans-serif;
  overflow: hidden;
  border-collapse: collapse;
}

/* Table Header */
.jd-table-header {
  display: grid;
  grid-template-columns: 20% 25% 15% 25% 15%;
  grid-gap: 6px;
  gap: 6px;
  background: #f0f4ff;
  padding: 15px;
  text-align: left;
  font-weight: 600;
  color: #333;
}

.jd-table-actions {
  /* margin-left: 60px; */
}

/* Table Rows */
.jd-table-row {
  display: grid;
  grid-template-columns: 20% 25% 15% 25% 15%;
  grid-gap: 6px;
  gap: 6px;
  padding: 15px;
  border-bottom: 1px solid #e0e0e0;
  transition: background 0.3s;
  cursor: pointer;
}

.jd-table-row:hover {
  background: #f9f9f9;
}

.jd-date,
.jd-title,
.jd-status,
.jd-engagement,
.jd-actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.jd-actions {
  /* margin-left: 70px; */
}

.jd-table-eng {
  /* margin-left: 40px; */
}

.jd-table-status {
  /* margin-left: 40px; */
}

.jd-table-jt {
  /* margin-left: 60px; */
}

/* Job Title & Location */
.jd-title-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.jd-title {
  font-weight: 600;
  color: #000;
  font-size: 15px;
  /* margin-left: 40px; */
}

.jd-location {
  color: #777;
  font-size: 13px;
  margin-top: 4px;
  /* margin-left: 40px; */
}

/* Status */
.jd-status {
  color: #007bff;
  font-weight: 600;
  /* margin-left: 40px; */
}

/* Engagement */
.jd-engagement {
  font-size: 14px;
  color: #333;
  /* margin-left: 40px; */
}

.jd-views,
.jd-applied,
.jd-recommended {
  margin-top: 2px;
  color: #007bff;
  cursor: pointer;
}

.jd-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* 3 items per row */
  grid-gap: 3px;
  gap: 3px;
  /* Adjust spacing between icons */
  justify-content: center;
  align-items: center;
  /* margin-top: 3px; */
  /* margin-left: -8px; */
}

.jd-action-icon {
  width: 20px;
  /* Adjust icon size */
  height: 20px;
  cursor: pointer;
  transition: transform 0.2s ease-in-out;
}

.jd-action-icon:hover {
  transform: scale(1.1);
}

/* Responsive Design */
@media (max-width: 800px) {

  .jd-table-header,
  .jd-table-row {
    grid-template-columns: 25% 25% 20% 30%;
  }
}


/* Pagination Container */
.pagination-ch {
  display: flex;
  justify-content: center;
  margin-top: 15px;
  margin-bottom: 15px;
}

/* Pagination Buttons */
.page-btn {
  padding: 8px 12px;
  margin: 0 4px;
  border: 1px solid #ccc;
  background-color: white;
  color: #000;
  cursor: pointer;
  transition: background 0.3s ease-in-out;
}

.page-btn:hover {
  background-color: #f0f0f0;
}

.page-btn.active {
  background-color: #4c00ff;
  color: white;
  border: 1px solid #4c00ff;
}



/* Candidates Table */
.candidates-table {
  flex: 1 1;
  background: #fff;
  padding: 16px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-top: -100px;
  margin-left: 900px;
  z-index: 1;
}

.candidates-table h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 12px;
}

/* Candidate Row */
.candidate-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.candidate-pfp {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.candidate-info {
  flex: 1 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.candidate-name {
  font-size: 14px;
  font-weight: 500;
}

.candidate-actions {
  display: flex;
  gap: 8px;
}
.candidate-container-all {
  width: 70%;
}

.candidate-card-v2 {
  background: white;
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 10px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  width: 100%;
}

.candidate-header-details-skills {
  display: flex;
  width: 100%;
  justify-content: space-between;
}


.candidate-header-v2 {
  display: flex;
  align-items: center;
  gap: 15px;
}

.avatar-v2 {
  width: 80px;
  height: 80px;
  border-radius: 50%;
}

.candidate-name-v2 {
  font-size: 22px;
  font-weight: bold;
}

.match-v2 {
  color: blue;
}

.candidate-details-v2 p {
  margin: 5px 0;
  font-size: 14px;
}

.match-container-v2 {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

.match-card-v2 {
  flex: 1 1;
  text-align: center;
  padding: 10px;
  background: #f5f5f5;
  border-radius: 5px;
  font-size: 14px;
}

.action-buttons-v22 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
  width: 30%;
  margin-left: 70%;
  margin-top: -23%;
  margin-bottom: 70px;
  justify-content: safe;
}

.btn-v2 {
  padding: 10px 15px;
  border: 2px solid rgba(31, 0, 173, 1);
  border-radius: 2px;
  cursor: pointer;
  font-size: 14px;
}

.btn.primary-v2 {
  border-radius: 2px;
  background-color: transparent;
  border: 1px solid rgba(31, 0, 173, 1);
  color: rgba(31, 0, 173, 1);
}

.btn.primary-v2.shortlisted {
  background-color: rgba(31, 0, 173, 1);
  /* Green background */
  color: white;
  border: 1px solid rgba(31, 0, 173, 1);
  transition: background-color 0.3s ease;
}

.btn.primary-v2.shortlisted:hover {
  background-color: rgba(31, 0, 173, 1);
  /* Darker green on hover */
}


.btn.destructive-v2 {
  border-radius: 2px;
  border: 1px solid rgb(194, 46, 46);
  background-color: transparent;
  color: red;
}

.btn.destructive-v2.delete {
  background-color: red;
  /* Red background */
  color: white;
  border: 1px solid red;
  transition: background-color 0.3s ease;
}


.btn.si-v2 {
  border-radius: 2px;
  border: 1px solid rgba(31, 0, 173, 1);
  background-color: transparent;
  color: rgba(31, 0, 173, 1);
}

.btn.secondary-v2 {
  border-radius: 2px;
  background: white;
  border: 1px solid rgba(31, 0, 173, 1);
  ;
  color: rgba(31, 0, 173, 1);
}

.btn.neutral-v2 {
  border-radius: 2px;
  background: white;
  border: 1px solid gray;
  color: black;
}

.btn.call-v2 {
  border-radius: 2px;
  border: 1px solid rgba(31, 0, 173, 1);
  background: transparent;
  color: rgba(31, 0, 173, 1);
}

.all-candidates {
  display: flex;
  flex-direction: column;
  align-items: center;
}




/* Tabs Navigation */
.tabs2-v22,
.tabs2-v222 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 15px 0;
  width: 70%;
  background-color: transparent;
  border-bottom: 2px solid #eee;
  padding-bottom: 10px;
}

.tabs2-v22 button,
.tabs2-v222 button {
  background: none;
  border: none;
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  color: #555;
  transition: color 0.3s ease;
}

.tabs2-v22 button:hover,
.tabs2-v222 button:hover {
  color: #0e0e0f;
  border-bottom: 2px solid #0e0e0f;
  background-color: transparent;
  transition: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.tabs2-v22 button.active-v2,
.tabs2-v222 button.active-v2 {
  color: #1f00ad;
  font-weight: bold;
  border-bottom: 3px solid #1f00ad;
  padding-bottom: 5px;
}

.tabs2-v22 .app-all {
  background-color: transparent;
  border-bottom: 2px solid #040404;
  padding-bottom: 5px;
}



/* Search Bar */
.all-filters {
  width: 70%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.search-bar-all {
  width: 60%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 50px;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: border 0.3s ease;
}

.search-bar-all:focus {
  border: 1px solid #1f00ad;
  outline: none;
  box-shadow: 0 0 5px rgba(31, 0, 173, 0.5);
}


/* Pagination */
.pagination-v2 {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: 20px;
}

.page-btn-v2 {
  padding: 8px 12px;
  border: 1px solid #ccc;
  background: white;
  cursor: pointer;
  border-radius: 5px;
}

.page-btn.active-v2 {
  background: blue;
  color: white;
  font-weight: bold;
}

.active-v2 {
  background-color: #007bff;
  color: white;
  border: 1px solid #0056b3;
}

.active2-v2 {
  background-color: #007bff;
  color: white;
  border: 1px solid #0056b3;
}

/* Tabs Navigation */
.tabs22-v2 {
  display: flex;
  justify-content: space-around;
  margin: 15px 0;
  width: 90%;
  margin-left: 5%;
}

.tabs2-v22 button,
.tabs2-v222 button {
  background: none;
  border: none;
  padding: 10px;
  font-size: 16px;
  cursor: pointer;
  color: #444;
}

.tabs2-v22 button.active-tab,
.tabs2-v222 button.active-tab {
  color: blue;
  font-weight: bold;
  border-bottom: 3px solid blue;
}


/* Filter Panel Styles */
/* .filter-dropdown-container {
  position: relative;
  width: 20%;
} */

.filter-toggle {
  width: 100%;
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 8px 16px;
  border-radius: 50px;
  cursor: pointer;
  font-weight: bold;
  color: rgba(31, 0, 173, 1);
  z-index: 10;
}

.filter-toggle:hover {
  background-color: #f7f7f7;
}

.filter-panel {
  background: #fff;
  box-shadow: 0 4px 8px #0000001a;
  right: 20px;
  padding: 12px;
  position: absolute;
  top: 600px;
  width: calc(15% - 40px);
  z-index: 10;
  border-radius: 10px;
}

.filter-panel h3 {
  margin-top: 0;
  font-size: 16px;
}

.filter-panel label {
  display: block;
  margin: 10px 0 5px;
  font-weight: 500;
  font-size: 12px;
}

.filter-panel input[type="text"],
.filter-panel input[type="range"] {
  width: 100%;
  padding: 4px;
  font-size: 12px;
  /* margin-bottom: 10px; */
  border: 1px solid #ccc;
  border-radius: 4px;
}

.filter-panel input[type="checkbox"] {
  margin-right: 5px;
}

.filter-panel .toggle-switch {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 20px;
}

.filter-panel .toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.filter-panel .toggle-switch span {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 20px;
}

.filter-panel .toggle-switch span:before {
  position: absolute;
  content: "";
  height: 14px;
  width: 14px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}

.filter-panel input:checked+span {
  background-color: #4caf50;
}

.filter-panel input:checked+span:before {
  transform: translateX(14px);
}

.active-all2 {
  background-color: #007bff;
  color: white;
  border: 1px solid #0056b3;
}

.select-all-combined {
  width: 10%;
}



.glbtn {
  width: 20%;
  text-align: center;
  background-color: transparent;
  color: rgb(14, 13, 13);
  border: 1px solid rgb(14, 13, 13);
  border-radius: 50px;
  font-size: 16px;
  font-weight: bold;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 8px 16px;
}

.glbtn:hover {
  background-color: #007bff;
  transform: scale(1.05);
  color: white;
}

.glbtn:focus {
  outline: none;
}

.glbtn:active {
  background-color: #388e3c;
  transform: scale(0.98);
}

/* Disabled Button Styles */
.glbtn:disabled,
.glbtn.disabled {
  background-color: #ccc;
  color: #666;
  border: 1px solid #aaa;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.candidate-card {
  background: #fff;
  border-radius: 10px;
  width: 100%;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  margin: 0;
  margin-bottom: 15px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: transform 0.2s ease-in-out;
}

.candidate-card:hover {
  transform: scale(1.02);
}

/* Checkbox */
.candidate-checkbox {
  align-self: flex-start;
  margin-bottom: 10px;
  cursor: pointer;
}

/* Header */
.candidate-header {
  display: flex;
  align-items: center;
  gap: 15px;
}

.candidate-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid #ccc;
}

.candidate-name {
  font-size: 18px;
  font-weight: 600;
}

.candidate-match {
  font-size: 14px;
  color: #007bff;
  font-weight: 500;
  margin-left: 8px;
}

/* Details */
.candidate-details {
  margin-top: 10px;
  font-size: 14px;
  color: #333;
}

.candidate-details p {
  margin: 5px 0;
}

/* Action Buttons */
.candidate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}

.btn {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

.btn.primary {
  background: #4c00ff;
  color: white;
}

.btn.primary.shortlisted {
  background: #2c0080;
}

.btn.destructive {
  background: #ff4d4d;
  color: white;
}

.btn.destructive.delete {
  background: #a80000;
}

.btn.secondary {
  background: white;
  border: 2px solid #4c00ff;
  color: #4c00ff;
}

.btn.secondary:hover {
  background: #4c00ff;
  color: white;
}

.btn.neutral {
  background: white;
  border: 2px solid #333;
  color: #333;
}

.btn.neutral:hover {
  background: #333;
  color: white;
}

/* Match Info */
.candidate-match-info {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 15px;
}

.match-card {
  flex: 1 1;
  background: #f4f4f4;
  padding: 10px;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
}

/* Responsive */
@media (max-width: 600px) {
  .candidate-card {
    max-width: 100%;
  }

  .candidate-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .candidate-match-info {
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }
}


/* 2x2 Grid Skills Section */
/* Updated skill card container styling */
.candidate-skill-info-container {
  width: 40%;
  position: relative;
  min-height: 150px;
  align-items: flex-start;
  /* Align to the right side */
}

/* Fix the grid layout */
.skill-tabs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-gap: 10px;
  gap: 10px;
  width: 100%;
}

/* Improve the tab cards appearance */
.skill-tab-card {
  background: #f9f9ff;
  border: 1px solid #e0e0ff;
  border-radius: 8px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  height: 55px;
  position: relative;
  overflow: hidden;
}

/* Style the content as bullet points */
.skill-content {
  padding-left: 0;
}

.skill-content ul {
  margin: 0;
  padding-left: 20px;
}

.skill-content li {
  margin-bottom: 5px;
  line-height: 1.4;
}

/* Fix the hover content positioning */
.hover-content {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 5px 20px #00000026;
  position: absolute;
  /* top: 180px; */
  z-index: 100;
  width: 100%;
  right: 0px;
}

.hover-content.up {
  /* left: 60%; */
  top: -250px;
}

/* Style the hover box */
.hover-skill-box {
  background: white;
  border: 1px solid #d0d0ff;
  border-radius: 10px;
  padding: 15px;
  width: 100%;
  /* min-height: 150px; */
  height: 250px;
  overflow-y: auto;
}

/* Add a tab row at the bottom of hover content */
.hover-tabs {
  display: flex;
  justify-content: space-around;
  padding: 8px 5px;
  border-top: 1px solid #eee;
  background: #f9f9ff;
}

.hover-tab {
  padding: 5px 10px;
  cursor: pointer;
  border-radius: 4px;
  font-size: 12px;
}

.hover-tab.active {
  background: #e0e0ff;
  font-weight: bold;
}


/* Smoother hover transition */
@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(5px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.hover-skill-box {
  animation: fadeInScale 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 🔸 Minimalistic Scrollbar Styling */
.hover-skill-box::-webkit-scrollbar {
  width: 6px;
}

.hover-skill-box::-webkit-scrollbar-track {
  background: transparent;
}

.hover-skill-box::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

.hover-skill-box::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.3);
}

/* Enhanced Job Header Styling */
.ranking-job-header-v2 {
  /* background: linear-gradient(135deg, #f9f9ff 0%, #f0f0ff 100%); */
  /* border-radius: 12px; */
  padding: 20px 30px;
  /* box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); */
  /* border: 1px solid #e0e0ff; */
  justify-content: center;
  align-items: center;
}

.job-title-section {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 15px;
}

.clickable-job-title {
  color: #3b5bfe;
  font-size: 24px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  transition: color 0.2s;
  position: relative;
}

.clickable-job-title:hover {
  color: #2a46e4;
}

.ranking-job-header-v2 .view-details-hint {
  font-size: 12px;
  /* background: rgba(59, 91, 254, 0.1); */
  color: #3b5bfe;
  padding: 4px 8px;
  border-radius: 4px;
  margin-left: 10px;
  opacity: 0;
  transition: opacity 0.2s;
}

.clickable-job-title:hover .view-details-hint {
  opacity: 1;
}

.job-badges {
  display: flex;
  gap: 10px;
}

.job-badge {
  background: white;
  color: #3b5bfe;
  font-size: 12px;
  padding: 5px 12px;
  border-radius: 50px;
  border: 1px solid #d0d0ff;
  cursor: pointer;
}

.job-meta-info {
  justify-content: space-between;
  align-items: center;
  display: flex;
  gap: 16px;
}

.job-meta-item {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #555;
}

.meta-icon {
  margin-right: 8px;
  font-size: 16px;
}

/* Job Description Popup Styling */
.job-description-popup {
  background: white;
  border-radius: 12px;
  width: 800px;
  max-width: 90vw;
  max-height: 85vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.job-description-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 30px;
  border-bottom: 1px solid #e0e0ff;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background: white;
  z-index: 1;
  border-radius: 12px 12px 0 0;
}

.job-description-header h2 {
  color: #3b5bfe;
  margin: 0;
  font-size: 24px;
}

.close-button {
  background: none;
  border: none;
  font-size: 30px;
  color: #888;
  cursor: pointer;
  padding: 0 5px;
  line-height: 0.8;
}

.close-button:hover {
  color: #555;
}

.jd-info-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 15px;
  gap: 15px;
  margin-bottom: 25px;
}

.jd-info-card {
  display: flex;
  align-items: center;
  background: #f6f6ff;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #e0e0ff;
}

.info-icon {
  font-size: 24px;
  margin-right: 12px;
  color: #3b5bfe;
}

.info-content {
  flex: 1 1;
}

.info-label {
  font-size: 12px;
  color: #f0eeee;
  margin-bottom: 3px;
}

.info-value {
  font-size: 14px;
  font-weight: 600;
  color: #7e7d7d;
}

.job-description-content {
  padding: 30px;
}

.jd-section {
  margin-bottom: 30px;
}

.jd-section h3 {
  color: #333;
  margin-bottom: 15px;
  font-size: 18px;
  border-left: 3px solid #3b5bfe;
  padding-left: 10px;
}

.jd-section p {
  color: #555;
  line-height: 1.6;
}

.jd-section ul {
  padding-left: 20px;
  margin: 0;
}

.jd-section li {
  margin-bottom: 8px;
  line-height: 1.5;
  color: #555;
}

.jd-details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px;
  gap: 15px;
}

.jd-detail-item {
  display: flex;
  flex-direction: column;
  background: transparent;
  padding: 12px 15px;
  border-radius: 8px;
}

.detail-label {
  font-size: 12px;
  color: #555555;
  margin-bottom: 5px;
}

.detail-value {
  font-weight: 500;
  color: #969696;
}

.preferences-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 15px;
  gap: 15px;
}

.preference-item {
  background: #f9f9ff;
  padding: 15px;
  border-radius: 8px;
  border: 1px solid #e0e0ff;
}

.preference-label {
  font-size: 12px;
  color: #f1eeee;
  margin-bottom: 5px;
}

.preference-value {
  font-size: 14px;
  font-weight: 500;
  color: #b5b4b4;
}

/* Scrollbar styling for job description */
.job-description-popup::-webkit-scrollbar {
  width: 8px;
}

.job-description-popup::-webkit-scrollbar-track {
  background: transparent;
}

.job-description-popup::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}

.job-description-popup::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.2);
}

.loader-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: transparent;
  /* Transparent background */
  position: fixed;
  /* Make it overlay the entire screen */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 6px solid #f3f3f3;
  border-top: 6px solid #3498db;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Critical Skills Styles */
.critical-skills-section {
  margin-top: 10px;
  padding: 8px;
  border-radius: 6px;
  font-size: 13px;
}

.critical-skills-warning {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #dc2626;
  background-color: #fef2f2;
  padding: 6px 10px;
  border-radius: 4px;
  border-left: 3px solid #dc2626;
}

.critical-skills-success {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #059669;
  background-color: #f0fdf4;
  padding: 6px 10px;
  border-radius: 4px;
  border-left: 3px solid #059669;
}

.critical-icon {
  font-size: 14px;
}

.critical-text {
  font-weight: 600;
}

/* Critical Skills in Hover */
.critical-skills-details {
  padding: 5px 0;
}

.critical-skills-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.critical-skill-tag {
  background-color: #dc2626;
  color: white;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
}

.penalty-info {
  background-color: #fef2f2;
  color: #dc2626;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid #fecaca;
}

.no-critical-missing {
  color: #059669;
  font-weight: 600;
  text-align: center;
  padding: 10px;
}

/* Score Breakdown */
.score-breakdown {
  margin-top: 4px;
  font-size: 10px;
  color: #6b7280;
}

/* Critical Skills Tab */
.skill-tab-card.critical {
  border-color: #dc2626;
}

.skill-tab-card.critical.active {
  background-color: #fef2f2;
}

/* Update grid for 5 tabs */
.skill-tabs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 8px;
  gap: 8px;
}

/* Adjust hover content positioning */
.hover-content.up {
  top: -280px;
}
.feature-section {
    position: relative;
    align-self: center;
    display: flex;
    width: 100%;
    max-width: 1084px;
    flex-direction: column;
    text-align: center;
    justify-content: start;
    margin: 71px 0 -30px;
  }
  
  .feature-heading {
    color: rgba(255, 255, 255, 1);
    letter-spacing: 0.57px;
    font: 700 52px Inria Sans, sans-serif;
  }
  
  .feature-subtext {
    color: rgba(207, 207, 207, 1);
    letter-spacing: 0.24px;
    align-self: center;
    margin-top: 28px;
    font: 600 22px Poppins, sans-serif;
  }

  

.upload-job-description-v2 {
  background-color: #faf9ff;
  padding-top: 35px;
  overflow: hidden;
}

.main-container-v2 {
  display: flex;
  width: 100%;
  padding: 0 40px;
  flex-direction: column;
}

.post-job-btn-v2 {
  align-self: stretch;
  border-radius: 8px;
  background-color: #5d52d9;
  border: 1px solid #1f00ad;
  padding: 10px;
  font-family: Poppins, sans-serif;
  color: #fff;
  font-weight: 500;
}

.content-section-v2 {
  width: 100%;
}

.content-wrapper-v2 {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 20px;
}

.upload-container-v2 {
  display: flex;
  flex-grow: 1;
  align-items: end;
  gap: 40px 52px;
  color: #000000;
  justify-content: start;
}

.upload-box-v2 {
  border-radius: 3px;
  background-color: #d7d4f5;
  box-shadow: 0px 5px 7px rgba(0, 0, 0, 0.05);
  padding: 26px 40px;
  width: 100%;
}

.upload-heading-v2 {
  text-align: center;
  min-height: 28px;
  width: 86px;
  padding: 0 8px;
  font-family:
    Poppins,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 19px;
  font-weight: 600;
  margin: 0 auto;
}

.upload-area-v2 {
  border-radius: 3px;
  background-color: #f8f8ff;
  border: 1px dashed rgba(56, 78, 183, 0.3);
  margin-top: 21px;
  padding: 193px 26px 119px;
  text-align: center;
  line-height: 1.5;
}

.upload-text-v2 {
  padding: 4px;
  font-family:
    Mulish,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 14px;
}

.text-bold-v2 {
  font-weight: 600;
  color: #0f0f0f;
}

.text-link-v2 {
  font-weight: 600;
  text-decoration: underline;
  color: #483ea8;
}

.supported-formats-v2 {
  margin-bottom: -24px;
  padding: 4px;
  font-family:
    Poppins,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 10px;
  font-weight: 400;
}

.upload-btn-v2 {
  width: 100%;
  border-radius: 3px;
  background-color: #483ea8;
  margin-top: 26px;
  min-height: 38px;
  padding: 11px 12px;
  font-family:
    Poppins,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 12px;
  color: #f9f8f8;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1;
  border: none;
  cursor: pointer;
}

.description-container-v2 {
  border-radius: 8px;
  background-color: #ffffff;
  box-shadow: -4px 4px 12px rgba(31, 0, 173, 0.5);
  border: 1px solid #1f00ad;
  min-height: 532px;
  padding: 46px 22px;
  font-family:
    Poppins,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  color: #000000;
}

.description-content-v2 {
  max-width: 740px;
  margin: 0 auto;
}

.description-title-v2 {
  font-size: 22px;
  font-weight: 500;
  text-align: center;
}

.description-summary-v2 {
  font-size: 18px;
  font-weight: 400;
  margin-top: 24px;
}

.description-points-v2 {
  margin-top: 16px;
  font-size: 16px;
  font-weight: 400;
}

.description-points-v2 ul {
  list-style-type: none;
  padding: 0;
}

.description-points-v2 li {
  margin-top: 12px;
}

.description-footer-v2 {
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  margin-top: 23px;
}


@media (max-width: 991px) {
  .main-container-v2 {
    max-width: 100%;
    padding: 0 20px;
  }

  .content-section-v2 {
    width: 100%;
  }

  .content-wrapper-v2 {
    flex-direction: column;
    align-items: stretch;
  }

  .upload-section-v2 {
    width: 100%;
  }

  .upload-container-v2 {
    width: 100%;
  }

  .upload-box-v2 {
    padding: 20px;
  }

  .upload-area-v2 {
    padding: 100px 20px;
  }

  .supported-formats-v2 {
    margin-bottom: 10px;
  }

  .description-section-v2 {
    width: 100%;
  }

  .description-container-v2 {
    max-width: 100%;
    padding: 20px;
  }
}
.page-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  /* background: linear-gradient(135deg, #e0e7ff 0%, #f8fafc 100%); */
}

.jd-ai-container-2 {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 0 60px 0;
}

.jd-ai-content-2 {
  background: linear-gradient(135deg, #f8fafc 60%, #e0e7ff 100%);
  border-radius: 24px;
  box-shadow: 0 8px 32px rgba(44, 62, 80, 0.10);
  padding: 40px 32px 32px 32px;
  max-width: 755px;
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.jd-ai-header {
  text-align: center;
  /* margin-bottom: 32px; */
}

.jd-ai-header h1 {
  color: #2d2d6a;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 15px;
  background: linear-gradient(135deg, #6366f1 0%, #667eea 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.jd-ai-header p {
  color: #444;
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 500px;
  margin: 0 auto;
}

.jd-ai-form {
  /* margin-bottom: 32px; */
  width: 100%;
}

.form-group {
  margin-bottom: 25px;
}

.form-group label {
  display: block;
  font-weight: 600;
  color: #2d2d6a;
  margin-bottom: 10px;
  font-size: 1.1rem;
}

.prompt-textarea {
  width: 100%;
  padding: 15px;
  border: 2px solid #e1e5e9;
  border-radius: 12px;
  font-size: 1rem;
  line-height: 1.5;
  resize: vertical;
  min-height: 120px;
  transition: all 0.3s ease;
  font-family: inherit;
  background: #f3f4f6;
}

.prompt-textarea:focus {
  outline: none;
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.08);
}

.prompt-textarea:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
}

.error-message {
  background-color: #fee;
  color: #c53030;
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 20px;
  border-left: 4px solid #c53030;
  font-weight: 500;
}

.form-actions {
  text-align: center;
}

.generate-btn {
  background: linear-gradient(135deg, #6366f1 0%, #667eea 100%);
  color: white;
  border: none;
  padding: 15px 40px;
  border-radius: 12px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 250px;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(44, 62, 80, 0.08);
}

.generate-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(99, 102, 241, 0.18);
}

.generate-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.loading-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.loading-spinner.large {
  width: 40px;
  height: 40px;
  border-width: 3px;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.generation-status {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.status-content {
  background: white;
  padding: 40px;
  border-radius: 20px;
  text-align: center;
  max-width: 500px;
  width: 90%;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.status-content h3 {
  color: #333;
  margin: 20px 0 15px 0;
  font-size: 1.5rem;
}

.status-content p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

.tips-section {
  background: linear-gradient(135deg, #6366f1 0%, #667eea 100%);
  color: white;
  padding: 25px;
  border-radius: 15px;
  margin-top: 30px;
  box-shadow: 0 2px 8px rgba(44, 62, 80, 0.08);
}

.tips-section h3 {
  margin: 0 0 15px 0;
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tips-section ul {
  margin: 0;
  padding-left: 20px;
  list-style: none;
}

.tips-section li {
  margin-bottom: 8px;
  position: relative;
  padding-left: 20px;
}

.tips-section li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #fff;
  font-weight: bold;
}

.tips-section li:last-child {
  margin-bottom: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
  .jd-ai-container-2 {
    padding: 10px;
    min-height: calc(100vh - 200px);
  }
  .jd-ai-content-2 {
    padding: 25px;
  }
  .jd-ai-header h1 {
    font-size: 2rem;
  }
  .jd-ai-header p {
    font-size: 1rem;
  }
  .generate-btn {
    width: 100%;
    padding: 15px 20px;
  }
  .status-content {
    padding: 25px;
  }
}

@media (max-width: 480px) {
  .jd-ai-container-2 {
    min-height: calc(100vh - 180px);
  }
  .jd-ai-content-2 {
    padding: 20px;
  }
  .jd-ai-header h1 {
    font-size: 1.8rem;
  }
  .prompt-textarea {
    padding: 12px;
    font-size: 0.95rem;
  }
} 
/* :root {
  --primary: #007BFF;
  --light: #f5faff;
  --bg: #eaf3ff;
  --text: #1e1e1e;
  --subtle: #5a5a5a;
  --white: #ffffff;
}

body {
  background-color: var(--light);
  font-family: 'Segoe UI', sans-serif;
} */

/* Popup container effect */
.jd-ai-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  background: none;
  box-shadow: none;
  margin: 0;
  padding: 0;
  position: static;
  height: auto;
  z-index: auto;
}

/* Popup card */
.ai-card {
  background: linear-gradient(120deg, #f0f4ff 60%, #e0e7ff 100%);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(44, 62, 80, 0.12);
  padding: 36px 32px 32px 32px;
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: static;
  text-align: center;
  animation: none;
}

.jd-audioai-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.jd-audioai-main {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 40px 0 60px 0;
}

.jd-audioai-hero {
  text-align: center;
  margin-bottom: 32px;
  padding: 32px 24px 16px 24px;
  background: rgba(255,255,255,0.85);
  border-radius: 18px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07);
  max-width: 600px;
}
.jd-audioai-hero h1 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #2d2d6a;
  margin-bottom: 12px;
}
.jd-audioai-hero p {
  font-size: 1.2rem;
  color: #444;
}

.jd-ai-container.generative {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  background: none;
  box-shadow: none;
  margin: 0;
  padding: 0;
  position: static;
  height: auto;
  z-index: auto;
}

.ai-card.generative {
  background: linear-gradient(120deg, #f0f4ff 60%, #e0e7ff 100%);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(44, 62, 80, 0.12);
  padding: 36px 32px 32px 32px;
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: static;
  text-align: center;
  animation: none;
}

.face {
  width: 60%;
  height: 60%;
  background: white;
  border-radius: 50%;
  position: relative;
}

.eyes {
  position: absolute;
  top: 30%;
  left: 25%;
  width: 50%;
  height: 20%;
  display: flex;
  justify-content: space-between;
}
.eyes::before,
.eyes::after {
  content: "";
  width: 10px;
  height: 10px;
  background: black;
  border-radius: 50%;
}

.mouth {
  position: absolute;
  bottom: 25%;
  left: 50%;
  width: 20px;
  height: 5px;
  background: #333;
  transform: translateX(-50%);
  border-radius: 5px;
}

.wave {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 3px dashed #fff;
  animation: pulse 1s infinite;
}

.mic-dot {
  width: 12px;
  height: 12px;
  background: #e63946;
  position: absolute;
  bottom: 10px;
  right: 10px;
  border-radius: 50%;
  box-shadow: 0 0 10px red;
}

.done-check {
  font-size: 2.5rem;
  color: white;
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }
  100% {
    transform: scale(1.4);
    opacity: 0;
  }
}

@keyframes popupFade {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.ai-status-label {
  font-size: 1.1rem;
  margin-bottom: 1rem;
  color: var(--primary);
  font-weight: 600;
}

.question-box h2 {
  font-size: 1.25rem;
  color: var(--text);
  margin-bottom: 1rem;
}

.transcription-box {
  background-color: var(--bg);
  border-radius: 0.5rem;
  padding: 1rem;
  font-style: italic;
  color: var(--subtle);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.05);
}

.transcription-box .label {
  font-weight: 600;
  color: var(--text);
}

/* STOP button styled like a close (top-right) */
.stop-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: transparent;
  color: #666;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  transition: color 0.2s ease;
}
.stop-btn:hover {
  color: #e63946;
}

.stop-btn {
  position: absolute;
  top: 18px;
  right: 18px;
  background: #f8d7da;
  color: #a94442;
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 1.3rem;
  cursor: pointer;
  transition: background 0.2s;
  z-index: 2;
}
.stop-btn:hover {
  background: #f5c6cb;
}

.ai-avatar {
  margin-bottom: 18px;
  width: 90px;
  height: 90px;
  background: #e0e7ff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(44, 62, 80, 0.08);
  position: relative;
}
.face {
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 1px 4px rgba(44, 62, 80, 0.07);
}
.eyes {
  width: 32px;
  height: 10px;
  background: #2d2d6a;
  border-radius: 5px;
  margin: 12px auto 0 auto;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.eyes:before, .eyes:after {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #2d2d6a;
  border-radius: 50%;
}
.eyes:before {
  margin-right: 8px;
}
.eyes:after {
  margin-left: 8px;
}
.mouth {
  width: 18px;
  height: 8px;
  border-radius: 0 0 12px 12px;
  background: #2d2d6a;
  margin: 8px auto 0 auto;
}
.wave {
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 12px;
  background: linear-gradient(90deg, #a5b4fc 0%, #6366f1 100%);
  border-radius: 8px;
  animation: waveAnim 1.2s infinite linear;
}
@keyframes waveAnim {
  0% { opacity: 0.7; transform: translateX(-50%) scaleX(1); }
  50% { opacity: 1; transform: translateX(-50%) scaleX(1.2); }
  100% { opacity: 0.7; transform: translateX(-50%) scaleX(1); }
}
.mic-dot {
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  width: 14px;
  height: 14px;
  background: #6366f1;
  border-radius: 50%;
  box-shadow: 0 0 8px #6366f1;
  animation: micPulse 1.2s infinite;
}
@keyframes micPulse {
  0% { opacity: 0.7; box-shadow: 0 0 8px #6366f1; }
  50% { opacity: 1; box-shadow: 0 0 16px #6366f1; }
  100% { opacity: 0.7; box-shadow: 0 0 8px #6366f1; }
}
.done-check {
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.5rem;
  color: #22c55e;
}

.ai-status-label {
  font-size: 1.1rem;
  color: #6366f1;
  margin-bottom: 18px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.question-box {
  width: 100%;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(44, 62, 80, 0.06);
  padding: 18px 16px 12px 16px;
  margin-top: 8px;
  text-align: left;
}
.question-box h2 {
  font-size: 1.2rem;
  color: #2d2d6a;
  margin-bottom: 10px;
}
.transcription-box {
  background: #f3f4f6;
  border-radius: 8px;
  padding: 10px 12px;
  margin-top: 8px;
  font-size: 1rem;
  color: #444;
}
.transcription-box .label {
  font-weight: 600;
  color: #6366f1;
  margin-right: 8px;
}

.ai-interview-env {
  max-width: 520px;
  margin: 48px;
  background: linear-gradient(135deg, #f8fafc 60%, #e0e7ff 100%);
  border-radius: 24px;
  box-shadow: 0 8px 32px rgba(44, 62, 80, 0.10);
  padding: 40px 32px 32px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.ai-interview-title {
  font-size: 2rem;
  font-weight: 700;
  color: #2d2d6a;
  margin-bottom: 24px;
  text-align: center;
  letter-spacing: 0.01em;
}

.ai-avatar-section {
  margin-bottom: 32px;
  display: flex;
  justify-content: center;
  width: 100%;
}

.ai-avatar.big {
  width: 100vh;
  height: 260px;
  margin-bottom: 0;
}

.ai-conversation-area {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 24px;
}

.ai-bubble {
  background: linear-gradient(90deg, #e0e7ff 60%, #f0f4ff 100%);
  color: #2d2d6a;
  border-radius: 18px 18px 18px 6px;
  padding: 18px 20px;
  font-size: 1.15rem;
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(44, 62, 80, 0.06);
  align-self: flex-start;
  min-width: 120px;
  max-width: 100%;
  margin-bottom: 0;
  position: relative;
}
.ai-label {
  font-weight: 700;
  color: #6366f1;
  margin-right: 8px;
}

.user-bubble {
  background: linear-gradient(90deg, #f3f4f6 60%, #e0e7ff 100%);
  color: #444;
  border-radius: 18px 18px 6px 18px;
  padding: 16px 20px;
  font-size: 1.08rem;
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(44, 62, 80, 0.04);
  align-self: flex-end;
  min-width: 120px;
  max-width: 100%;
  margin-bottom: 0;
  position: relative;
  display: flex;
  flex-direction: column;
}
.user-label {
  font-weight: 700;
  color: #2d2d6a;
  margin-right: 8px;
  margin-bottom: 4px;
}
.user-text {
  color: #6366f1;
  font-style: italic;
  font-size: 1.08rem;
}

.stop-btn {
  position: absolute;
  top: 24px;
  right: 24px;
  background: #f8d7da;
  color: #a94442;
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 1.3rem;
  cursor: pointer;
  transition: background 0.2s;
  z-index: 2;
}
.stop-btn:hover {
  background: #f5c6cb;
}

@media (max-width: 600px) {
  .jd-audioai-hero {
    padding: 18px 6px 10px 6px;
    max-width: 98vw;
  }
  .ai-card.generative {
    padding: 18px 6px 18px 6px;
    max-width: 98vw;
  }
  .question-box {
    padding: 10px 4px;
  }
  .ai-interview-env {
    padding: 16px 4px 16px 4px;
    max-width: 98vw;
  }
  .ai-avatar.big {
    width: 80px;
    height: 80px;
  }
  .ai-bubble, .user-bubble {
    padding: 10px 8px;
    font-size: 1rem;
  }
}

.jd-audio-check-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 40, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
}

.jd-audio-check-modal {
  background-color: #f9fbff;
  color: #1e3a8a;
  padding: 2rem 2.5rem;
  border-radius: 12px;
  width: 90%;
  max-width: 480px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  text-align: center;
  font-family: "Segoe UI", sans-serif;
}

.jd-audio-check-modal h2 {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
}

.jd-audio-check-modal p {
  margin-bottom: 1.5rem;
  color: #475569;
  font-size: 1rem;
}

.jd-audio-check-test {
  margin-bottom: 1.2rem;
}

.jd-audio-check-btn {
  background-color: #3b82f6;
  color: white;
  border: none;
  padding: 0.6rem 1.2rem;
  font-size: 1rem;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.jd-audio-check-btn:hover {
  background-color: #2563eb;
}

.jd-audio-check-status {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  min-height: 1.2rem;
}

.jd-audio-check-status.tested {
  color: green;
}

.jd-audio-check-status.testing {
  color: #64748b;
}

.jd-audio-check-status.error {
  color: red;
}

.jd-audio-check-start {
  margin-top: 1rem;
  background-color: #10b981;
  color: white;
  font-size: 1rem;
  padding: 0.7rem 1.5rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

.jd-audio-check-start:hover {
  background-color: #059669;
}

.ai-layout-audio {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  /* gap: 32px; */
  padding: 40px 16px;
  flex-wrap: wrap;
}

/* Make tips section more compact when side-by-side */
.tips-section-audio {
  flex: 1 1 260px;
  max-width: 430px;
  margin: 48px;
  background: linear-gradient(135deg, #6366f1 0%, #667eea 100%);
  color: white;
  padding: 40px 32px 32px 32px;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(44, 62, 80, 0.08);
}

.tips-section-audio h3 {
  font-size: 1rem;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tips-section-audio ul {
  padding-left: 20px;
  list-style-type: disc;
  margin: 0;
}

.tips-section-audio li {
  margin-bottom: 8px;
  font-size: 0.85rem;
}

/* Responsive stacking */
@media (max-width: 768px) {
  .ai-layout-audio {
    flex-direction: column;
    align-items: stretch;
  }

  .tips-section-audio {
    max-width: 100%;
    margin-top: 24px;
  }
}

.InputDesign_uploadContainer__otUac {
    padding: 36px 102.75px 264px 103.637px;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    background-color: #fff;
  }
  
  @media (max-width: 991px) {
    .InputDesign_uploadContainer__otUac {
      padding: 36px 50px;
    }
  }
  
  @media (max-width: 640px) {
    .InputDesign_uploadContainer__otUac {
      padding: 20px;
    }
  }
  
  .InputDesign_header__DbilB {
    text-align: center;
    margin-bottom: 46px;
  }
  
  .InputDesign_title__dmZK5 {
    color: #000;
    font-family: "Poppins", sans-serif;
    font-size: 32px;
    font-weight: 600;
    letter-spacing: 0.352px;
    margin-bottom: 14px;
  }
  
  @media (max-width: 640px) {
    .InputDesign_title__dmZK5 {
      font-size: 24px;
    }
  }
  
  .InputDesign_subtitle__MrwXn {
    color: #1f00ad;
    font-family: "Poppins", sans-serif;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.242px;
  }
  
  @media (max-width: 640px) {
    .InputDesign_subtitle__MrwXn {
      font-size: 18px;
    }
  }
  
  .InputDesign_contentWrapper__LYyIh {
    display: flex;
    gap: 35px;
  }
  
  @media (max-width: 991px) {
    .InputDesign_contentWrapper__LYyIh {
      flex-direction: column;
    }
  }
  
  .InputDesign_uploadSection__ZRB-6 {
    flex: 0 0 462px;
  }
  
  @media (max-width: 991px) {
    .InputDesign_uploadSection__ZRB-6 {
      flex: none;
      width: 100%;
      max-width: 462px;
      margin: 0 auto;
    }
  }
  
  .InputDesign_uploadBox__qCo5e {
    border-radius: 3.419px;
    box-shadow: 0px 5.129px 6.839px 0px rgba(0, 0, 0, 0.05);
    padding: 26px;
    background-color: #d7d4f5;
  }
  
  @media (max-width: 640px) {
    .InputDesign_uploadBox__qCo5e {
      padding: 15px;
    }
  }
  
  .InputDesign_uploadLabel__FA9qH {
    color: #0f0f0f;
    font-family: "Poppins", sans-serif;
    font-size: 19px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 23px;
  }
  
  .InputDesign_uploadArea__FaBPT {
    border: 0.85px dashed #384eb7;
    border-radius: 3.419px;
    height: 365px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #f8f8ff;
  }
  
  @media (max-width: 640px) {
    .InputDesign_uploadArea__FaBPT {
      height: 250px;
    }
  }
  
  .InputDesign_uploadIcon__AmMW5 {
    color: #483ea8;
    font-size: 48px;
  }
  
  .InputDesign_dragText__JIFzT {
    color: #333;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
  }
  
  .InputDesign_browseLink__49n0i {
    color: #483ea8;
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font: inherit;
  }
  
  .InputDesign_supportedFormats__Od-1v {
    color: #666;
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    margin-top: 10px;
  }
  
  .InputDesign_uploadButton__\+yF2K {
    width: 100%;
    opacity: 0.5;
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 7.694px 11.968px;
    border: none;
    border-radius: 3.419px;
    margin-top: 26px;
    cursor: pointer;
    background-color: #483ea8;
  }
  
  .InputDesign_actionsSection__wCQMl {
    flex: 1 1;
  }
  
  @media (max-width: 991px) {
    .InputDesign_actionsSection__wCQMl {
      width: 100%;
    }
  }
  
  .InputDesign_actionButtons__tADtD {
    display: flex;
    gap: 49px;
    margin-bottom: 29px;
  }
  
  @media (max-width: 991px) {
    .InputDesign_actionButtons__tADtD {
      flex-direction: column;
      align-items: center;
      gap: 20px;
    }
  }
  
  .InputDesign_actionButton__n6x6r {
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #5d52d9;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    width: 264px;
    background: none;
    gap: 10px;
  }
  
  @media (max-width: 991px) {
    .InputDesign_actionButton__n6x6r {
      width: 100%;
      max-width: 264px;
    }
  }
  
  @media (max-width: 640px) {
    .InputDesign_actionButton__n6x6r {
      padding: 8px;
    }
  }
  
  .InputDesign_span__IesA8 {
    color: #5d52d9;
    font-family: "Poppins", sans-serif;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.242px;
  }
  
  @media (max-width: 640px) {
    .InputDesign_span__IesA8 {
      font-size: 18px;
    }
  }
  
  .InputDesign_actionButtonsSecondRow__zMb\+U {
    display: flex;
    gap: 49px;
    margin-bottom: 29px;
  }
  
  @media (max-width: 991px) {
    .InputDesign_actionButtonsSecondRow__zMb\+U {
      flex-direction: column;
      align-items: center;
      gap: 20px;
    }
  }
  
  .InputDesign_illustration__Sx5yp {
    margin-top: 29px;
  }
  
  .InputDesign_img__ANXz6 {
    width: 100%;
    height: 414px;
    border-radius: 8px;
    object-fit: contain;
  }
  
@charset "UTF-8";
.react-datepicker__navigation-icon::before, .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  border-color: #ccc;
  border-style: solid;
  border-width: 3px 3px 0 0;
  content: "";
  display: block;
  height: 9px;
  position: absolute;
  top: 6px;
  width: 9px;
}
.react-datepicker-wrapper {
  display: inline-block;
  padding: 0;
  border: 0;
}

.react-datepicker {
  font-family: "Helvetica Neue", helvetica, arial, sans-serif;
  font-size: 0.8rem;
  background-color: #fff;
  color: #000;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  display: inline-block;
  position: relative;
  line-height: normal;
  line-height: initial;
}

.react-datepicker--time-only .react-datepicker__time-container {
  border-left: 0;
}
.react-datepicker--time-only .react-datepicker__time,
.react-datepicker--time-only .react-datepicker__time-box {
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.react-datepicker-popper {
  z-index: 1;
  line-height: 0;
}
.react-datepicker-popper .react-datepicker__triangle {
  stroke: #aeaeae;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
  fill: #f0f0f0;
  color: #f0f0f0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
  fill: #fff;
  color: #fff;
}

.react-datepicker__header {
  text-align: center;
  background-color: #f0f0f0;
  border-bottom: 1px solid #aeaeae;
  border-top-left-radius: 0.3rem;
  padding: 8px 0;
  position: relative;
}
.react-datepicker__header--time {
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}
.react-datepicker__header--time:not(.react-datepicker__header--time--only) {
  border-top-left-radius: 0;
}
.react-datepicker__header:not(.react-datepicker__header--has-time-select) {
  border-top-right-radius: 0.3rem;
}

.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__month-year-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll,
.react-datepicker__month-year-dropdown-container--scroll {
  display: inline-block;
  margin: 0 15px;
}

.react-datepicker__current-month,
.react-datepicker-time__header,
.react-datepicker-year-header {
  margin-top: 0;
  color: #000;
  font-weight: bold;
  font-size: 0.944rem;
}

h2.react-datepicker__current-month {
  padding: 0;
  margin: 0;
}

.react-datepicker-time__header {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.react-datepicker__navigation {
  align-items: center;
  background: none;
  display: flex;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 2px;
  padding: 0;
  border: none;
  z-index: 1;
  height: 32px;
  width: 32px;
  text-indent: -999em;
  overflow: hidden;
}
.react-datepicker__navigation--previous {
  left: 2px;
}
.react-datepicker__navigation--next {
  right: 2px;
}
.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
  right: 85px;
}
.react-datepicker__navigation--years {
  position: relative;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__navigation--years-previous {
  top: 4px;
}
.react-datepicker__navigation--years-upcoming {
  top: -4px;
}
.react-datepicker__navigation:hover *::before {
  border-color: rgb(165.75, 165.75, 165.75);
}

.react-datepicker__navigation-icon {
  position: relative;
  top: -1px;
  font-size: 20px;
  width: 0;
}
.react-datepicker__navigation-icon--next {
  left: -2px;
}
.react-datepicker__navigation-icon--next::before {
  transform: rotate(45deg);
  left: -7px;
}
.react-datepicker__navigation-icon--previous {
  right: -2px;
}
.react-datepicker__navigation-icon--previous::before {
  transform: rotate(225deg);
  right: -7px;
}

.react-datepicker__month-container {
  float: left;
}

.react-datepicker__year {
  margin: 0.4rem;
  text-align: center;
}
.react-datepicker__year-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 180px;
}
.react-datepicker__year .react-datepicker__year-text {
  display: inline-block;
  width: 4rem;
  margin: 2px;
}

.react-datepicker__month {
  margin: 0.4rem;
  text-align: center;
}
.react-datepicker__month .react-datepicker__month-text,
.react-datepicker__month .react-datepicker__quarter-text {
  display: inline-block;
  width: 4rem;
  margin: 2px;
}

.react-datepicker__input-time-container {
  clear: both;
  width: 100%;
  float: left;
  margin: 5px 0 10px 15px;
  text-align: left;
}
.react-datepicker__input-time-container .react-datepicker-time__caption {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {
  display: inline-block;
  margin-left: 10px;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {
  width: auto;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {
  -moz-appearance: textfield;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {
  margin-left: 5px;
  display: inline-block;
}

.react-datepicker__time-container {
  float: right;
  border-left: 1px solid #aeaeae;
  width: 85px;
}
.react-datepicker__time-container--with-today-button {
  display: inline;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  position: absolute;
  right: -87px;
  top: 0;
}
.react-datepicker__time-container .react-datepicker__time {
  position: relative;
  background: white;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {
  width: 85px;
  overflow-x: hidden;
  margin: 0 auto;
  text-align: center;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
  list-style: none;
  margin: 0;
  height: calc(195px + 1.7rem / 2);
  overflow-y: scroll;
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  box-sizing: content-box;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {
  height: 30px;
  padding: 5px 10px;
  white-space: nowrap;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {
  cursor: pointer;
  background-color: #f0f0f0;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {
  background-color: #216ba5;
  color: white;
  font-weight: bold;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {
  background-color: #216ba5;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {
  color: #ccc;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {
  cursor: default;
  background-color: transparent;
}

.react-datepicker__week-number {
  color: #ccc;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable {
  cursor: pointer;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__week-number--selected {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__week-number--selected:hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}

.react-datepicker__day-names {
  white-space: nowrap;
  margin-bottom: -8px;
}

.react-datepicker__week {
  white-space: nowrap;
}

.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
  color: #000;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}

.react-datepicker__day,
.react-datepicker__month-text,
.react-datepicker__quarter-text,
.react-datepicker__year-text {
  cursor: pointer;
}
.react-datepicker__day:not([aria-disabled=true]):hover,
.react-datepicker__month-text:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text:not([aria-disabled=true]):hover,
.react-datepicker__year-text:not([aria-disabled=true]):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__day--today,
.react-datepicker__month-text--today,
.react-datepicker__quarter-text--today,
.react-datepicker__year-text--today {
  font-weight: bold;
}
.react-datepicker__day--highlighted,
.react-datepicker__month-text--highlighted,
.react-datepicker__quarter-text--highlighted,
.react-datepicker__year-text--highlighted {
  border-radius: 0.3rem;
  background-color: #3dcc4a;
  color: #fff;
}
.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover {
  background-color: rgb(49.8551020408, 189.6448979592, 62.5632653061);
}
.react-datepicker__day--highlighted-custom-1,
.react-datepicker__month-text--highlighted-custom-1,
.react-datepicker__quarter-text--highlighted-custom-1,
.react-datepicker__year-text--highlighted-custom-1 {
  color: magenta;
}
.react-datepicker__day--highlighted-custom-2,
.react-datepicker__month-text--highlighted-custom-2,
.react-datepicker__quarter-text--highlighted-custom-2,
.react-datepicker__year-text--highlighted-custom-2 {
  color: green;
}
.react-datepicker__day--holidays,
.react-datepicker__month-text--holidays,
.react-datepicker__quarter-text--holidays,
.react-datepicker__year-text--holidays {
  position: relative;
  border-radius: 0.3rem;
  background-color: #ff6803;
  color: #fff;
}
.react-datepicker__day--holidays .overlay,
.react-datepicker__month-text--holidays .overlay,
.react-datepicker__quarter-text--holidays .overlay,
.react-datepicker__year-text--holidays .overlay {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}
.react-datepicker__day--holidays:not([aria-disabled=true]):hover,
.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover {
  background-color: rgb(207, 82.9642857143, 0);
}
.react-datepicker__day--holidays:hover .overlay,
.react-datepicker__month-text--holidays:hover .overlay,
.react-datepicker__quarter-text--holidays:hover .overlay,
.react-datepicker__year-text--holidays:hover .overlay {
  visibility: visible;
  opacity: 1;
}
.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range,
.react-datepicker__month-text--selected,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--selected,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--selected,
.react-datepicker__year-text--in-selecting-range,
.react-datepicker__year-text--in-range {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__day--selected:not([aria-disabled=true]):hover, .react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover, .react-datepicker__day--in-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--keyboard-selected,
.react-datepicker__month-text--keyboard-selected,
.react-datepicker__quarter-text--keyboard-selected,
.react-datepicker__year-text--keyboard-selected {
  border-radius: 0.3rem;
  background-color: rgb(186.25, 217.0833333333, 241.25);
  color: rgb(0, 0, 0);
}
.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range) {
  background-color: rgba(33, 107, 165, 0.5);
}
.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range), .react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range) {
  background-color: #f0f0f0;
  color: #000;
}
.react-datepicker__day--disabled,
.react-datepicker__month-text--disabled,
.react-datepicker__quarter-text--disabled,
.react-datepicker__year-text--disabled {
  cursor: default;
  color: #ccc;
}
.react-datepicker__day--disabled .overlay,
.react-datepicker__month-text--disabled .overlay,
.react-datepicker__quarter-text--disabled .overlay,
.react-datepicker__year-text--disabled .overlay {
  position: absolute;
  bottom: 70%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}

.react-datepicker__input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}
.react-datepicker__input-container .react-datepicker__calendar-icon {
  position: absolute;
  padding: 0.5rem;
  box-sizing: content-box;
}

.react-datepicker__view-calendar-icon input {
  padding: 6px 10px 5px 25px;
}

.react-datepicker__year-read-view,
.react-datepicker__month-read-view,
.react-datepicker__month-year-read-view {
  border: 1px solid transparent;
  border-radius: 0.3rem;
  position: relative;
}
.react-datepicker__year-read-view:hover,
.react-datepicker__month-read-view:hover,
.react-datepicker__month-year-read-view:hover {
  cursor: pointer;
}
.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  transform: rotate(135deg);
  right: -16px;
  top: 0;
}

.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
  background-color: #f0f0f0;
  position: absolute;
  width: 50%;
  left: 25%;
  top: 30px;
  z-index: 1;
  text-align: center;
  border-radius: 0.3rem;
  border: 1px solid #aeaeae;
}
.react-datepicker__year-dropdown:hover,
.react-datepicker__month-dropdown:hover,
.react-datepicker__month-year-dropdown:hover {
  cursor: pointer;
}
.react-datepicker__year-dropdown--scrollable,
.react-datepicker__month-dropdown--scrollable,
.react-datepicker__month-year-dropdown--scrollable {
  height: 150px;
  overflow-y: scroll;
}

.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
  line-height: 20px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__year-option:first-of-type,
.react-datepicker__month-option:first-of-type,
.react-datepicker__month-year-option:first-of-type {
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.react-datepicker__year-option:last-of-type,
.react-datepicker__month-option:last-of-type,
.react-datepicker__month-year-option:last-of-type {
  -webkit-user-select: none;
  user-select: none;
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__year-option:hover,
.react-datepicker__month-option:hover,
.react-datepicker__month-year-option:hover {
  background-color: #ccc;
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {
  border-bottom-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option--selected,
.react-datepicker__month-option--selected,
.react-datepicker__month-year-option--selected {
  position: absolute;
  left: 15px;
}

.react-datepicker__close-icon {
  cursor: pointer;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0 6px 0 0;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: table-cell;
  vertical-align: middle;
}
.react-datepicker__close-icon::after {
  cursor: pointer;
  background-color: #216ba5;
  color: #fff;
  border-radius: 50%;
  height: 16px;
  width: 16px;
  padding: 2px;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  content: "×";
}
.react-datepicker__close-icon--disabled {
  cursor: default;
}
.react-datepicker__close-icon--disabled::after {
  cursor: default;
  background-color: #ccc;
}

.react-datepicker__today-button {
  background: #f0f0f0;
  border-top: 1px solid #aeaeae;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  clear: left;
}

.react-datepicker__portal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  top: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  z-index: 2147483647;
}
.react-datepicker__portal .react-datepicker__day-name,
.react-datepicker__portal .react-datepicker__day,
.react-datepicker__portal .react-datepicker__time-name {
  width: 3rem;
  line-height: 3rem;
}
@media (max-width: 400px), (max-height: 550px) {
  .react-datepicker__portal .react-datepicker__day-name,
  .react-datepicker__portal .react-datepicker__day,
  .react-datepicker__portal .react-datepicker__time-name {
    width: 2rem;
    line-height: 2rem;
  }
}
.react-datepicker__portal .react-datepicker__current-month,
.react-datepicker__portal .react-datepicker-time__header {
  font-size: 1.44rem;
}

.react-datepicker__children-container {
  width: 13.8rem;
  margin: 0.4rem;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
  height: auto;
}

.react-datepicker__aria-live {
  position: absolute;
  -webkit-clip-path: circle(0);
          clip-path: circle(0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  width: 1px;
  white-space: nowrap;
}

.react-datepicker__calendar-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
}

/* Minimal CSS - Only for CodeMirror overrides and scrollbar styling that can't be done with Tailwind */

/* CodeMirror specific overrides */
.code-mirror-icode {
  height: 100% !important;
  width: 100% !important;
}

.code-mirror-icode .cm-editor {
  height: 100% !important;
  width: 100% !important;
}

.code-mirror-icode .cm-editor .cm-content {
  padding: 16px !important;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
}

.code-mirror-icode {
  cursor: default;
}

/* Custom scrollbar styling - Webkit browsers */
.problem-panel-scrollable::-webkit-scrollbar,
.console-panel-scrollable::-webkit-scrollbar {
  width: 10px;
}

.problem-panel-scrollable::-webkit-scrollbar-track,
.console-panel-scrollable::-webkit-scrollbar-track {
  background: hsl(var(--muted) / 0.1);
  border-radius: 4px;
}

.problem-panel-scrollable::-webkit-scrollbar-thumb,
.console-panel-scrollable::-webkit-scrollbar-thumb {
  background-color: hsl(var(--muted));
  border-radius: 4px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

.problem-panel-scrollable::-webkit-scrollbar-thumb:hover,
.console-panel-scrollable::-webkit-scrollbar-thumb:hover {
  background-color: hsl(var(--muted-foreground) / 0.5);
}

/* Ensure scrollbar is always visible when content overflows */
.console-panel-scrollable {
  overflow-y: auto !important;
  scrollbar-gutter: stable;
}

/* Prose styling for problem description */
.prose code {
  border-radius: var(--radius);
  background-color: var(--muted);
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: var(--text-sm);
  color: var(--foreground);
}

.prose pre {
  overflow-x: auto;
  border-radius: var(--radius-lg);
  background-color: var(--muted);
  padding: 1rem;
}

.prose pre code {
  background-color: transparent;
  padding: 0px;
}

/* Override ivisualizer positioning for header */
.ivisualizer-header .ivisualizer {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  background: black !important;
}

.ivisualizer-header .ivisualizer canvas {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

/* Responsive Design - Handled via Tailwind classes in JSX */

/* Modern Dashboard Layout */
.dashboard {
  background-color: #f8fafc;
  display: flex;
  flex-direction: column;
  padding: 0;
}

.page-container {
  min-height: 100vh;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
}

.all-candidates {
  background: #f8fafc !important;
  padding: 2rem 1rem;
}

.contentWrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
}

.ddashboard.tc-us {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 2rem;
  gap: 2rem;
  align-items: start;
}

@media (max-width: 768px) {
  .ddashboard.tc-us {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  
  .all-candidates {
    padding: 1rem 0.5rem;
  }
  
  .contentWrapper {
    padding: 0;
  }
}

/* Loader container to center it */
.loader-container {
  position: fixed;
  /* Fix the position relative to the viewport */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  /* Horizontally center */
  align-items: center;
  /* Vertically center */
  background-color: rgba(255, 255, 255, 0.8);
  /* Optional: add semi-transparent background */
  z-index: 1000;
  /* Ensure it is on top of other content */
}

/* Loader style */
.loader {
  border: 4px solid #f3f3f3;
  /* Light grey background */
  border-top: 4px solid #3498db;
  /* Blue spinner */
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.mainContent {
  display: flex;
  justify-content: center;
  /* Centers content horizontally */
  padding: 0px 50px;
  /* Adjust as needed */
  background: #F7F7F7;
}

.contentWrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  width: 100%;
}

.loader-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: transparent;
  /* Transparent background */
  position: fixed;
  /* Make it overlay the entire screen */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 6px solid #f3f3f3;
  border-top: 6px solid #3498db;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* UserDashboard.module.css */
.dashboard {
  min-height: 100vh;
  background: #f8fafc;
}

.loadingContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  gap: 16px;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f4f6;
  border-top: 4px solid #3b82f6;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Popup Styles */
.popupOverlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}

.popup {
  background: white;
  border-radius: 12px;
  padding: 0;
  max-width: 500px;
  width: 100%;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  animation: popIn 0.3s ease-out;
}

@keyframes popIn {
  from {
    opacity: 0;
    transform: scale(0.9) translateY(-10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.popupHeader {
  display: flex;
  justify-content: between;
  align-items: center;
  padding: 24px 24px 0;
}

.popupHeader h2 {
  margin: 0;
  color: #dc2626;
  font-size: 1.5rem;
}

.closeButton {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #6b7280;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.closeButton:hover {
  color: #374151;
  background: #f3f4f6;
  border-radius: 50%;
}

.popupContent {
  padding: 24px;
  text-align: center;
}

.warningIcon {
  font-size: 48px;
  margin-bottom: 16px;
}

.popupContent h3 {
  margin: 0 0 12px 0;
  color: #1f2937;
}

.popupContent p {
  margin: 0 0 16px 0;
  color: #6b7280;
  line-height: 1.5;
}

.missingFields {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 16px;
  margin: 16px 0;
  text-align: left;
}

.missingField {
  color: #dc2626;
  padding: 4px 0;
  font-weight: 500;
}

.note {
  font-size: 0.875rem;
  color: #dc2626;
  background: #fef2f2;
  padding: 12px;
  border-radius: 6px;
  margin: 16px 0 0 0 !important;
}

.popupActions {
  display: flex;
  gap: 12px;
  padding: 0 24px 24px;
}

.primaryButton {
  flex: 1 1;
  background: #dc2626;
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}

.primaryButton:hover {
  background: #b91c1c;
}

.secondaryButton {
  flex: 1 1;
  background: #f3f4f6;
  color: #374151;
  border: 1px solid #d1d5db;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}

.secondaryButton:hover {
  background: #e5e7eb;
}

/* Validation Summary Styles */
.validationSummary {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 16px;
  margin: 16px 0;
}

.validationSummary h4 {
  margin: 0 0 8px 0;
  color: #dc2626;
}

.validationSummary ul {
  margin: 0;
  padding-left: 20px;
}

.validationSummary li {
  color: #dc2626;
  margin: 4px 0;
}

.dashboardContent {
  padding: 40px 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.dashboardContent h1 {
  color: #1f2937;
  margin-bottom: 16px;
}

.dashboardContent p {
  color: #6b7280;
  font-size: 1.125rem;
}
/* Main Container */
.code-container {
  display: grid;
  grid-template-columns: 35% 65%;
  height: 100vh;
  background-color: #1e1e1e;
  color: #ffffff;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Left Panel - Question Section */
.question-section {
  background-color: #282c34;
  padding: 20px;
  border-right: 2px solid #61dafb;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.question-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  border-bottom: 1px solid #444;
  padding-bottom: 15px;
}

.question-title {
  font-size: 22px;
  font-weight: 600;
  color: #61dafb;
  margin: 0;
}

.question-content {
  flex: 1 1;
  overflow-y: auto;
}

.question-text {
  font-size: 16px;
  color: #e0e0e0;
  line-height: 1.6;
  margin-bottom: 20px;
}

/* Next Question Button */
.next-question-button {
  background-color: #5d52d9;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.next-question-button:hover {
  background-color: #6e64e2;
  transform: translateY(-1px);
}

.next-question-button:active {
  transform: translateY(0);
}

/* Test Cases */
.test-cases-heading {
  font-size: 18px;
  color: #61dafb;
  margin-bottom: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid #444;
}

.test-cases {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.test-case {
  background: #3a3f4b;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.5;
}

.test-case strong {
  color: #f0f0f0;
  font-weight: 600;
}

/* Right Panel - Editor Section */
.editor-section {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background-color: #1e1e1e;
}

.editor-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}

.button-group {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Language Select */
.language-select {
  padding: 8px 12px;
  font-size: 14px;
  border-radius: 6px;
  background: #2d2d2d;
  color: #ffffff;
  border: 1px solid #444;
  min-width: 120px;
  cursor: pointer;
}

.language-select:focus {
  outline: none;
  border-color: #61dafb;
}

/* Buttons */
.run-button,
.analyze-button,
.fullscreen-button {
  padding: 8px 16px;
  font-size: 14px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s ease;
}

.run-button {
  background-color: #5d52d9;
  color: white;
}

.analyze-button {
  background-color: #ff9800;
  color: white;
}

.fullscreen-button {
  background-color: #444;
  color: white;
}

.run-button:hover {
  background-color: #6e64e2;
  transform: translateY(-1px);
}

.analyze-button:hover {
  background-color: #ff8c00;
  transform: translateY(-1px);
}

.fullscreen-button:hover {
  background-color: #555;
  transform: translateY(-1px);
}

.run-button:active,
.analyze-button:active,
.fullscreen-button:active {
  transform: translateY(0);
}

/* Code Mirror Editor */
.code-mirror {
  flex: 1 1;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #444;
}

/* Test Results Section */
.test-results-container {
  background-color: #2c2f36;
  border-radius: 8px;
  padding: 15px;
  color: #ffffff;
}

.test-results-container h3 {
  font-size: 18px;
  color: #61dafb;
  margin-top: 0;
  margin-bottom: 12px;
}

.test-summary {
  font-weight: 500;
  margin-bottom: 10px;
}

.test-results-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.test-passed,
.test-failed {
  padding: 10px;
  margin-bottom: 10px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.5;
}

.test-passed {
  background-color: rgba(40, 167, 69, 0.1);
  border-left: 4px solid #28a745;
}

.test-failed {
  background-color: rgba(220, 53, 69, 0.1);
  border-left: 4px solid #dc3545;
}

.error-message {
  color: #ff6b6b;
  font-family: monospace;
}

/* Analysis Section */
.analysis-container {
  background-color: #2c2f36;
  border-radius: 8px;
  padding: 15px;
}

.analysis-container h3 {
  font-size: 18px;
  color: #61dafb;
  margin-top: 0;
  margin-bottom: 12px;
}

.analysis-box,
.corrected-code {
  white-space: pre-wrap;
  background-color: #1f2229;
  padding: 12px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 10px;
  overflow-x: auto;
}

.corrected-code {
  border-left: 4px solid #5d52d9;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .code-container {
    grid-template-columns: 40% 60%;
  }
}

@media (max-width: 768px) {
  .code-container {
    grid-template-columns: 1fr;
    height: auto;
  }
  
  .question-section {
    border-right: none;
    border-bottom: 2px solid #61dafb;
  }
  
  .editor-header {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .button-group {
    width: 100%;
    justify-content: space-between;
  }
}
/* Schedule Container */
.schedule-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40%;
  /* Adjust width for responsiveness */
  max-width: 1000px;
  /* Limit the maximum width */
  background-color: #ffffff;
  border-radius: 15px;
  padding: 25px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  /* Add a shadow for better visibility */
  z-index: 1000;
  font-family: "Poppins", sans-serif;
}

/* Schedule Content */
.schedule-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  /* Consistent spacing between form sections */
}

/* Form Labels */
.schedule-form label {
  font-size: 16px;
  font-weight: 600;
  color: #333333;
  margin-bottom: 8px;
}

/* Input Fields and Select Boxes */
.schedule-form select,
.schedule-form input {
  width: 100%;
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
  color: #333;
  background-color: #f9f9f9;
  transition: border-color 0.3s;
}

.schedule-form select:focus,
.schedule-form input:focus {
  border-color: #5d52d9;
  outline: none;
  box-shadow: 0 0 6px rgba(93, 82, 217, 0.3);
  /* Subtle glow on focus */
}

/* Schedule Button */
.schedule-buttonn {
  background-color: #5d52d9;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 8px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s;
}

.schedule-buttonn:hover {
  background-color: #4b41b7;
  transform: translateY(-2px);
}

.schedule-buttonn:active {
  transform: scale(0.98);
}

.schedule-buttonn .get-link {
  margin-left: 20px;
}

/* Close Icon */
.close-icon {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 24px;
  height: 24px;
  cursor: pointer;
  transition: opacity 0.3s;
}

.close-icon:hover {
  opacity: 0.8;
}

/* Responsive Design */
@media (max-width: 768px) {
  .schedule-container {
    width: 95%;
    /* Ensure it fits on smaller screens */
    max-width: 400px;
    /* Adjust max width for tablets */
    padding: 15px 20px;
  }

  .schedule-button {
    font-size: 14px;
    padding: 10px;
  }

  .close-icon {
    width: 20px;
    height: 20px;
  }
}
/* ViewJobs.css - Unique styles for admin job listing view */

.admin-viewjobs-wrapper-section {
  background-color: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
}

.admin-viewjobs-top-header {
  align-self: center;
  display: flex;
  width: 100%;
  align-items: start;
  gap: 20px;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.24px;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* Read-only version for normal admins */
.admin-viewjobs-top-header-readonly {
  align-self: center;
  display: flex;
  width: 100%;
  align-items: start;
  gap: 20px;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.24px;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #f8f9fa;
  padding: 12px;
  border-radius: 8px;
  border: 1px dashed #dee2e6;
}

.admin-viewjobs-title-area {
  display: flex;
  margin-top: 5px;
  padding: 12px 12px 12px 16px;
  align-items: center;
  gap: 8px;
  font-family: Roboto, sans-serif;
  color: #000;
  font-weight: 600;
}

.admin-viewjobs-title-text {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
}

.admin-viewjobs-title-icon {
  aspect-ratio: 1;
  object-fit: contain;
  width: 24px;
}

.admin-viewjobs-postjob-wrapper {
  gap: 10px;
  position: relative;
}

.admin-viewjobs-postjob-button {
  align-self: stretch;
  border-radius: 8px;
  background-color: #5d52d9;
  border: 1px solid #1f00ad;
  padding: 10px 20px;
  font-family: Poppins, sans-serif;
  color: #fff;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.admin-viewjobs-postjob-button:hover {
  background-color: #4a3fc4;
}

.admin-viewjobs-postjob-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background: white;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
  min-width: 200px;
  z-index: 10;
  margin-top: 5px;
}

.admin-viewjobs-postjob-menuitem {
  width: 100%;
  padding: 12px 16px;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  color: #333;
  transition: background-color 0.2s ease;
}

.admin-viewjobs-postjob-menuitem:hover {
  background-color: #f8f9fa;
}

.admin-viewjobs-postjob-menuitem:not(:last-child) {
  border-bottom: 1px solid #e9ecef;
}

.admin-viewjobs-main-container {
  width: 100%;
  padding: 20px;
}

/* Loader styles */
.admin-viewjobs-loader-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
}

.admin-viewjobs-spinner {
  border: 4px solid #f3f3f3;
  border-top: 4px solid #5d52d9;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: admin-viewjobs-spin-animation 1s linear infinite;
}

@keyframes admin-viewjobs-spin-animation {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Read-only indicator for normal admins */
.admin-viewjobs-top-header-readonly .admin-viewjobs-title-area::after {
  content: '(Read Only)';
  font-size: 12px;
  color: #6c757d;
  font-weight: 400;
  margin-left: 8px;
  font-style: italic;
}


.view-test-dashboard-container {
  font-family: 'Poppins', sans-serif;
  text-align: center;
  padding: 30px;
  color: #333;
  background-color: #f8f9fa;
  min-height: 100vh;
}

.view-test-title {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #2c3e50;
  text-align: center;
}

.view-test-job-info {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  padding: 25px;
  margin-bottom: 30px;
  text-align: left;
  color: white;
  box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
}

.view-test-job-info h2 {
  margin: 0 0 8px 0;
  color: white;
  font-size: 28px;
  font-weight: 600;
}

.view-test-job-info p {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  font-weight: 400;
}

.view-test-subtitle {
  margin: 4px 0;
  font-size: 16px;
}

.view-test-location {
  font-size: 14px;
  color: gray;
}

.view-test-tabs {
  display: flex;
  justify-content: center;
  gap: 0;
  margin: 30px 0;
  background-color: white;
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.view-test-tabs span {
  padding: 12px 24px;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 8px;
  font-weight: 500;
  font-size: 14px;
  color: #6c757d;
  position: relative;
  flex: 1 1;
  text-align: center;
}

.view-test-tabs span:hover {
  color: #6200ea;
  background-color: #f8f9fa;
}

.view-test-active-tab {
  background: linear-gradient(135deg, #6200ea 0%, #4a148c 100%);
  color: white !important;
  box-shadow: 0 4px 15px rgba(98, 0, 234, 0.3);
}

.view-test-top-actions {
  position: relative;
  text-align: left;
  margin: 20px 0 10px 20px;
}

.view-test-dropdown-btn {
  background: linear-gradient(135deg, #6200ea 0%, #4a148c 100%);
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 500;
  box-shadow: 0 4px 15px rgba(98, 0, 234, 0.3);
  transition: all 0.3s ease;
}

.view-test-dropdown-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(98, 0, 234, 0.4);
}

.view-test-dropdown-menu {
  background-color: white;
  border: 1px solid #e9ecef;
  width: 180px;
  margin-top: 8px;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  position: absolute;
  z-index: 1;
  overflow: hidden;
}

.view-test-dropdown-menu div {
  padding: 12px 16px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  border-bottom: 1px solid #f8f9fa;
}

.view-test-dropdown-menu div:last-child {
  border-bottom: none;
}

.view-test-dropdown-menu div:hover {
  background-color: #f8f9fa;
  color: #6200ea;
}

.view-test-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
  grid-gap: 25px;
  gap: 25px;
  padding: 20px;
  max-width: 1400px;
  margin: 0 auto;
}

.view-test-card {
  background-color: white;
  border: none;
  border-radius: 16px;
  padding: 25px;
  text-align: left;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.view-test-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #6200ea 0%, #4a148c 100%);
}

.view-test-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.view-test-card-header {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #f8f9fa;
  position: relative;
  min-height: 40px;
}

.view-test-card-header h3 {
  margin: 0;
  color: #2c3e50;
  font-size: 20px;
  font-weight: 600;
  margin-left: 70px; /* Space for the test ID */
  flex: 1 1;
}

.view-test-test-id {
  font-size: 12px;
  color: #6c757d;
  background-color: #f8f9fa;
  padding: 6px 12px;
  border-radius: 20px;
  font-weight: 500;
  border: 1px solid #e9ecef;
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
}

.view-test-card-content {
  flex: 1 1;
}

.view-test-card p {
  margin: 12px 0;
  font-size: 14px;
  line-height: 1.6;
  color: #495057;
}

.view-test-candidate-info {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  padding: 18px;
  margin-bottom: 20px;
  border-left: 4px solid #6200ea;
  position: relative;
}

.view-test-candidate-info::before {
  content: '👤';
  position: absolute;
  top: 18px;
  right: 18px;
  font-size: 20px;
  opacity: 0.3;
}

.view-test-candidate-info h4 {
  margin: 0 0 6px 0;
  color: #2c3e50;
  font-size: 18px;
  font-weight: 600;
}

.view-test-candidate-email {
  margin: 0;
  color: #6c757d;
  font-size: 13px;
  font-style: italic;
}

.view-test-test-status {
  margin: 20px 0;
  padding: 15px;
  border-radius: 12px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
}

.view-test-test-status p {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 500;
}

.view-test-status {
  padding: 8px 16px;
  border-radius: 25px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.view-test-status.view-test-completed {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);
}

.view-test-status.view-test-completed::before {
  content: '✓';
  font-weight: bold;
}

.view-test-status.view-test-pending {
  background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3);
}

.view-test-status.view-test-pending::before {
  content: '⏳';
}

.view-test-candidates-section {
  margin: 15px 0;
}

.view-test-candidate-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.view-test-candidate-tag {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  color: #1976d2;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid #90caf9;
  transition: all 0.2s ease;
}

.view-test-candidate-tag:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.2);
}

.view-test-no-candidates {
  color: #6c757d;
  font-style: italic;
  font-size: 13px;
  text-align: center;
  padding: 10px;
  background-color: #f8f9fa;
  border-radius: 8px;
  border: 1px dashed #dee2e6;
}

.view-test-btn-row {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
  gap: 12px;
}

.view-test-btn {
  border: none;
  border-radius: 8px;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  flex: 1 1;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
}

.view-test-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}

.view-test-btn:hover::before {
  left: 100%;
}

.view-test-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.view-test-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.view-test-btn:disabled:hover {
  transform: none;
  box-shadow: none;
}

.view-test-reschedule {
  background: linear-gradient(135deg, #6200ea 0%, #4a148c 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(98, 0, 234, 0.3);
}

.view-test-reschedule:hover {
  background: linear-gradient(135deg, #4a148c 0%, #3f0d7e 100%);
  box-shadow: 0 6px 20px rgba(98, 0, 234, 0.4);
}

.view-test-delete {
  background: linear-gradient(135deg, #e53935 0%, #c62828 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(229, 57, 53, 0.3);
}

.view-test-delete:hover {
  background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%);
  box-shadow: 0 6px 20px rgba(229, 57, 53, 0.4);
}

.view-test-result {
  background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(255, 152, 0, 0.3);
}

.view-test-result:hover {
  background: linear-gradient(135deg, #f57c00 0%, #ef6c00 100%);
  box-shadow: 0 6px 20px rgba(255, 152, 0, 0.4);
}

/* Delete Confirmation Popup */
.view-test-delete-confirm-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.view-test-delete-confirm-popup {
  background-color: white;
  border-radius: 20px;
  padding: 35px;
  max-width: 500px;
  width: 90%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: viewTestSlideIn 0.3s ease-out;
}

@keyframes viewTestSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.view-test-delete-confirm-popup h3 {
  margin: 0 0 25px 0;
  color: #e53935;
  font-size: 26px;
  font-weight: 700;
  text-align: center;
}

.view-test-delete-details {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 25px;
  border: 1px solid #dee2e6;
}

.view-test-delete-details p {
  margin: 10px 0;
  font-size: 14px;
  color: #495057;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.view-test-delete-details strong {
  color: #2c3e50;
  font-weight: 600;
}

.view-test-delete-warning {
  color: #e53935;
  font-weight: 600;
  margin-bottom: 30px;
  padding: 15px;
  background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%);
  border-radius: 12px;
  border-left: 5px solid #e53935;
  font-size: 14px;
  line-height: 1.5;
}

.view-test-delete-actions {
  display: flex;
  gap: 15px;
  justify-content: center;
}

.view-test-delete-actions .view-test-btn {
  padding: 12px 30px;
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.view-test-delete-actions .view-test-cancel {
  background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(108, 117, 125, 0.3);
}

.view-test-delete-actions .view-test-cancel:hover {
  background: linear-gradient(135deg, #5a6268 0%, #495057 100%);
  box-shadow: 0 6px 20px rgba(108, 117, 125, 0.4);
  transform: translateY(-2px);
}

.view-test-delete-actions .view-test-delete-confirm {
  background: linear-gradient(135deg, #e53935 0%, #c62828 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(229, 57, 53, 0.3);
}

.view-test-delete-actions .view-test-delete-confirm:hover {
  background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%);
  box-shadow: 0 6px 20px rgba(229, 57, 53, 0.4);
  transform: translateY(-2px);
}

/* Reschedule Popup Styles */
.view-test-reschedule-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.view-test-reschedule-popup {
  background-color: white;
  border-radius: 12px;
  width: 100%;
  max-width: 450px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  animation: fadeIn 0.3s ease;
}

.view-test-reschedule-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #eee;
}

.view-test-reschedule-header h3 {
  margin: 0;
  font-size: 1.3rem;
  color: #333;
}

.view-test-reschedule-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
  padding: 0;
  line-height: 1;
}

.view-test-reschedule-close:hover {
  color: #333;
}

.view-test-reschedule-content {
  padding: 20px;
}

.view-test-reschedule-candidate {
  margin-bottom: 20px;
  font-size: 1rem;
  color: #444;
}

.view-test-reschedule-form {
  display: grid;
  grid-gap: 20px;
  gap: 20px;
}

.view-test-reschedule-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.view-test-reschedule-field label {
  font-weight: 500;
  color: #555;
  font-size: 0.9rem;
}

.view-test-reschedule-field input {
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 1rem;
  transition: border-color 0.2s;
}

.view-test-reschedule-field input:focus {
  outline: none;
  border-color: #4a6bff;
}

.view-test-reschedule-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px;
  border-top: 1px solid #eee;
}

.view-test-reschedule-cancel {
  background-color: #f5f5f5;
  color: #555;
}

.view-test-reschedule-cancel:hover {
  background-color: #e0e0e0;
}

.view-test-reschedule-confirm {
  background-color: #4a6bff;
  color: white;
}

.view-test-reschedule-confirm:disabled {
  background-color: #a0a0a0;
  cursor: not-allowed;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* DateTime Selector Styles */
.datetime-selector-container {
  margin-top: 8px;
}

.datetime-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 1rem;
  transition: border-color 0.2s;
}

.datetime-input:focus {
  outline: none;
  border-color: #4a6bff;
}

/* Adjust the form layout */
.view-test-reschedule-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.view-test-reschedule-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.view-test-reschedule-field label {
  font-weight: 500;
  color: #555;
  font-size: 0.9rem;
}
:root{
    --page-bg-start: #f6f8ff;
    --page-bg-end: #ffffff;
    --card-bg: #ffffff;
    --card-border: rgba(15,23,42,0.06);
    --accent: #2b6cf6;
    --muted: #64748b;
    --success: #16a34a;
    --warning: #f97316;
    --glass: rgba(255,255,255,0.6);
  }
  
  /* Page / container */
  .tc-min-wrap{
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
    color: #0f172a;
    padding: 20px;
    background: linear-gradient(180deg, #f6f8ff, #ffffff);
    background: linear-gradient(180deg, var(--page-bg-start), var(--page-bg-end));
    box-sizing: border-box;
  }
  
  /* Header */
  .tc-min-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px;
    gap:12px;
  }
  .tc-min-title { font-size:20px; font-weight:700; }
  .tc-min-sub   { color:#64748b; color:var(--muted); font-size:13px; }
  
  /* GRID: explicit 5 columns; with 10 items you'll get 2 rows x 5 columns */
  .tc-min-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(120px, auto);
    grid-gap: 14px;
    gap: 14px;
    align-items: start;
  }
  
  /* CARD – base rules used by all cards */
  .tc-min-card {
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    background: linear-gradient(180deg, var(--card-bg), #fbfdff);
    border: 1px solid rgba(15,23,42,0.06);
    border: 1px solid var(--card-border);
    padding: 16px;
    border-radius: 10px;
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height: 120px;
    position: relative;
    overflow: hidden;
  }
  
  /* Hover & selected */
  .tc-min-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 30px rgba(2,6,23,0.06);
  }
  .tc-min-card.selected {
    border: 2px solid #2b6cf6;
    border: 2px solid var(--accent);
    background: linear-gradient(180deg,#f3f8ff,#ffffff);
    box-shadow: 0 16px 40px rgba(43,108,246,0.08);
  }
  
  /* Title + description */
  .tc-min-card h4 {
    margin: 0;
    font-size: 15px;
    line-height: 1.15;
  }
  .tc-min-card p {
    margin: 8px 0 0 0;
    color: #475569;
    font-size: 13px;
    flex: 1 1;
  }
  
  /* Badge that marks whether a card is a flow or individual */
  .flow-badge {
    display:inline-block;
    padding:6px 8px;
    border-radius: 999px;
    font-size:12px;
    font-weight:700;
    margin-top:10px;
    align-self: flex-start;
  }
  .flow-badge.flow {
    background: linear-gradient(90deg,#fff7ed,#fff1f0);
    color: #92400e;
    border: 1px solid rgba(249,115,22,0.08);
  }
  .flow-badge.ind {
    background: linear-gradient(90deg,#f0fdf4,#f8fff8);
    color: #065f46;
    border: 1px solid rgba(16,185,129,0.06);
  }
  
  /* Footer & confirm */
  .tc-min-footer {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:14px;
  }
  .confirm-btn {
    background: #2b6cf6;
    background: var(--accent);
    color: white;
    padding: 10px 14px;
    border-radius: 8px;
    border: none;
    font-weight: 700;
    cursor: pointer;
  }
  .confirm-btn[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
  }
  
  /* Responsive breakpoints to keep layout usable on smaller screens */
  @media (max-width:1200px) {
    .tc-min-grid { grid-template-columns: repeat(4, 1fr); }
  }
  @media (max-width:900px) {
    .tc-min-grid { grid-template-columns: repeat(3, 1fr); }
  }
  @media (max-width:600px) {
    .tc-min-grid { grid-template-columns: repeat(1, 1fr); }
  }
  
  /* ----------------------
     Per-card unique styles
     (Use the unique classes generated by the React snippet)
     You can tweak each card look here — color accents, icons, overlays etc.
     ---------------------- */
  
  /* INDIVIDUAL TESTS */
  .tc-card-screening {
    /* light purple tint */
    --local-accent: linear-gradient(90deg,#f3e8ff,#f8f0ff);
    border-left: 6px solid #7c3aed;
  }
  .tc-card-communication {
    /* soft teal tint */
    border-left: 6px solid #0891b2;
  }
  .tc-card-personality-test {
    /* soft pink */
    border-left: 6px solid #ec4899;
  }
  .tc-card-behavioral-test {
    /* amber */
    border-left: 6px solid #f59e0b;
  }
  .tc-card-all-test {
    /* green */
    border-left: 6px solid #10b981;
  }
  .tc-card-icoding {
    /* blue for coding */
    border-left: 6px solid #2563eb;
  }
  
  /* PRE-BUILT FLOWS (flows have a slightly different background tint) */
  .tc-card-flowsc {
    background: linear-gradient(180deg,#fff9f0,#ffffff);
    border-left: 6px solid #fb923c; /* orange accent */
  }
  .tc-card-flowspb {
    background: linear-gradient(180deg,#f0f9ff,#ffffff);
    border-left: 6px solid #06b6d4; /* teal */
  }
  .tc-card-flowscp {
    background: linear-gradient(180deg,#f8fafc,#ffffff);
    border-left: 6px solid #7c3aed; /* purple */
  }
  .tc-card-flowspc20 {
    background: linear-gradient(180deg,#f7fffb,#ffffff);
    border-left: 6px solid #10b981; /* green */
  }
  
  /* Optional: small top-right label for duration for flows (pseudo-element) */
  .tc-card-flowsc::after,
  .tc-card-flowspb::after,
  .tc-card-flowscp::after,
  .tc-card-flowspc20::after {
    content: attr(data-duration);
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 12px;
    color: #0f172a;
    background: rgba(255,255,255,0.85);
    padding: 6px 8px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,0.04);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
  }
  
  /* Example: if you want the duration to show, add data-duration prop to card div in React:
     <div data-duration="60m" ... />
     For flows you can set: "60m", "90m", or "60m (20/20/20)" accordingly. */
  
  /* END of CSS */
  
/* --- Global & Premium Styles (Keep as is) --- */
.premium-resume-editor {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}
.premium-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}
.loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top: 4px solid white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 20px;
}

.loading-spinner-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  color: white;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* --- Text Overflow Prevention Utilities --- */
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-wrap-break {
  word-wrap: break-word;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* Websites/Links styling */
.websites-links {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.websites-links a {
  color: #2563eb;
  text-decoration: none;
  font-size: 0.9em;
  padding: 2px 8px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background-color: #f9fafb;
  transition: all 0.2s ease;
}

.websites-links a:hover {
  background-color: #e5e7eb;
  border-color: #d1d5db;
}

.content-limit {
  max-height: 100%;
  overflow: hidden;
}

.section-limit {
  max-height: 200px;
  overflow: hidden;
}

.experience-item-limit {
  max-height: 150px;
  overflow: hidden;
}

.skills-limit {
  max-height: 100px;
  overflow: hidden;
}

.summary-limit {
  max-height: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.premium-navbar {
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding: 20px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.premium-back-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 2px solid #667eea;
  color: #667eea;
  padding: 12px 20px;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.premium-back-btn:hover {
  background: #667eea;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}
.navbar-center { flex: 1 1; margin: 0 40px; }
.editor-info { text-align: center; }
.premium-title {
  font-size: 28px;
  font-weight: 800;
  color: #2d3748;
  margin: 0 0 5px 0;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.premium-navbar .template-info {
  font-size: 14px;
  color: #64748b;
  margin: 0 0 15px 0;
  font-weight: 500;
}
.completion-bar {
  position: relative;
  width: 300px;
  height: 8px;
  background: #e2e8f0;
  border-radius: 20px;
  margin: 0 auto;
  overflow: hidden;
}
.completion-fill {
  height: 100%;
  background: linear-gradient(90deg, #10b981 0%, #059669 100%);
  border-radius: 20px;
  transition: width 0.5s ease;
  position: relative;
}
.completion-fill::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.3) 50%, transparent 70%);
  animation: shimmer 2s infinite;
}
@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.completion-text {
  position: absolute;
  top: -25px;
  right: 0;
  font-size: 12px;
  font-weight: 600;
  color: #10b981;
}
.navbar-right { display: flex; gap: 15px; }
.premium-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 12px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  position: relative;
  overflow: hidden;
}
.premium-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s;
}
.premium-btn:hover::before { left: 100%; }
.preview-btn {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  color: white;
}
.preview-btn.active { background: linear-gradient(135deg, #10b981 0%, #059669 100%); }
.export-btn {
  background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
  color: white;
}
.save-btn {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
}
.summary-btn {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
  color: white;
}

.coverletter-btn {
  background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
  color: white;
}

/* Create Resume Button Styles */
.create-resume-btn {
  background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
  color: white;
}

.premium-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}
.premium-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.premium-editor-content {
  padding: 30px;
  min-height: calc(100vh - 120px);
}
.premium-editor-grid {
  display: flex;
  max-width: 1600px;
  margin: 0 auto;
  gap: 40px;
  align-items: flex-start;
}
.premium-form-panel {
  width: 480px;
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border-radius: 24px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  overflow: hidden;
  animation: slideInLeft 0.6s ease-out;
}
.premium-preview-panel {
  flex: 1 1;
  display: flex;
  justify-content: center;
  animation: slideInRight 0.6s ease-out;
}
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-50px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes slideInRight {
  from { opacity: 0; transform: translateX(50px); }
  to { opacity: 1; transform: translateX(0); }
}
.preview-container {
  position: -webkit-sticky;
  position: sticky;
  top: 150px;
  background: white;
  /* border-radius: 20px; */
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  transform: scale(0.9);
  transition: transform 0.3s ease;
}
.preview-container:hover { transform: scale(0.92); }
.resume-form {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  border: none;
}
.form-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 25px 30px;
  margin: 0;
  border-radius: 0;
}
.form-title { font-size: 20px; font-weight: 700; margin: 0; }
.section-selector {
  background: #f8fafc;
  padding: 20px 25px;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.section-btn {
  background: white;
  border: 2px solid #e2e8f0;
  color: #64748b;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.section-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  transition: width 0.3s ease;
  z-index: 0;
}
.section-btn span { position: relative; z-index: 1; }
.section-btn:hover::before,
.section-btn.active::before { width: 100%; }
.section-btn:hover,
.section-btn.active {
  color: white;
  border-color: #667eea;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}
.section-form {
  padding: 30px;
  max-height: calc(100vh - 300px);
  overflow-y: auto;
}
.section-form::-webkit-scrollbar { width: 6px; }
.section-form::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 10px; }
.section-form::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 10px;
}
.form-group { margin-bottom: 20px; animation: fadeInUp 0.4s ease-out; }
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.form-group label {
  display: block;
  font-weight: 600;
  color: #374151;
  margin-bottom: 8px;
  font-size: 14px;
}
.form-group input,
.form-group textarea {
  width: 100%;
  padding: 14px 16px;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  font-size: 14px;
  transition: all 0.3s ease;
  background: white;
}
.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
  transform: translateY(-2px);
}
.form-group.error input,
.form-group.error textarea { border-color: #ef4444; background: #fef2f2; }
.error-message {
  color: #ef4444;
  font-size: 12px;
  margin-top: 5px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}
.error-message::before { content: '⚠️'; font-size: 14px; }
.form-group-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    gap: 20px;
}
.experience-card,
.education-card,
.highlight-card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  margin-bottom: 20px;
  overflow: hidden;
  transition: all 0.3s ease;
  animation: slideInUp 0.5s ease-out;
}
@keyframes slideInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.experience-card:hover,
.education-card:hover,
.highlight-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 12px 40px rgba(102, 126, 234, 0.1);
}
.card-header {
  background: #f8fafc;
  padding: 15px 20px;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-header h4 { font-weight: 700; color: #374151; margin: 0; }
.card-content { padding: 20px; }
.add-button {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.add-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3);
}

.contact-add-btn {
  background: linear-gradient(135deg, #22c55e 0%, #0ea5e9 100%);
  color: #ffffff;
  border: none;
  border-radius: 14px;
  font-weight: 600;
  padding: 8px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: 0 10px 25px rgba(34, 197, 94, 0.25);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.contact-add-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(14, 165, 233, 0.35);
  filter: brightness(1.05);
}

.contact-add-btn:active {
  transform: translateY(0);
  box-shadow: 0 8px 18px rgba(14, 165, 233, 0.3);
}
.remove-button, .remove-point-button {
  background: #fee2e2;
  color: #ef4444;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.remove-button:hover, .remove-point-button:hover {
  background: #ef4444;
  color: white;
  transform: scale(1.1);
}
.point-input {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.point-input textarea { flex: 1 1; }
.add-point-button {
  background: #f1f5f9;
  color: #64748b;
  border: none;
  padding: 10px 16px;
  border-radius: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}
.add-point-button:hover {
  background: #e2e8f0;
  color: #374151;
}
.skills-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}
.skill-tag {
  /* background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%); */
  color: #4338ca;
  padding: 8px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  animation: bounceIn 0.4s ease-out;
}
@keyframes bounceIn {
  0% { opacity: 0; transform: scale(0.3); }
  50% { opacity: 1; transform: scale(1.05); }
  70% { transform: scale(0.9); }
  100% { opacity: 1; transform: scale(1); }
}
.skill-tag button {
  background: none;
  border: none;
  color: #4338ca;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  transition: all 0.2s ease;
}
.skill-tag button:hover { color: #ef4444; transform: scale(1.2); }
.add-skill {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.add-skill input { flex: 1 1; }
.add-skill button {
  background: #667eea;
  color: white;
  border: none;
  padding: 0 20px;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.add-skill button:hover { background: #5a67d8; }

/* Enhanced Upload Button Styles */
.upload-btn {
  display: inline-block;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  padding: 12px 24px;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  font-size: 14px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.upload-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3);
  background: linear-gradient(135deg, #059669 0%, #047857 100%);
}

.upload-btn:active {
  transform: translateY(0);
}

.upload-btn input[type="file"] {
  position: absolute;
  left: -9999px;
  opacity: 0;
  pointer-events: none;
}

.upload-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}

/* --- Professional Template Preview Styles --- */
.resume-paper.professional-template {
  background: #FFFFFF;
   /* 2.54cm = 72px */
  font-family: "Times New Roman", "Georgia", serif;
  font-size: 14.7px; /* 11pt = 14.7px */
  line-height: 1.45;
  overflow: hidden; /* Prevent content from overflowing */
  box-sizing: border-box;
  color: #000000;
  letter-spacing: 0.2px;
  width: min(100%, var(--a4-width));
  max-width: var(--a4-width);
  min-height: var(--a4-height);
  margin: 0 auto;
  padding: var(--resume-padding-vertical) var(--resume-padding-horizontal);
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  position: relative;
}
.professional-header {
  text-align: center;
  margin-bottom: 16px; /* Reduced from 24px */
  position: relative;
}

.professional-header::after {
  content: '';
  position: absolute;
  bottom: -12px; /* Reduced from -24px */
  left: 0;
  right: 0;
  height: 2px;
  background: #000000;
}

.professional-name {
  font-size: 32px; /* 24pt = 32px */
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 4px; /* Reduced from 8px */
  color: #000000;
  letter-spacing: 0.15em; /* Added letter spacing */
}

.professional-contact-info {
  font-size: 14.7px; /* 11pt = 14.7px */
  line-height: 1.4;
  margin: 0;
  color: #000000;
}
.professional-section {
  /* margin-top: 20px; 
  margin-bottom: 8px;  */
}

.professional-section-title {
  font-size: 16px; /* 12pt = 16px */
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em; /* Reduced letter spacing */
  border-bottom: 1px solid #000000;
  padding-bottom: 9px; /* Reduced from 4px */
  margin-bottom: 6px; /* Reduced from 12px */
  color: #000000;
}
.professional-section-content {
  font-size: 14.7px; /* 11pt = 14.7px */
  line-height: 1.45;
  color: #000000;
}

/* Education specific styling */
.professional-education-item {
  margin-bottom: 19.2px; /* 1.2rem */
}

.professional-education-title {
  font-size: 15.4px; /* 10.5pt = 15.4px */
  font-weight: 700;
  color: #000000;
  line-height: 1.6;
}

.professional-education-date {
  font-size: 14px; /* 10pt = 14px */
  color: #444444;
  text-align: right;
}

/* Additional education details */
.education-details {
  font-size: 14px; /* 10pt = 14px */
  color: #000000;
  line-height: 1.6;
  margin-top: 4px;
}
.skills-3-column {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  /* 1.5rem-2rem */
  margin: 0;
  padding: 0;
}

.skills-3-column span {
  font-size: 14.7px; /* 11pt = 14.7px */
  line-height: 1.45;
  color: #000000;
  position: relative;
  padding-left: 19.2px; /* 1.2rem */
  margin-bottom: 4.8px; /* 0.3rem */
}

.skills-3-column span::before {
  content: '•';
  position: absolute;
  left: 0;
  color: #000000;
}

/* Skills Section Divider */
.professional-section-divider {
  height: 2px;
  background: #374151;
  margin: 8px 0 15px 0;
  width: 100%;
}

/* Categorized Skills */
.skills-categorized {
  margin-top: 10px;
}

.skill-category {
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.5;
  color: #374151;
}

.skill-category strong {
  color: #1f2937;
  font-weight: 600;
}
.professional-experience-list, .professional-education-list {
  display: flex;
  flex-direction: column;
  gap: 12px; /* Reduced from 16px */
}

.professional-experience-item, .professional-education-item {
  /* margin-bottom: 12px;  */
}

.professional-experience-header, .professional-education-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6px; /* Reduced from 8px */
  font-size: 14.7px; /* 11pt = 14.7px */
}

.professional-experience-title, .professional-education-title {
  font-size: 14.7px; /* 11pt = 14.7px */
  /* font-weight: 700; */
  color: #000000;
}

.professional-experience-dates, .professional-education-date {
  font-size: 14px; /* 10pt = 14px */
  font-weight: 400;
  color: #444444;
}

.professional-experience-points {
  list-style: disc;
  list-style-position: outside;
  padding-left: 24px; /* 1.5rem */
  margin: 0;
  font-size: 14px; /* 10pt = 14px */
}

.professional-experience-points li {
  /* margin-bottom: 6.4px; */
  color: #000000;
  padding-left: 0;
  margin-left: 0;
  display: list-item;
  list-style-type: disc;
  list-style-position: outside;
}
.certifications-grid-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 40px;
  gap: 40px; /* 2.5rem */
  margin: 0;
  padding: 0;
}

.certifications-grid-list li {
  font-size: 14px; /* 10pt = 14px */
  line-height: 1.45;
  color: #000000;
  position: relative;
  padding-left: 19.2px; /* 1.2rem */
  /* margin-bottom: 8px; */
}

.certifications-grid-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: #000000;
}

/* --- Specific Resume Template Styles --- */
/* PE Teacher Resume Styles */
.pe-teacher-resume {
  font-family: 'Arial', sans-serif;
  width: 21cm;
  min-height: 29.7cm;
  background: white;
  display: flex;
}

.pe-header {
  background: linear-gradient(135deg, #5b2c6f 0%, #2e1437 100%);
  color: white;
  padding: 2rem;
  text-align: center;
  width: 100%;
}

.pe-sidebar {
  background-color: #f8fafc;
  border-right: 1px solid #e2e8f0;
  width: 35%;
  padding: 2rem;
}

.pe-main-content {
  width: 65%;
  padding: 2rem;
}

.skill-bar {
  height: 8px;
  background-color: #e2e8f0;
  border-radius: 4px;
  margin: 0.5rem 0;
  overflow: hidden;
}

.skill-bar .bg-gradient-to-r {
  background: linear-gradient(to right, #fbbf24, #f59e0b);
  height: 100%;
  border-radius: 4px;
}

/* Business Development Resume Styles */
.business-dev-resume {
  font-family: 'Arial', sans-serif;
  width: 21cm;
  min-height: 29.7cm;
  background: white;
  display: flex;
}

.business-dev-sidebar {
  background-color: #000000;
  color: white;
  width: 35%;
  padding: 2rem;
}

.business-dev-main {
  width: 65%;
  padding: 2rem;
}

.business-dev-resume .bg-black {
  background-color: #000000;
}

.business-dev-resume .text-white {
  color: #ffffff;
}

.business-dev-resume .bg-gray-800 {
  background-color: #1f2937;
}

/* Executive Resume Styles */
.executive-resume {
  font-family: 'Arial', sans-serif;
  width: 21cm;
  min-height: 29.7cm;
  background: white;
  padding: 2rem;
}

.exec-header {
  border-bottom: 2px solid #e5e7eb;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}

.executive-resume .bg-gray-50 {
  background-color: #f9fafb;
  padding: 1rem;
  border-radius: 8px;
}

.executive-resume .text-blue-600 {
  color: #2563eb;
}

/* Tech Resume Styles - Blue Theme */
.tech-resume {
  font-family: 'Arial', sans-serif;
  width: 100%;
  height: 100%;
  background: white;
  display: flex;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  overflow: hidden;
}

.tech-sidebar {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  color: white;
  width: 35%;
  padding: 2rem;
}

.tech-main-content {
  width: 65%;
  padding: 2rem;
}

.tech-skill-bar {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  height: 6px;
  overflow: hidden;
  margin: 0.5rem 0;
}

.tech-skill-fill {
  background: linear-gradient(90deg, #fbbf24 0%, #f59e0b 100%);
  height: 100%;
  border-radius: 10px;
}

.tech-soft-skill-dots .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 4px;
}

.tech-soft-skill-dots .dot.filled {
  background-color: #fbbf24;
}

.tech-soft-skill-dots .dot.empty {
  background-color: rgba(255, 255, 255, 0.3);
}

.tech-language-badge {
  background-color: #fbbf24;
  color: #1f2937;
  padding: 4px 12px;
  border-radius: 15px;
  font-size: 12px;
  font-weight: 600;
  margin-right: 8px;
  display: inline-block;
}

/* Security Resume Styles - Dark Blue Theme */
.security-resume {
  font-family: 'Arial', sans-serif;
  width: 21cm;
  min-height: 29.7cm;
  background: white;
  display: flex;
}

.security-sidebar {
  background: linear-gradient(135deg, #1e3a8a 0%, #3730a3 100%);
  color: white;
  width: 35%;
  padding: 2rem;
}

.security-main-content {
  width: 65%;
  padding: 2rem;
}

.security-skill-bar {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  height: 6px;
  overflow: hidden;
  margin: 0.5rem 0;
}

.security-skill-fill {
  background: linear-gradient(90deg, #34d399 0%, #10b981 100%);
  height: 100%;
  border-radius: 10px;
}

.security-soft-skill-dots .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 4px;
}

.security-soft-skill-dots .dot.filled {
  background-color: #34d399;
}

.security-soft-skill-dots .dot.empty {
  background-color: rgba(255, 255, 255, 0.3);
}

.security-language-badge {
  background-color: #34d399;
  color: #1f2937;
  padding: 4px 12px;
  border-radius: 15px;
  font-size: 12px;
  font-weight: 600;
  margin-right: 8px;
  display: inline-block;
}

/* --- Responsive Styles for Editor --- */
@media (max-width: 1200px) {
  .premium-editor-grid { gap: 20px; }
  .premium-form-panel { width: 420px; }
}
@media (max-width: 1024px) {
  .premium-editor-grid { flex-direction: column; align-items: center; }
  .premium-form-panel { width: 100%; max-width: 600px; }
  .preview-container { position: static; transform: scale(1); max-width: 600px; }
  .hidden-mobile { display: none; }
}
@media (max-width: 768px) {
  .premium-navbar { flex-direction: column; gap: 15px; padding: 15px 20px; }
  .navbar-center { margin: 0; }
  .completion-bar { width: 250px; }
  .navbar-right { flex-wrap: wrap; justify-content: center; }
  .premium-btn { padding: 10px 16px; font-size: 13px; }
  .premium-editor-content { padding: 15px; }
}

/* --- STUNNING TEMPLATES PAGE STYLES --- */
.stunning-templates-page {
  padding: 0;
  overflow: hidden;
  position: relative;
  background: #f8fafc;
}

.stunning-hero-section {
  position: relative;
  text-align: center;
  padding: 3rem 1.5rem 2rem;
  z-index: 10;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.stunning-hero-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
}

.stunning-hero-glow {
   display: none;
}

.stunning-hero-title {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 0.75rem 0;
  line-height: 1.2;
}

.stunning-hero-subtitle {
  font-size: clamp(0.9rem, 1.5vw, 1rem);
  color: rgba(255, 255, 255, 0.85);
  max-width: 500px;
  margin: 0 auto 1rem auto;
  line-height: 1.6;
}

.stunning-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
  padding: 0.4rem 1rem;
  border-radius: 9999px;
  font-weight: 500;
  font-size: 0.8rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.stunning-hero-secondary-text {
  margin-top: 2rem;
}

.stunning-templates-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 0.5rem;
}

.stunning-templates-description {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  max-width: 550px;
  margin: 0 auto;
  line-height: 1.6;
}

.sparkle-emoji {
  display: inline-block;
  animation: sparkle-animation-emoji 1.5s infinite;
}

@keyframes sparkle-animation-emoji {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.3); }
}

.stunning-templates-container {
  padding: 2rem 1rem;
}

.stunning-templates-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1.5rem;
  gap: 1.5rem;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1rem;
}

.stunning-template-card-wrapper {
  cursor: pointer;
  transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  animation: slideInUp 0.8s ease-out;
}

.stunning-template-card-wrapper:nth-child(2) {
  animation-delay: 0.2s;
  animation-fill-mode: backwards;
}
.stunning-template-card-wrapper:nth-child(3) {
  animation-delay: 0.4s;
  animation-fill-mode: backwards;
}

.stunning-template-card {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  transform-style: preserve-3d;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  box-shadow: 
    0 4px 12px rgba(0, 0, 0, 0.08),
    0 1px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(226, 232, 240, 0.8);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.stunning-template-card-wrapper:hover .stunning-template-card {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 
    0 12px 24px rgba(0, 0, 0, 0.12),
    0 4px 8px rgba(0, 0, 0, 0.08);
  border-color: rgba(59, 130, 246, 0.4);
}

.stunning-template-preview {
  height: auto;
  min-height: 320px;
  max-height: 400px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  padding: 16px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stunning-template-image {
  width: 100%;
  height: 100%;
  max-height: 360px;
  object-fit: cover;
  object-position: center top;
  transition: all 0.5s ease;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.stunning-template-card-wrapper:hover .stunning-template-image {
  transform: scale(1.03);
}

.stunning-featured-badge, .stunning-category-badge {
  position: absolute;
  top: 12px;
  padding: 6px 12px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 600;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 10;
  font-family: inherit;
}

.stunning-featured-badge { 
  left: 12px;
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.9) 0%, rgba(245, 158, 11, 0.9) 100%);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(251, 191, 36, 0.3);
}

.stunning-category-badge { 
  right: 12px;
  background: rgba(255, 255, 255, 0.95);
  color: #374151;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.stunning-hover-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top, 
    rgba(15, 23, 42, 0.85) 0%, 
    rgba(15, 23, 42, 0.3) 50%,
    rgba(15, 23, 42, 0) 80%
  );
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1.5rem;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 16px;
}

.stunning-hover-overlay span {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.875rem;
  transform: translateY(20px);
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.stunning-template-card-wrapper:hover .stunning-hover-overlay {
  opacity: 1;
}

.stunning-template-card-wrapper:hover .stunning-hover-overlay span {
  transform: translateY(0);
}

.stunning-template-info {
  padding: 1.25rem 1.5rem;
  background: #ffffff;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.stunning-template-name {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #0f172a;
  line-height: 1.3;
}

.stunning-template-description-card {
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.5;
  margin-bottom: 0;
  flex-grow: 1;
}

.stunning-template-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 1px solid #e2e8f0;
}

.stunning-ats-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #10b981;
  font-size: 14px;
  font-weight: 600;
}

.stunning-ats-badge::before {
  content: "✓";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: #dcfce7;
  border-radius: 50%;
  font-size: 12px;
  font-weight: bold;
}

.stunning-customize-link {
  color: #3b82f6;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.stunning-customize-link:hover {
  color: #1d4ed8;
}

/* Responsive Design */
@media (max-width: 1023px) and (min-width: 768px) {
  .stunning-templates-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

@media (max-width: 767px) {
  .stunning-templates-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    max-width: 100%;
  }
  .stunning-hero-section {
    padding: 2rem 1rem 1.5rem;
  }
  
  .stunning-templates-container {
    padding: 1.5rem 1rem;
  }
  
  .stunning-template-preview {
    min-height: 280px;
    max-height: 320px;
    padding: 12px;
  }
  
  .stunning-template-info {
    padding: 1rem 1.25rem;
  }

  .stunning-template-name {
    font-size: 1rem;
  }

  .stunning-template-description-card {
    font-size: 0.8125rem;
  }
}

/* REMOVED ALL CONFLICTING PRINT STYLES - Using simple Resume-Builder-master approach in index.css */


@media print {
  /* Global color adjustments and page setup */
  html, body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    margin: 0;
    padding: 0;
  }
  
  /* Consistent dimensions using CSS variables */
  .resume-paper.professional-template,
  .resume-paper.simple-template {
    width: var(--a4-print-width) !important;
    max-width: var(--a4-print-width) !important;
    min-height: var(--a4-print-height) !important;
    height: auto !important;
    page-break-after: auto !important;
    position: static !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  .modern-resume-container,
  .modern-resume-paper {
    width: var(--a4-print-width) !important;
    max-width: var(--a4-print-width) !important;
    min-height: auto !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  .tech-resume-preview {
    width: var(--a4-print-width) !important;
    max-width: var(--a4-print-width) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  /* Preserve grid layouts in print */
  .skills-3-column {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
   
  
  }

  .skills-3-column span {
    font-size: 14.7px !important; /* 11pt = 14.7px */
    line-height: 1.45 !important;
    color: #000000 !important;
    position: relative !important;
    padding-left: 19.2px !important;
    margin-bottom: 4.8px !important;
  }

  .skills-3-column span::before {
    content: '•' !important;
    position: absolute !important;
    left: 0 !important;
    color: #000000 !important;
  }

  .professional-experience-list, 
  .professional-education-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .professional-experience-item, 
  .professional-education-item {
    margin-bottom: 12px !important;
  }

  .professional-experience-header, 
  .professional-education-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin-bottom: 6px !important;
    font-size: 14.7px !important; /* 11pt = 14.7px */
  }

  .professional-experience-title, 
  .professional-education-title {
    font-size: 14.7px !important; /* 11pt = 14.7px */
    color: #000000 !important;
  }

  .professional-experience-dates, 
  .professional-education-date {
    font-size: 14px !important; /* 10pt = 14px */
    font-weight: 400 !important;
    color: #444444 !important;
  }

  .professional-experience-points {
    list-style: disc inside !important;
    padding-left: 24px !important;
    margin: 0 !important;
    font-size: 14px !important; /* 10pt = 14px */
  }

  .professional-experience-points li {
    color: #000000 !important;
    margin-bottom: 4px !important;
  }

  .certifications-grid-list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-gap: 16px !important;
    gap: 16px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .certifications-grid-list li {
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #000000 !important;
    position: relative !important;
    padding-left: 20px !important;
  }

  .certifications-grid-list li::before {
    content: '•' !important;
    position: absolute !important;
    left: 0 !important;
    color: #000000 !important;
  }

  /* Ensure proper page breaks */
  .resume-paper.professional-template:last-child {
    page-break-after: auto !important;
  }

  /* Hide any hover effects during print */
  .preview-container:hover {
    transform: none !important;
  }
  
  /* Additional professional template print overrides to ensure styling consistency */
  .resume-paper.professional-template .professional-header {
    text-align: center !important;
    
    position: relative !important;
  }
  
  .resume-paper.professional-template .professional-header::after {
    content: '' !important;
    position: absolute !important;
    bottom: -12px !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: #000000 !important;
  }
  
  .resume-paper.professional-template .professional-name {
    font-size: 32px !important; /* 24pt = 32px */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-bottom: 4px !important;
    color: #000000 !important;
    letter-spacing: 0.15em !important;
  }
  
  .resume-paper.professional-template .professional-contact-info {
    font-size: 14.7px !important; /* 11pt = 14.7px */
    line-height: 1.4 !important;
    margin: 0 !important;
    color: #000000 !important;
  }
  

  
  .resume-paper.professional-template .professional-section-title {
    font-size: 16px !important; /* 12pt = 16px */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-bottom: 1px solid #000000 !important;
    padding-bottom: 9px !important;
    margin-bottom: 6px !important;
    color: #000000 !important;
  }
  
  .resume-paper.professional-template .professional-section-content {
    font-size: 14.7px !important; /* 11pt = 14.7px */
    line-height: 1.45 !important;
    color: #000000 !important;
  }
  
  /* Override any conflicting general print styles for professional template */
  .resume-paper.professional-template .professional-experience-item,
  .resume-paper.professional-template .professional-education-item {
    margin-bottom: 12px !important;
    page-break-inside: auto !important;
  }
  
  .resume-paper.professional-template .professional-experience-header,
  .resume-paper.professional-template .professional-education-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin-bottom: 6px !important;
    font-size: 14.7px !important; /* 11pt = 14.7px */
  }
  
  .resume-paper.professional-template .professional-experience-title,
  .resume-paper.professional-template .professional-education-title {
    font-size: 14.7px !important; /* 11pt = 14.7px */
    color: #000000 !important;
    font-weight: 700 !important;
  }
  
  .resume-paper.professional-template .professional-experience-dates,
  .resume-paper.professional-template .professional-education-date {
    font-size: 14px !important; /* 10pt = 14px */
    font-weight: 400 !important;
    color: #444444 !important;
  }
  
  .resume-paper.professional-template .professional-experience-points {
    list-style: disc inside !important;
    padding-left: 24px !important;
    margin: 0 !important;
    font-size: 14px !important; /* 10pt = 14px */
  }
  
  .resume-paper.professional-template .professional-experience-points li {
    color: #000000 !important;
    margin-bottom: 4px !important;
  }
  
  .resume-paper.professional-template .skills-3-column {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .resume-paper.professional-template .skills-3-column span {
    font-size: 14.7px !important; /* 11pt = 14.7px */
    line-height: 1.45 !important;
    color: #000000 !important;
    position: relative !important;
    padding-left: 19.2px !important;
    margin-bottom: 4.8px !important;
  }
  
  .resume-paper.professional-template .skills-3-column span::before {
    content: '•' !important;
    position: absolute !important;
    left: 0 !important;
    color: #000000 !important;
  }
  
  .resume-paper.professional-template .certifications-grid-list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-gap: 16px !important;
    gap: 16px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .resume-paper.professional-template .certifications-grid-list li {
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #000000 !important;
    position: relative !important;
    padding-left: 20px !important;
  }
  
  .resume-paper.professional-template .certifications-grid-list li::before {
    content: '•' !important;
    position: absolute !important;
    left: 0 !important;
    color: #000000 !important;
  }
  
  /* --- SIMPLE TEMPLATE SPECIFIC PRINT STYLES --- */
  .resume-paper.simple-template {
    background: #FFFFFF !important;
    /* padding: 72px !important; */
    font-family: "Arial", "Helvetica", sans-serif !important;
    font-size: 14.7px !important;
    line-height: 1.45 !important;
    color: #000000 !important;
    min-height: 1123px !important;
    /* width: 794px !important; */
    margin: 0 auto !important;
    box-shadow: none !important;
    position: relative !important;
    page-break-after: always !important;
  }
  
  .resume-paper.simple-template .simple-header {
    text-align: center !important;
    /* margin-bottom: 20px !important; */
    border-bottom: 2px solid #333333 !important;
    /* padding-bottom: 15px !important; */
  }
  
  .resume-paper.simple-template .simple-name {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    /* margin-bottom: 8px !important; */
  }
  
  .resume-paper.simple-template .simple-title {
    font-size: 18px !important;
    color: #666666 !important;
    /* margin-bottom: 10px !important; */
  }
  
  .resume-paper.simple-template .simple-contact {
    font-size: 14px !important;
    color: #333333 !important;
    line-height: 1.4 !important;
  }
  
  .resume-paper.simple-template .simple-section {
    /* margin-top: 20px !important; */
    /* margin-bottom: 15px !important; */
  }
  
  .resume-paper.simple-template .simple-section-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    border-bottom: 1px solid #cccccc !important;
    /* padding-bottom: 5px !important; */
    margin-bottom: 10px !important;
  }
  
  .resume-paper.simple-template .simple-section-content {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #333333 !important;
  }
  
  /* --- MODERN TEMPLATE SPECIFIC PRINT STYLES --- */
.resume-paper.modern-template {
  --paper-pad: 12mm;
  padding: var(--paper-pad) !important;
  min-height: auto !important;
  width: 210mm !important;
  max-width: 210mm !important;
  position: static !important;
  page-break-after: auto !important;
  box-sizing: border-box !important;

  /* 🔧 ensure sharp page edges */
  border-radius: 0 !important;
  background-clip: border-box !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* Full-bleed header that keeps square corners */
.resume-paper.modern-template .modern-header {
  padding: 10mm !important;
  margin: calc(-1 * var(--paper-pad)) calc(-1 * var(--paper-pad)) 10mm calc(-1 * var(--paper-pad)) !important;

  /* 🔧 remove any rounded corners/pseudo rounding */
  border-radius: 0 !important;
  -webkit-clip-path: none !important;
          clip-path: none !important;
  box-shadow: none !important;
}
.resume-paper.modern-template .modern-header::before,
.resume-paper.modern-template .modern-header::after {
  border-radius: 0 !important;
  -webkit-clip-path: none !important;
          clip-path: none !important;
}

/* If your left panel is a separate element, flatten it too.
   Replace/keep whichever selector matches your markup. */
.resume-paper.modern-template .modern-sidebar,
.resume-paper.modern-template .left-rail,
.resume-paper.modern-template .sidebar,
.resume-paper.modern-template [class*="sidebar"],
.resume-paper.modern-template [class*="left"] {
  border-radius: 0 !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  -webkit-clip-path: none !important;
          clip-path: none !important;
  box-shadow: none !important;
}

/* Typography & sections (unchanged) */
.resume-paper.modern-template .modern-name {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: white !important;
  margin-bottom: 8px !important;
}
.resume-paper.modern-template .modern-title {
  font-size: 18px !important;
  color: #e2e8f0 !important;
  margin-bottom: 15px !important;
}
.resume-paper.modern-template .modern-contact {
  font-size: 14px !important;
  color: #cbd5e0 !important;
  line-height: 1.4 !important;
}
.resume-paper.modern-template .modern-section {
  margin-top: 6mm !important;
  margin-bottom: 5mm !important;
}
.resume-paper.modern-template .modern-section-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #4a5568 !important;
  border-left: 4px solid #3182ce !important;
  padding-left: 4mm !important;
  margin-bottom: 4mm !important;
}
.resume-paper.modern-template .modern-section-content {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #4a5568 !important;
}




}
/* Overlay background */
.ai-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0,0,0,0.5);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Popup box */
.ai-popup-content {
  background: #fff;
  padding: 30px;
  border-radius: 16px;
  max-width: 700px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 5px 20px rgba(0,0,0,0.2);
  animation: fadeIn 0.3s ease-in-out;
}

/* Optional: smooth fade-in */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Popup header with close button */
.popup-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #f0f0f0;
}

.popup-close-btn {
  background: #ff4757 !important;
  color: white !important;
  border: none !important;
  border-radius: 50% !important;
  width: 35px !important;
  height: 35px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  font-size: 18px !important;
  font-weight: bold !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 2px 8px rgba(255, 71, 87, 0.3) !important;
}

.popup-close-btn:hover {
  background: #ff3742 !important;
  transform: scale(1.1) !important;
  box-shadow: 0 4px 12px rgba(255, 71, 87, 0.4) !important;
}

/* Close button - removed since we only use the X button now */

.ai-popup-content h3 {
  font-size: 22px;
  margin-bottom: 12px;
}

.ai-popup-content p,
.ai-popup-content pre {
  font-size: 16px;
  line-height: 1.6;
  white-space: pre-wrap;
}

/* .btn.resume-extra-btn {
  padding: 9px 24px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 16px;
  background: linear-gradient(to right, #1483b3, #db13bd); /* neutral */
  /* color: #333;
  border: 2px solid #dcdcdc;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.btn.resume-extra-btn:hover {
  background: #d20d0d;
  border-color: #aaaaaa;
}  */






/* .preview-controls {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-bottom: 10px;
  padding-right: 20px;
}

.ai-btn {
  padding: 8px 14px;
  background-color: #6200ea;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.ai-btn:hover {
  background-color: #4500b5;
}

.ai-popup {
  position: fixed;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  width: 100vw;
  height: 100vh;
}

.ai-popup-content {
  background: white;
  margin: 80px auto;
  padding: 20px;
  border-radius: 12px;
  width: 60%;
  max-height: 70vh;
  overflow-y: auto;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2);
} */

.add-skill-container {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  margin-bottom: 20px;
}

.add-skill-btn {
  background: linear-gradient(to right, #00c853, #009688);
  color: white;
  padding: 10px 18px;
  border: none;
  border-radius: 16px;
  font-weight: bold;
  cursor: pointer;
  font-size: 14px;
  transition: background 0.3s ease;
}

.add-skill-btn:hover {
  background: linear-gradient(to right, #00b248, #00796b);
}

.skill-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
  margin-top: 5px;
}

/* Skills container for analysis popup - side by side */
.skills-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
  margin-top: 5px;
}

.skill-tag {
  background-color: #f5f5f5;
  padding: 6px 10px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  font-size: 14px;
}

/* Skills You Have - Original color */
.skill-tag.matched-skill {
 background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
 
}

/* Skills You Need - Light red color */
.skill-tag.missing-skill {
  background-color: #fecaca;
  color: #dc2626;
  border: 1px solid #dc2626;
}

.remove-skill-btn {
  margin-left: 6px;
  border: none;
  background-color: #ffeaea;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 
.section-title {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  font-weight: 700;
  color: #2c2c2c;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.25rem;
}

.skill-category {
  margin-bottom: 1.5rem;
}

.skills-category {
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 0.5rem;
  display: block;
}

.skill-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3 columns */
  /* gap: 0.25rem 2rem;
  list-style-type: disc;
  padding-left: 1.5rem;
} */ 

/* Skills section - 3 columns with bullet points and tight spacing */
.skills-3-column {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  
  font-size: 11pt;
  line-height: 1.1;
  list-style: disc;
  padding-left: 0;
}

.skills-3-column span {
  display: block;
  margin-bottom: 0.05rem;
  position: relative;
  padding-left: 0.8rem;
  list-style: disc;
}

.skills-3-column span::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
} 



@media print {
  #resume-preview .resume-paper.professional-template,
 #resume-preview .resume-paper.simple-template {
   height: auto !important;
    min-height: auto !important;
   page-break-after: auto !important;
    width: 210mm !important;
    max-width: 210mm !important;
    position: static !important;
 }
}

/* ===== CSS Variables for Consistent Dimensions ===== */
:root {
  --a4-width: 210mm;
  --a4-height: 297mm;
  --a4-print-width: 210mm;
  --a4-print-height: 297mm;
  --resume-padding-vertical: 15mm;
  --resume-padding-horizontal: 20mm;
  --resume-padding-vertical-alt: 12mm;
  --resume-padding-horizontal-alt: 12mm;
  --resume-margin-top: 0mm;
  --resume-margin-bottom: 0mm;
}

/* Resume Form Styles */
/* .resume-form {
  padding: 20px;
} */

/* Global content wrapping and overflow handling for all templates */
.resume-paper,
.modern-resume-container,
.cvguy-template-wrapper,
.professional-resume-container,
.simple-resume-container,
.security-resume-container,
.tech-resume-container,
.pe-teacher-resume-container,
.business-dev-resume-container,
.executive-resume-container,
.marketing-specialist-resume-container,
.science-teacher-resume-container,
.english-teacher-resume-container {
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  -webkit-hyphens: auto !important;
          hyphens: auto !important;
  max-width: 210mm !important;
  max-width: var(--a4-width) !important;
  width: min(100%, 210mm) !important;
  width: min(100%, var(--a4-width)) !important;
}

/* Ensure all text elements wrap properly */
.resume-paper *,
.modern-resume-container *,
.cvguy-template-wrapper *,
.professional-resume-container *,
.simple-resume-container *,
.security-resume-container *,
.tech-resume-container *,
.pe-teacher-resume-container *,
.business-dev-resume-container *,
.executive-resume-container *,
.marketing-specialist-resume-container *,
.science-teacher-resume-container *,
.english-teacher-resume-container * {
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Project Section Styles */
.project-section {
  margin-top: 20px;
  page-break-before: auto;
  page-break-inside: avoid;
}

/* Resume Page Break Styles */
.resume-paper {
  page-break-after: auto;
  min-height: auto;
  width: min(100%, 210mm);
  width: min(100%, var(--a4-width));
  max-width: 210mm;
  max-width: var(--a4-width);
  margin: 0 auto;
  padding: 12mm 12mm;
  padding: var(--resume-padding-vertical-alt) var(--resume-padding-horizontal-alt);
  background: white;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

/* Modern template specific - no forced page breaks */
.modern-resume-container {
  page-break-after: auto !important;
  page-break-before: auto !important;
  page-break-inside: auto !important;
  break-after: auto !important;
  break-before: auto !important;
  break-inside: auto !important;
}

/* Ensure modern template content doesn't force page breaks */
.modern-resume-container * {
  page-break-after: auto !important;
  page-break-before: auto !important;
  page-break-inside: auto !important;
  break-after: auto !important;
  break-before: auto !important;
  break-inside: auto !important;
}

/* Modern resume paper specific styles */
.modern-resume-paper {
  page-break-after: avoid !important;
  page-break-before: avoid !important;
  page-break-inside: avoid !important;
  break-after: avoid !important;
  break-before: avoid !important;
  break-inside: avoid !important;
  height: auto !important;
  min-height: auto !important;
  /* Ensure natural growth with content */
  flex-grow: 1 !important;
}

/* Export-specific height optimization for Modern template - allow natural growth */
.modern-resume-paper[style*="height: 297mm"] {
  height: auto !important;
  min-height: auto !important;
}

/* === Force full-page layout background for Modern template (print only) === */
:root{
  --page-w: 210mm;
  --page-h: 297mm;
}

@media print {
  @page { 
    size: 210mm 297mm; 
    size: var(--page-w) var(--page-h); 
    margin: 0; 
    background: white;
  }
  html, body { 
    margin: 0; 
    padding: 0; 
    background: white !important; 
  }
  
  #section-to-print {
    background: white !important;
  }
  
  .resume-preview {
    background: white !important;
  }
  
  .modern-resume-container,
  .modern-resume-paper {
    background: white !important;
  }

  .modern-print, .modern-print * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Ensure modern template backgrounds stay white; rely on actual sidebar block */
  .modern-resume-container.modern-resume-paper {
    background: white !important;
    position: relative !important;
  }

  /* Safety: avoid transforms/zoom breaking layout on print */
  #section-to-print { transform:none !important; zoom:1 !important; overflow:visible !important; }
  
  /* Ensure Modern template container spans across pages naturally */
  .modern-resume-container.modern-resume-paper {
    min-height: 297mm !important; /* Ensure full page height */
    height: auto !important; /* Allow growth if multi-page */
    margin: 0 !important;
    box-shadow: none !important;
    border: none !important;
    background: white !important; /* Ensure white background */
    position: relative !important;
    align-items: stretch !important; /* Allow pseudo/background to fill */
  }
  
  /* Paint blue sidebar for full page height */
  .modern-resume-container.modern-resume-paper::before {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 34% !important;
    height: 100% !important;
    background: #2c3e50 !important;
    z-index: 0 !important;
  }

  /* Keep sidebar/content above pseudo element */
  .modern-resume-container.modern-resume-paper > div {
    position: relative !important;
    z-index: 1 !important;
  }

  /* Force sidebar to only cover content height */
  .modern-resume-container.modern-resume-paper > div[style*="34%"] {
    min-height: auto !important;
    height: auto !important;
    align-self: flex-start !important;
    background: transparent !important;
  }
  
  /* Force content area to only cover content height */
  .modern-resume-container.modern-resume-paper > div[style*="66%"] {
    min-height: auto !important;
    height: auto !important;
    align-self: flex-start !important;
    background-color: white !important;
  }
  
  /* Make sidebar and content appear correctly */
  .modern-resume-container.modern-resume-paper > div {
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
  }

  /* === Tech Resume Template - Same sidebar extension fix === */
  /* Draw tech sidebar background on every printed page */
  .tech-resume-preview .tech-resume-container::before {
    content: "" !important;
    position: fixed !important;    /* KEY! Repeats on every page */
    z-index: 0 !important;
    top: 0 !important;
    left: 0 !important;
    width: 35% !important;         /* Tech sidebar area */
    height: 100% !important;       /* Full page height */
    background: #3b82f6 100% !important; /* Tech blue color */
    pointer-events: none !important;
  }

  /* Make tech sidebar and content appear above ::before background */
  .tech-resume-preview .tech-resume-container > div {
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    position: relative !important;
    z-index: 1 !important; /* Appear above the ::before background */
  }
  
  /* Ensure tech template container spans across pages naturally */
  .tech-resume-preview .tech-resume-container {
    min-height: 297mm !important; /* Ensure first page fills completely */
    height: auto !important; /* Allow natural growth for multiple pages */
    margin: 0 !important;
    box-shadow: none !important;
    border: none !important;
  }

  /* === English Teacher Resume - Sidebar ONLY (not header) === */
  /* Prevent blue background from tech template ::before from appearing on English Teacher header */
  .english-teacher-resume-preview .tech-resume-container::before {
    display: none !important; /* Remove blue background from tech template */
  }
  
  /* Draw sidebar background on every printed page - NOT the header */
  /* Header keeps its original gray background - ONLY extend sidebar */
  .english-teacher-resume-preview .tech-resume-container::after {
    content: "" !important;
    position: fixed !important;    /* KEY! Repeats on every page */
    z-index: 0 !important;
    top: 140px !important;         /* Start AFTER header (header is 140px) */
    left: 0 !important;
    width: 35% !important;         /* Sidebar area ONLY */
    height: calc(100% - 140px) !important; /* Full height minus header */
    background: #f7fafc !important; /* Light gray sidebar color - matches original */
    pointer-events: none !important;
  }
  
  /* Ensure English Teacher header stays gray (no blue) */
  .english-teacher-resume-preview .tech-header-bar,
  .english-teacher-resume-preview .english-header-bar {
    background: #4a5568 !important; /* Keep gray background */
  }

  /* Make English Teacher sidebar and content appear above ::after background */
  .english-teacher-resume-preview .tech-resume-container > div {
    position: relative !important;
    z-index: 1 !important; /* Appear above the ::after background */
  }
}

/* Ensure sidebar grows naturally with content during export */
.modern-resume-paper[style*="height: 297mm"] > div[style*="width: 35%"] {
  height: auto !important;
  min-height: auto !important;
}

/* Hide 2nd page when not needed */
.modern-resume-page2 {
  page-break-before: always !important;
  page-break-after: avoid !important;
  display: block !important;
  clear: both !important;
  margin-top: 30px !important;
}

/* Ensure Modern template never forces page breaks in PDF */
.modern-resume-container.modern-resume-paper {
  page-break-after: avoid !important;
  page-break-before: avoid !important;
  page-break-inside: avoid !important;
  break-after: avoid !important;
  break-before: avoid !important;
  break-inside: avoid !important;
}

.projects-page {
  page-break-before: always;
  position: relative;
  min-height: 11in;
  width: 8.5in;
  margin: 0 auto;
  padding: 0.5in;
  background: white;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

/* Remove name from subsequent pages */
.projects-page::before {
  content: none !important;
}

/* Ensure proper spacing between pages */
.resume-preview {
  display: flex;
  flex-direction: column;
  /* gap: 20px; */
}

/* Hide page headers on subsequent pages */
.resume-page:not(:first-child) .page-header {
  display: none;
}

/* Hide name in page breaks */
.page-break-header {
  display: none !important;
}

.section-break {
  page-break-inside: avoid;
}

.project-item, 
.experience-item, 
.education-item {
  page-break-inside: avoid;
  break-inside: avoid;
}

.projects-section {
  page-break-before: auto;
  page-break-after: auto;
}

/* Ensure headings don't get split */
h1, h2, h3, h4, h5, h6 {
  page-break-after: avoid;
  break-after: avoid;
}

/* Prevent orphaned list items */
li {
  page-break-inside: avoid;
  break-inside: avoid;
}

/* Hide any automated page numbers or headers */
@page {
  @top-right {
    content: none;
  }
  @top-left {
    content: none;
  }
  @top-center {
    content: none;
  }
}

/* Project Item Styles */
.project-item {
  margin-bottom: 20px;
  padding: 15px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f9f9f9;
}

.project-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.project-title {
  font-weight: bold;
  font-size: 1.1em;
  color: #333;
}

.project-link {
  color: #007bff;
  text-decoration: none;
  font-size: 0.9em;
}

.project-description {
  margin: 10px 0;
  line-height: 1.5;
  color: #666;
}

.project-technologies {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}

.technology-tag {
  background: #e9ecef;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 0.8em;
  color: #495057;
  border: 1px solid #dee2e6;
}

.website-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.website-link {
  color: #007bff;
  text-decoration: none;
  font-size: 0.9em;
}

.website-link:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .project-header {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .website-links {
    flex-direction: column;
  }
}

.project-input-group {
  margin-bottom: 15px;
}

.project-input-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: 500;
  color: #333;
}

.project-input-group input,
.project-input-group textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}

.project-input-group textarea {
  resize: vertical;
  min-height: 80px;
}

.technology-input {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

.technology-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}

.add-project-btn,
.remove-project-btn {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: background-color 0.2s;
}

.add-project-btn {
  background: #28a745;
  color: white;
}

.remove-project-btn {
  background: #dc3545;
  color: white;
}

.preview-projects-section {
  margin-top: 20px;
}

.preview-project-item {
  margin-bottom: 15px;
  padding: 10px;
  border-left: 3px solid #007bff;
  background: #f8f9fa;
}

.preview-project-title {
  font-weight: bold;
  color: #333;
  margin-bottom: 5px;
}

.preview-project-description {
  color: #666;
  line-height: 1.4;
  margin-bottom: 8px;
}

.preview-project-technologies {
  font-size: 0.9em;
  color: #888;
}

/* Tailored Resume Button Styles */
.premium-btn.tailored-btn {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 10px;
}

.premium-btn.tailored-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
  background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}

.premium-btn.tailored-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 10px rgba(102, 126, 234, 0.3);
}

/* JD Upload Modal Styles */
.jd-upload-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}

.jd-upload-modal {
  background: white;
  border-radius: 12px;
  padding: 30px;
  max-width: 500px;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.jd-upload-modal h3 {
  margin: 0 0 20px 0;
  color: #333;
  font-size: 1.5rem;
  font-weight: 600;
}

.jd-upload-modal p {
  color: #666;
  margin-bottom: 20px;
  line-height: 1.5;
}

.jd-file-input {
  border: 2px dashed #ddd;
  border-radius: 8px;
  padding: 40px 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  background: #f8f9fa;
  margin-bottom: 20px;
}

.jd-file-input:hover {
  border-color: #007bff;
  background: #f0f8ff;
}

.jd-file-info {
  background: #e8f5e8;
  border: 1px solid #28a745;
  border-radius: 6px;
  padding: 15px;
  margin-bottom: 20px;
}

.jd-file-info p {
  margin: 0;
  color: #155724;
  font-weight: 500;
}

.generate-tailored-btn {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  padding: 15px 30px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
  margin-top: 20px;
}

.generate-tailored-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.generate-tailored-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.tailored-error {
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  color: #721c24;
  padding: 12px;
  border-radius: 6px;
  margin-top: 15px;
  font-size: 14px;
}

.close-jd-upload {
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #666;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.close-jd-upload:hover {
  background: #f0f0f0;
  color: #333;
}

/* Tailored Resume Indicator */
.preview-container.tailored-mode::before {
  content: "🎯 Tailored Resume";
  position: absolute;
  top: 10px;
  right: 10px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.tailored-indicator {
  position: absolute;
  top: 10px;
  right: 10px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

@media (max-width: 768px) {
  .jd-upload-modal {
    margin: 20px;
    max-width: calc(100% - 40px);
  }
  
  .premium-btn.tailored-btn {
    padding: 10px 16px;
    font-size: 12px;
  }
  
  .premium-btn.tailored-btn span:last-child {
    display: none;
  }
}

/* Input Type Toggle Styles */
.input-type-toggle {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.toggle-btn {
  flex: 1 1;
  padding: 12px 20px;
  border: 2px solid #ddd;
  background: white;
  color: #666;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.toggle-btn.active {
  border-color: #007bff;
  background: #007bff;
  color: white;
}

.toggle-btn:hover {
  border-color: #007bff;
  color: #007bff;
}

.toggle-btn.active:hover {
  color: white;
}

.file-upload-section {
  display: block;
}

.text-input-section {
  display: none;
}

.jd-textarea {
  width: 100%;
  min-height: 200px;
  padding: 15px;
  border: 2px solid #ddd;
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  resize: vertical;
  transition: border-color 0.3s ease;
}

.jd-textarea:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.text-hint {
  font-size: 12px;
  color: #666;
  margin-top: 8px;
  font-style: italic;
}

.generate-section {
  margin-top: 20px;
}

/* English Teacher Template Styles */
.english-teacher-resume {
  width: 100%;
  height: 100%;
  background: white;
  font-family: 'Arial', sans-serif;
  color: #333;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
  overflow: hidden;
}

.english-teacher-header {
  background: #2c3e50;
  color: white;
  padding: 30px;
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-text h1 {
  margin: 0;
  font-size: 2.5rem;
  font-weight: bold;
}

.header-text p {
  margin: 5px 0 0 0;
  font-size: 1.2rem;
  opacity: 0.9;
}

.profile-picture {
  display: flex;
  align-items: center;
}

.profile-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #3498db;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid white;
}

.profile-initial {
  font-size: 2rem;
  font-weight: bold;
  color: white;
}

.english-teacher-content {
  display: flex;
  min-height: calc(100% - 140px);
}

.left-column {
  width: 35%;
  background: #f8f9fa;
  padding: 30px;
  border-right: 1px solid #e9ecef;
}

.right-column {
  width: 65%;
  padding: 30px;
}

.section-title {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 15px;
  color: #2c3e50;
  border-bottom: 2px solid #3498db;
  padding-bottom: 5px;
}

.contact-section {
  margin-bottom: 30px;
}

.contact-item {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-size: 0.9rem;
}

.contact-icon {
  margin-right: 10px;
  font-size: 1rem;
}

.skills-section {
  margin-bottom: 30px;
}

.skill-item {
  margin-bottom: 12px;
}

.skill-name {
  font-size: 0.85rem;
  margin-bottom: 5px;
  font-weight: 500;
}

.skill-progress {
  display: flex;
  gap: 2px;
}

.progress-segment {
  width: 20px;
  height: 8px;
  border-radius: 2px;
}

.progress-segment.filled {
  background: #f39c12;
}

.progress-segment.empty {
  background: #e9ecef;
}

.soft-skills-section {
  margin-bottom: 30px;
}

.soft-skill-item {
  margin-bottom: 12px;
}

.skill-dots {
  display: flex;
  gap: 4px;
}

.skill-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.skill-dot.filled {
  background: #f39c12;
}

.skill-dot.empty {
  background: #e9ecef;
}

.languages-section {
  margin-bottom: 30px;
}

.language-buttons {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.language-button {
  background: #f39c12;
  color: white;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 500;
  text-align: center;
}

.summary-section {
  margin-bottom: 30px;
}

.summary-text {
  line-height: 1.6;
  font-size: 0.9rem;
  text-align: justify;
}

.experience-section {
  margin-bottom: 30px;
}

.experience-item {
  margin-bottom: 25px;
}

.experience-header {
  margin-bottom: 10px;
}

.experience-title {
  font-size: 1rem;
  font-weight: bold;
  color: #2c3e50;
}

.experience-company {
  font-size: 0.9rem;
  color: #666;
  margin-top: 2px;
}

.experience-dates {
  font-size: 0.85rem;
  color: #888;
  text-align: right;
  margin-top: 2px;
}

.experience-points {
  margin: 0;
  padding-left: 20px;
}

.experience-points li {
  margin-bottom: 5px;
  font-size: 0.85rem;
  line-height: 1.4;
}

.education-section {
  margin-bottom: 30px;
}

.education-item {
  margin-bottom: 20px;
}

.education-header {
  margin-bottom: 8px;
}

.education-degree {
  font-size: 1rem;
  font-weight: bold;
  color: #2c3e50;
}

.education-institution {
  font-size: 0.9rem;
  color: #666;
  margin-top: 2px;
}

.education-dates {
  font-size: 0.85rem;
  color: #888;
  text-align: right;
  margin-top: 2px;
}

.education-description {
  font-size: 0.85rem;
  color: #666;
  font-style: italic;
}




/* CV Guy Template Exact Match Styles
.cvguy-template {
  font-family: 'Arial', sans-serif;
  line-height: 1.3;
  color: #000;
  background: white;
  font-size: 11px;
}

.cvguy-container {
  padding: 15px 20px;
  max-width: 210mm;
  margin: 0 auto;
}

/* Header Styles - Exact Match */
/* .cvguy-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 15px;
  padding-bottom: 10px;
}

.cvguy-profile-section {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.cvguy-profile-photo {
  width: 85px;
  height: 85px;
  border: 2px solid #000;
  border-radius: 12px;
  overflow: hidden;
  flex-shrink: 0;
}

.cvguy-profile-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cvguy-header-content {
  padding-top: 5px;
}

.cvguy-name {
  font-size: 22px;
  font-weight: bold;
  margin: 0 0 2px 0;
  color: #000;
  line-height: 1.1;
}

.cvguy-subtitle {
  font-size: 12px;
  color: #666;
  margin: 0;
  font-weight: normal;
}

.cvguy-contact-info {
  text-align: right;
  font-size: 11px;
  padding-top: 5px;
}

.contact-item {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin-bottom: 3px;
}

.contact-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #000;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  flex-shrink: 0;
}

/* Main Content Layout - Exact Proportions */
.cvguy-main-content {
  display: flex;
  gap: 20px;
}

.cvguy-left-column {
  flex: 0 0 65%;
}

.cvguy-right-column {
  flex: 0 0 32%;
  background: #f8f9fa;
  padding: 15px;
  border-radius: 0;
}

/* Summary Section */
.cvguy-summary-section {
  margin-bottom: 18px;
}

.cvguy-summary-text {
  font-size: 11px;
  line-height: 1.4;
  text-align: justify;
  margin: 0;
  color: #000;
}

/* Section Styles - Exact Match */
.cvguy-section {
  margin-bottom: 20px;
}

.cvguy-section-title {
  font-size: 13px;
  font-weight: bold;
  color: #000;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
}

.section-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #000;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  flex-shrink: 0;
}

/* Experience Styles - Exact Match */
.cvguy-experience-item {
  margin-bottom: 18px;
  padding-bottom: 15px;
}

.cvguy-experience-item:not(:last-child) {
  border-bottom: 1px solid #ddd;
}

.experience-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}

.experience-title-section h3.experience-position {
  font-size: 12px;
  font-weight: bold;
  margin: 0 0 1px 0;
  color: #000;
  line-height: 1.2;
}

.experience-company {
  font-size: 11px;
  color: #000;
  margin: 0;
  font-style: italic;
  font-weight: normal;
}

.experience-dates {
  font-size: 10px;
  color: #666;
  font-style: italic;
  text-align: right;
  white-space: nowrap;
}

.experience-content {
  margin-top: 8px;
}

.experience-subsection {
  margin-bottom: 8px;
}

.subsection-title {
  font-size: 11px;
  font-weight: bold;
  color: #000;
  margin: 0 0 4px 0;
}

.experience-list {
  margin: 0 0 0 15px;
  padding: 0;
  list-style-type: disc;
  list-style-position: outside;
}

.experience-list li {
  font-size: 10px;
  line-height: 1.3;
  margin-bottom: 2px;
  color: #000;
  padding-left: 0;
  margin-left: 0;
  display: list-item;
  list-style-type: disc;
  list-style-position: outside;
}

/* Education Styles - Exact Match */
.cvguy-education-item {
  margin-bottom: 12px;
}

.education-degree {
  font-size: 12px;
  font-weight: bold;
  margin: 0 0 2px 0;
  color: #000;
}

.education-institution {
  font-size: 11px;
  color: #000;
  margin: 0 0 3px 0;
  font-style: italic;
}

.education-details {
  margin: 0 0 0 15px;
  padding: 0;
  list-style-type: disc;
}

.education-details li {
  font-size: 10px;
  color: #000;
  margin-bottom: 1px;
}

/* Sidebar Styles - Exact Match */
.cvguy-sidebar-section {
  margin-bottom: 20px;
}

.cvguy-sidebar-title {
  font-size: 12px;
  font-weight: bold;
  color: #000;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  text-transform: uppercase;
}

.sidebar-icon {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #000;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  flex-shrink: 0;
}

/* Competencies Grid - Exact Match */
.competencies-grid {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.competency-tag {
  background: #000;
  color: white;
  padding: 4px 8px;
  font-size: 9px;
  font-weight: 500;
  text-align: center;
  border-radius: 0;
  line-height: 1.2;
}

/* Tools Grid - Exact Match */
.tools-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.tool-tag {
  background: #000;
  color: white;
  padding: 3px 6px;
  font-size: 8px;
  font-weight: 500;
  text-align: center;
  border-radius: 0;
  line-height: 1.2;
}

/* Training Styles - Exact Match */
.training-content {
  font-size: 10px;
}

.training-item {
  margin-bottom: 12px;
}

.training-title {
  font-size: 10px;
  font-weight: bold;
  margin: 0 0 2px 0;
  color: #000;
  line-height: 1.2;
}

.training-institute {
  font-size: 9px;
  color: #666;
  margin: 0 0 3px 0;
  font-style: italic;
}

.training-description {
  font-size: 9px;
  line-height: 1.3;
  color: #000;
  margin: 0;
  text-align: justify;
}

/* Languages Styles - Exact Match */
.languages-content {
  font-size: 10px;
}

.language-item {
  margin-bottom: 8px;
}

.language-name {
  font-size: 10px;
  font-weight: bold;
  color: #000;
  margin-bottom: 3px;
}

.language-bar {
  height: 6px;
  background: #e0e0e0;
  border-radius: 0;
  overflow: hidden;
}

.language-progress {
  height: 100%;
  background: #000;
  transition: width 0.3s ease;
}

/* Reference Styles - Exact Match */
.reference-content {
  font-size: 10px;
}

.reference-item {
  margin-bottom: 10px;
}

.reference-name {
  font-size: 10px;
  font-weight: bold;
  margin: 0 0 1px 0;
  color: #000;
}

.reference-designation,
.reference-company,
.reference-contact {
  font-size: 9px;
  color: #000;
  margin: 0 0 1px 0;
  line-height: 1.2;
}

/* Projects Styles */
.project-item {
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}

.project-item h3 {
  font-size: 12px;
  margin: 0 0 5px 0;
  color: #000;
}

.project-item p {
  font-size: 10px;
  margin: 0 0 5px 0;
  color: #666;
}

.project-item ul {
  margin: 0 0 0 15px;
  padding: 0;
}

.project-item li {
  font-size: 10px;
  line-height: 1.3;
  margin-bottom: 2px;
  color: #000;
}

/* Responsive Design */
@media print {
  .cvguy-container {
    padding: 10px 15px;
  }
  
  .cvguy-main-content {
    gap: 15px;
  }
  
  .cvguy-right-column {
    padding: 12px;
  }
}

@media (max-width: 768px) {
  .cvguy-header {
    flex-direction: column;
    gap: 10px;
  }
  
  .cvguy-contact-info {
    text-align: left;
  }
  
  .cvguy-main-content {
    flex-direction: column;
    gap: 15px;
  }
  
  .cvguy-left-column,
  .cvguy-right-column {
    flex: none;
  }
  
  .experience-header {
    flex-direction: column;
    gap: 3px;
  }
  
  .experience-dates {
    align-self: flex-start;
    text-align: left;
  }
}  */













/* CV Guy A4 Template - Exact Implementation */
.cv-guy-a4-template {
  font-family: Arial, sans-serif;
  background: white;
  color: #000;
  line-height: 1.2;
  font-size: 13px;
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.cv-guy-a4-container {
  /* padding: 15mm; */
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Header Section - Full Width */
.cv-guy-header-section {
  margin-bottom: 15px;
  border-bottom: 2px solid #000;
  padding-bottom: 15px;
}

.cv-guy-header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.cv-guy-header-left {
  flex: 1 1;
}

.cv-guy-main-title {
  font-size: 30px;
  font-weight: bold;
  margin: 0 0 3px 0;
  color: #000;
  letter-spacing: 1px;
}

.cv-guy-subtitle {
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 8px 0;
  color: #000;
  text-transform: uppercase;
}

.cv-guy-description {
  font-size: 13px;
  line-height: 1.3;
  margin: 0;
  color: #000;
  text-align: justify;
}

.cv-guy-header-right {
  flex-shrink: 0;
}

.cv-guy-profile-image {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #000;
}

.cv-guy-profile-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Two Column Layout */
.cv-guy-two-column-layout {
  display: flex;
  gap: 15px;
  flex: 1 1;
}

.cv-guy-left-sidebar {
  flex: 0 0 35%;
  border-right: 1px solid #ddd;
  padding-right: 15px;
}

.cv-guy-right-content {
  flex: 1 1;
  padding-left: 15px;
}

/* Sidebar Styles */
.cv-guy-sidebar-section {
  margin-bottom: 20px;
}

.cv-guy-sidebar-title {
  font-size: 13px;
  font-weight: bold;
  color: #000;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 3px;
}

.cv-guy-sidebar-icon {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #000;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  flex-shrink: 0;
}

/* Contact Information */
.cv-guy-contact-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cv-guy-contact-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.contact-icon {
  font-size: 10px;
  width: 12px;
  text-align: center;
}

.contact-text {
  color: #000;
}

/* Core Competencies */
.cv-guy-competencies-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cv-guy-competency-item {
  font-size: 14px;
  color: #000;
  padding: 2px 0;
  border-bottom: 1px solid #f0f0f0;
}

/* Tools & Tech */
.cv-guy-tools-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cv-guy-tool-item {
  font-size: 13px;
  color: #000;
  padding: 2px 0;
  border-bottom: 1px solid #f0f0f0;
}

/* Certifications */
.cv-guy-certifications-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cv-guy-certification-item {
  font-size: 13px;
  color: #000;
  line-height: 1.3;
}

/* Main Content Styles */
.cv-guy-main-section {
  margin-bottom: 18px;
}

.cv-guy-main-title {
  font-size: 15px;
  font-weight: bold;
  color: #000;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 3px;
}

.cv-guy-main-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #000;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  flex-shrink: 0;
}

/* Work Experience */
.cv-guy-experience-item {
  margin-bottom: 15px;
  padding-bottom: 10px;
}

.cv-guy-experience-item:not(:last-child) {
  border-bottom: 1px solid #f0f0f0;
}

.cv-guy-experience-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}

.cv-guy-experience-left {
  flex: 1 1;
}

.cv-guy-job-title {
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 3px 0;
  color: #000;
}

.cv-guy-company-info {
  display: flex;
  align-items: center;
  gap: 4px;
}

.cv-guy-company-icon {
  font-size: 8px;
  color: #666;
}

.cv-guy-company-name {
  font-size: 12px;
  color: #000;
  font-weight: 500;
}

.cv-guy-experience-dates {
  font-size: 10px;
  color: #666;
  text-align: right;
  white-space: nowrap;
}

.cv-guy-experience-content {
  margin-top: 8px;
}

.cv-guy-highlights,
.cv-guy-duties {
  margin-bottom: 8px;
}

.cv-guy-subsection-title {
  font-size: 12px;
  font-weight: bold;
  color: #000;
  margin: 0 0 4px 0;
}

.cv-guy-bullet-list {
  margin: 0 0 0 12px;
  padding: 0;
  list-style-type: disc;
  list-style-position: outside;
}

.cv-guy-bullet-list li {
  font-size: 13px;
  line-height: 1.3;
  margin-bottom: 2px;
  color: #000;
  padding-left: 0;
  margin-left: 0;
  display: list-item;
  list-style-type: disc;
  list-style-position: outside;
}

/* Education */
.cv-guy-education-item {
  margin-bottom: 8px;
}

.cv-guy-degree-title {
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 2px 0;
  color: #000;
}

.cv-guy-institution-name {
  font-size: 13px;
  color: #000;
  margin: 0;
}

/* Projects */
.cv-guy-project-item {
  margin-bottom: 10px;
}

.cv-guy-project-title {
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 3px 0;
  color: #000;
}

.cv-guy-project-description {
  font-size: 13px;
  line-height: 1.3;
  margin: 0 0 4px 0;
  color: #000;
}

/* Reference */
.cv-guy-reference-item {
  margin-bottom: 8px;
}

.cv-guy-reference-name {
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 2px 0;
  color: #000;
}

.cv-guy-reference-details {
  font-size: 14px;
  color: #000;
  margin: 0 0 1px 0;
  line-height: 1.2;
}

/* Print Optimization */
@media print {
  .cv-guy-a4-template {
    box-shadow: none;
    margin: 0;
  }
  
  .cv-guy-a4-container {
    padding: 10mm;
  }
  
  .cv-guy-two-column-layout {
    gap: 10px;
  }
  
  .cv-guy-left-sidebar {
    padding-right: 10px;
  }
  
  .cv-guy-right-content {
    padding-left: 10px;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .cv-guy-a4-template {
    width: 100%;
    min-height: auto;
  }
  
  .cv-guy-header-content {
    flex-direction: column;
    gap: 10px;
  }
  
  .cv-guy-two-column-layout {
    flex-direction: column;
    gap: 15px;
  }
  
  .cv-guy-left-sidebar {
    flex: none;
    border-right: none;
    border-bottom: 1px solid #ddd;
    padding-right: 0;
    padding-bottom: 15px;
  }
  
  .cv-guy-right-content {
    flex: none;
    padding-left: 0;
  }
  
  .cv-guy-experience-header {
    flex-direction: column;
    gap: 3px;
  }
  
  .cv-guy-experience-dates {
    align-self: flex-start;
    text-align: left;
  }
}






/* Jasmine Template - Exact Implementation */
.jasmine-template {
  font-family: 'Times New Roman', Times, serif;
  background: white;
  color: #000;
  line-height: 1.4;
  font-size: 15px;
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.jasmine-container {
  padding: 0;
  height: 100%;
}

/* Header Section */
.jasmine-header {
  text-align: center;
  margin-bottom: 25px;
}

.jasmine-name {
  font-size: 30px;
  font-weight: bold;
  margin: 0 0 10px 0;
  color: #000;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.jasmine-contact-info {
  font-size: 14px;
  color: #000;
  margin-bottom: 12px;
}

.contact-separator {
  margin: 0 3px;
}

.jasmine-header-line {
  width: 100%;
  height: 1px;
  background-color: #000;
  margin: 0 auto;
}

/* Section Styles */
.jasmine-section {
  margin-bottom: 25px;
}

.jasmine-section-title {
  font-size: 15px;
  font-weight: bold;
  color: #000;
  margin: 0 0 5px 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.jasmine-section-line {
  width: 100%;
  height: 1px;
  background-color: #000;
  margin-bottom: 15px;
}

/* Summary Section */
.jasmine-summary-text {
  font-size: 13px;
  line-height: 1.5;
  text-align: justify;
  margin: 0;
  color: #000;
}

/* Education Section */
.jasmine-education-item {
  margin-bottom: 18px;
}

.jasmine-education-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 6px;
}

.jasmine-education-left {
  flex: 1 1;
}

.jasmine-degree-title {
  font-size: 15px;
  font-weight: bold;
  margin: 0 0 3px 0;
  color: #000;
}

.jasmine-institution {
  font-size: 15px;
  color: #000;
  margin: 0;
  font-style: italic;
}

.jasmine-education-date {
  font-size: 15px;
  color: #000;
  font-weight: bold;
  text-align: right;
  white-space: nowrap;
  margin-left: 20px;
}

.jasmine-coursework,
.jasmine-certificate {
  font-size: 13px;
  color: #000;
  margin: 4px 0 0 0;
  line-height: 1.4;
}

/* Experience Section */
.jasmine-experience-item {
  margin-bottom: 20px;
}

.jasmine-experience-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}

.jasmine-experience-left {
  flex: 1 1;
}

.jasmine-job-title {
  font-size: 15px;
  font-weight: bold;
  margin: 0 0 3px 0;
  color: #000;
}

.jasmine-company {
  font-size: 15px;
  color: #000;
  margin: 0;
  font-style: italic;
}

.jasmine-experience-date {
  font-size: 15px;
  color: #000;
  font-weight: bold;
  text-align: right;
  white-space: nowrap;
  margin-left: 20px;
}

.jasmine-experience-list {
  margin: 0 0 0 20px;
  padding: 0;
  list-style-type: disc;
}

.jasmine-experience-list li {
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 5px;
  color: #000;
  text-align: justify;
}

/* Professional Skills Section */
.jasmine-skills-grid {
  display: flex;
  gap: 40px;
}

.jasmine-skills-column {
  flex: 1 1;
}

.jasmine-skills-list {
  margin: 0;
  padding: 0 0 0 20px;
  list-style-type: disc;
  list-style-position: outside;
}

.jasmine-skills-list li {
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 4px;
  color: #000;
  padding-left: 0;
  margin-left: 0;
  display: list-item;
  list-style-type: disc;
  list-style-position: outside;
}

/* Technical Skills Section */
.jasmine-tech-skills-grid {
  display: flex;
  gap: 30px;
}

.jasmine-tech-column {
  flex: 1 1;
}

.jasmine-tech-list {
  margin: 0;
  padding: 0 0 0 20px;
  list-style-type: disc;
  list-style-position: outside;
}

.jasmine-tech-list li {
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 4px;
  color: #000;
  padding-left: 0;
  margin-left: 0;
  display: list-item;
  list-style-type: disc;
  list-style-position: outside;
}

/* Projects Section */
.jasmine-project-item {
  margin-bottom: 18px;
}

.jasmine-project-title {
  font-size: 15px;
  font-weight: bold;
  margin: 0 0 6px 0;
  color: #000;
}

.jasmine-project-description {
  font-size: 13px;
  line-height: 1.5;
  margin: 0 0 6px 0;
  color: #000;
  text-align: justify;
}

.jasmine-project-tech {
  font-size: 13px;
  color: #000;
  margin: 0;
}

/* Print Optimization */
@media print {
  .jasmine-template {
    box-shadow: none;
    margin: 0;
  }
  
  .jasmine-container {
     
  }
  
  .jasmine-section {
    page-break-inside: avoid;
  }
  
  .jasmine-experience-item {
    page-break-inside: avoid;
  }
  
  .jasmine-education-item {
    page-break-inside: avoid;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .jasmine-template {
    width: 100%;
    min-height: auto;
  }
  
  .jasmine-container {
    /* padding: 15px; */
  }
  
  .jasmine-name {
    font-size: 20px;
    letter-spacing: 1px;
  }
  
  .jasmine-education-header,
  .jasmine-experience-header {
    flex-direction: column;
    gap: 3px;
  }
  
  .jasmine-education-date,
  .jasmine-experience-date {
    align-self: flex-start;
    text-align: left;
    margin-left: 0;
  }
  
  .jasmine-skills-grid {
    flex-direction: column;
    gap: 15px;
  }
  
  .jasmine-tech-skills-grid {
    flex-direction: column;
    gap: 10px;
  }
}



/* Benjamin Anderson Template Styles */
/* This file contains all the CSS for the Benjamin Anderson resume template. */

/* General Reset and Body Styles */
body {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif; /* Default font, can be adjusted */
  line-height: 1.5;
  color: #333;
}

/* Main Resume Container */
.resume-container {
  max-width: 800px; /* Matches the width in the image */
  margin: 20px auto; /* Center the resume with some margin */
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Subtle shadow */
  border: 1px solid #eee; /* Light border */
}

@media print {
  .resume-container {
    box-shadow: none;
    margin: 0;
    border: none;
  }
}

/* Header Section */
.header-section {
  background-color: #e0f2f7; /* Light blue background */
  padding: 25px 40px; /* Adjusted padding: slightly less top/bottom */
  display: flex;
  justify-content: space-between;
  align-items: center; /* Vertically center items */
}

.header-text-content { /* Wrapper for name, title, and contact info */
  flex: 1 1; /* Allows text content to take available space */
}

.header-name {
  font-size: 32px; /* Larger font for name */
  font-weight: bold;
  color: #1a202c; /* Dark gray */
  margin-bottom: 2px; /* Reduced space below name */
}

.header-title {
  font-size: 18px;
  color: #4a5568; /* Medium gray */
  margin-bottom: 20px; /* Space below title */
}

.contact-info-grid {
  display: flex;
  flex-wrap: nowrap; /* Prevent wrapping on larger screens */
  align-items: center;
  font-size: 14px; /* Adjusted font size for contact info */
  color: #4a5568; /* text-gray-700 */
  gap: 20px; /* Increased gap between contact items */
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 8px; /* space-x-2 */
}

.contact-icon {
  font-size: 16px; /* Icon size */
  font-weight: bold; /* Make icons bolder if needed */
}

.profile-photo-container {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: #d1d5db; /* Light gray placeholder */
  overflow: hidden;
  border: 4px solid #fff; /* White border */
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); /* Shadow for depth */
  flex-shrink: 0; /* Prevent shrinking */
  margin-left: 30px; /* Space from text content */
}

.profile-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Main Content Area */
.main-content { /* Renamed from main-content-padding for clarity */
  padding: 40px; /* Padding around the main content sections */
}

/* Section Layout (Two Columns) */
.section-container {
  margin-bottom: 30px; /* Space between sections */
  display: flex;
}

.section-heading-col {
  width: 25%; /* Left column for headings */
  padding-right: 25px; /* Space between heading and content */
  padding-top: 3px; /* Align text baseline */
  text-align: right; /* Align heading text to the right */
  flex-shrink: 0; /* Prevent shrinking */
}

.section-title {
  font-size: 18px;
  font-weight: bold;
  color: #1a202c;
  position: relative;
  display: inline-block; /* To make underline fit content */
  padding-bottom: 3px; /* Space for underline */
}

/* .section-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px; /* Underline thickness */
   /* Blue underline */


.section-content-col {
  width: 75%; /* Right column for content */
}

/* Professional Summary */
.summary-text {
  font-size: 14px;
  color: #4a5568;
  line-height: 1.6;
  text-align: justify;
  margin: 0;
}

/* Work Experience & Education Items */
.experience-item,
.education-item {
  margin-bottom: 25px; /* Space between individual entries */
}

.experience-header,
.education-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}

.job-title,
.degree-title {
  font-size: 15px;
  font-weight: bold;
  color: #1a202c;
}

.company-name,
.institution-name {
  font-size: 14px;
  color: #4a5568;
  font-weight: 500;
}

.experience-date,
.education-date {
  font-size: 13px;
  color: #4a5568;
  font-weight: 500;
  white-space: nowrap; /* Prevent date from wrapping */
  margin-left: 15px; /* Space from title */
}

.experience-list {
  list-style-type: disc;
  list-style-position: inside;
  padding-left: 15px; /* Indent list items */
  margin: 0;
}

.experience-list li {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 5px;
  color: #4a5568;
}

.coursework-text {
  font-size: 14px;
  color: #4a5568;
  margin-top: 8px;
  line-height: 1.5;
}

/* Skills and Soft Skills Grid */
.skills-grid-container,
.soft-skills-grid-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Two columns */
  grid-gap: 30px;
  gap: 30px; /* Gap between columns */
}

.skills-column,
.soft-skills-column {
  display: flex;
  flex-direction: column;
  gap: 15px; /* Space between skill items */
}

.skill-item-container {
  margin-bottom: 0; /* Reset default margin */
}

.skill-name-text {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 5px;
  color: #1f2937; /* Darker gray */
}

.progress-bar-wrapper {
  display: flex;
  gap: 2px; /* Small gap for segments */
  width: 100%;
}

.progress-segment {
  height: 6px; /* Height of the bar segment */
  flex: 1 1; /* Distribute space evenly */
}

.progress-segment.filled {
  background-color: #1f2937; /* Dark gray for filled segments */
}

.progress-segment.empty {
  background-color: #d1d5db; /* Light gray for empty segments */
}

.soft-skill-item-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
}

.soft-skill-name-text {
  font-size: 14px;
  font-weight: 500;
  color: #1f2937;
}

.dot-rating-wrapper {
  display: flex;
  gap: 3px; /* Small gap for dots */
}

.dot {
  width: 8px; /* Size of the dots */
  height: 8px; /* Size of the dots */
  border-radius: 50%;
}

.dot.filled {
  background-color: #1f2937;
}

.dot.empty {
  background-color: #d1d5db;
}

/* Projects Section */
.project-item {
  margin-bottom: 25px;
}

.project-title {
  font-weight: bold;
  color: #1a202c;
  font-size: 15px;
}

.project-description {
  color: #4a5568;
  font-size: 14px;
  margin-top: 8px;
  line-height: 1.5;
}

.project-tech {
  font-size: 14px;
  color: #4a5568;
  margin-top: 8px;
}

/* Print Optimization */
@media print {
  body {
    background-color: #fff;
  }
  .resume-container {
    box-shadow: none;
    margin: 0;
    border: none;
  }
  .section-container {
    page-break-inside: avoid; /* Prevent sections from breaking across pages */
  }
  .experience-item {
    page-break-inside: avoid;
  }
  .education-item {
    page-break-inside: avoid;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .resume-container {
    max-width: 100%;
    margin: 0;
    border: none;
    box-shadow: none;
  }
  .header-section {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
  }
  .header-text-content {
    width: 100%;
    margin-bottom: 20px;
  }
  .profile-photo-container {
    margin-left: 0;
    align-self: center; /* Center photo when stacked */
  }
  .contact-info-grid {
    flex-wrap: wrap; /* Allow wrapping on small screens */
    gap: 10px;
  }
  .main-content {
    padding: 20px;
  }
  .section-container {
    flex-direction: column; /* Stack columns on small screens */
  }
  .section-heading-col {
    width: 100%;
    text-align: left; /* Align heading to left on mobile */
    padding-right: 0;
    margin-bottom: 10px;
  }
  /* .section-title::after {
    left: 0;
    width: 50px; 
  } */
  .section-content-col {
    width: 100%;
  }
  .skills-grid-container,
  .soft-skills-grid-container {
    grid-template-columns: 1fr; /* Single column on small screens */
    gap: 15px;
  }
  .skills-column,
  .soft-skills-column {
    gap: 10px;
  }
}

/* Enhanced Print Styles for A4 Formatting */
@media print {
  @page {
    size: A4;
    /* margin: 0.5in; */
    padding: 0;
  }
  
  html, body {
    margin: 0;
    padding: 0;
    background: white;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  /* Consistent dimensions using CSS variables for all templates */
  .resume-paper,
  .modern-resume-container,
  .modern-resume-paper,
  .tech-resume-preview,
  .tech-resume-container,
  .simple-resume-paper,
  #section-to-print {
    width: 210mm !important;
    width: var(--a4-print-width) !important;
    max-width: 210mm !important;
    max-width: var(--a4-print-width) !important;
    min-height: auto !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  /* Preserve flex layouts in print */
  #section-to-print[style*="display: flex"],
  .resume-container[style*="display: flex"],
  .flex-layout {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
  }
  
  /* Preserve grid layouts */
  .skills-3-column,
  .skills-grid,
  .grid-layout {
    display: grid !important;
  }
  
  /* Ensure proper page breaks - let react-to-print handle naturally */
  .resume-paper:not(.professional-template):not(.simple-template):not(.modern-template) {
    page-break-after: auto;
    min-height: 0;
  }
  
  .resume-paper:last-child {
    page-break-after: auto;
  }
  
  .projects-page {
    page-break-before: always;
    page-break-after: auto;
  }
  
  /* Prevent orphaned content */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    break-after: avoid;
  }
  
  .experience-item,
  .education-item,
  .project-item {
    page-break-inside: avoid;
    break-inside: avoid;
  }
  
  /* Hide non-printable elements */
  .no-print,
  .print-hide {
    display: none !important;
  }
  
  /* Only apply general spacing and font styles to non-template resumes */
  .resume-container:not(.professional-template):not(.simple-template):not(.modern-template) .section-container {
    /* margin-bottom: 12pt; */
  }
  
  .resume-container:not(.professional-template):not(.simple-template):not(.modern-template) .section-title {
    /* margin-bottom: 8pt; */
  }
  
  /* Only apply general font sizes to non-template resumes */
  .resume-container:not(.professional-template):not(.simple-template):not(.modern-template) .header-name {
    font-size: 18pt;
  }
  
  .resume-container:not(.professional-template):not(.simple-template):not(.modern-template) .header-title {
    font-size: 14pt;
  }
  
  .resume-container:not(.professional-template):not(.simple-template):not(.modern-template) .section-title {
    font-size: 12pt;
  }
  
  .resume-container:not(.professional-template):not(.simple-template):not(.modern-template) .experience-title,
  .resume-container:not(.professional-template):not(.simple-template):not(.modern-template) .education-degree {
    font-size: 11pt;
  }
  
  .resume-container:not(.professional-template):not(.simple-template):not(.modern-template) .experience-company,
  .resume-container:not(.professional-template):not(.simple-template):not(.modern-template) .education-institution {
    font-size: 10pt;
  }
}

/* Additional print control classes */
.page-break-before {
  page-break-before: always;
}

.page-break-after {
  page-break-after: always;
}

.page-break-inside-avoid {
  page-break-inside: avoid;
  break-inside: avoid;
}

/* Print-specific spacing */
@media print {
  .print-margin-bottom {
    /* margin-bottom: 12pt !important; */
  }
  
  .print-margin-top {
    /* margin-top: 12pt !important; */
  }
  
  .print-padding {
    /* padding: 8pt !important; */
  }
}









/* ...................... */

/* Page break for multi-page resumes */
/* .page-break-before {
  page-break-before: always;
  break-before: page;
} */

/* Project styling */
/* .professional-project-item {
  margin-bottom: 1.5em;
} */

/* .professional-project-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.5em;
}

.professional-project-title {
  margin: 0;
  font-size: 1em;
}

.professional-project-year {
  font-size: 0.9em;
  color: #666;
}

.professional-project-tech {
  margin: 0.5em 0;
  font-size: 0.9em;
}

.professional-project-points {
  margin: 0.5em 0;
  padding-left: 1.2em;
}

.professional-project-link {
  margin: 0.5em 0 0 0;
  font-size: 0.9em;
}

.professional-achievements-list {
  margin: 0;
  padding-left: 1.2em;
}

/* Ensure proper page breaks in print/PDF */
/* @media print {
  .page-break-before {
    page-break-before: always;
  }
  
  .resume-paper {
    box-shadow: none;
    margin: 0;
  }
}  */

/* ........................... */



/* Multi-page support */
/* .page-break-before {
  page-break-before: always;
  break-before: page;
}

/* Project styling improvements */
/* .professional-project-item {
  margin-bottom: 1.5em;
  break-inside: avoid;
  page-break-inside: avoid;
}

.professional-project-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.5em;
}

.professional-project-title {
  margin: 0;
  font-size: 1em;
}

.professional-project-year {
  font-size: 0.9em;
  color: #666;
  white-space: nowrap;
}

.professional-project-tech {
  margin: 0.5em 0;
  font-size: 0.9em;
}

.professional-project-points {
  margin: 0.5em 0 1em 0;
  padding-left: 1.2em;
}

.professional-project-link {
  margin: 0.5em 0 0 0;
  font-size: 0.9em;
}  */

/* Print optimizations */
/* @media print {
  .page-break-before {
    page-break-before: always !important;
  }
  
  .professional-project-item {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
} */




.resume-preview,
.modern-resume-container,
.tech-resume-preview,
.tech-resume-container,
.pe-teacher-resume,
.cvguy-template-wrapper,
.resume-container,
.jasmine-template,
.cv-guy-a4-template,
.resume-paper {
  width: 210mm !important;
  min-height: auto !important; /* Allow natural height growth */
  max-width: 210mm !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

@media print {
  .resume-preview,
  .modern-resume-container,
  .tech-resume-preview,
  .tech-resume-container,
  .pe-teacher-resume,
  .cvguy-template-wrapper,
  .resume-container,
  .jasmine-template,
  .cv-guy-a4-template,
  .resume-paper {
    width: 210mm !important;
    min-height: auto !important; /* Allow natural height growth for print */
    max-width: 210mm !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    page-break-inside: auto !important;
  }
}
/* --- resume-landing.css --- */
/* --- Main Landing Page Styles --- */
* {
  box-sizing: border-box;
}

.resume-landing {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background-color: var(--background);
  color: var(--foreground);
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

.landing-nav {
  background-color: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  border-bottom: 1px solid var(--border);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 50;
  padding: 1rem 0;
}

.nav-container {
  
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.resume-landing .nav-logo {
  flex-shrink: 0; /* Prevents the logo from shrinking */
}

.resume-landing .nav-logo h2 {
  /* font-size: 1.5rem; */
  font-weight: 700;
  color: var(--primary);
  white-space: nowrap; /* Prevents text from wrapping */
  margin: 0; /* Ensure no extra margin causes wrapping */
  padding: 0; /* Ensure no extra padding causes wrapping */
}

.nav-links {
  display: flex;
  gap: 1.5rem;
}

.resume-nav-links {
  display: flex;
  align-items: center;
  
  margin-right: 0;
  padding-right: 0;
}

.nav-link {
  /* font-size: 1rem; */
  /* font-weight: 500; */
  /* color: var(--muted-foreground); */
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem 0;
  position: relative;
  transition: color 0.2s ease;
}

/* .nav-link:hover {
  color: var(--foreground);
} */

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  /* background-color: var(--primary);
  transition: width 0.3s ease; */
}

.nav-link.active, .nav-link:hover::after {
  width: 100%;
}

.nav-link.active {
  color: var(--primary);
}

/* Resume Landing Page Specific Navbar Styles */
.resume-nav-link {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.22px;
  color: var(--primary);
  border: none;
  cursor: pointer;
  padding: 0.5rem 1rem;
  background: none !important;
  background-color: transparent !important;
  position: relative;
  transition: all 0.2s ease;
  text-decoration: none;
  gap: 20px;
  flex-wrap: wrap;
}

.resume-nav-link:hover {
  color: var(--primary);
  background: none !important;
  background-color: transparent !important;
}

/* Back Button Styling - Compact Left Edge */
.resume-nav-link.resume-back-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  /* font-size: 16px; */
  font-weight: 600;
  letter-spacing: 0.1px;
  /* color: var(--foreground);
  background: var(--primary); */
  border-radius: 15px;
  padding: 0.4rem 0.8rem;
  margin-top: 14px;
  white-space: nowrap;
  transform: translateY(2px);
  min-width: auto;
}

/* .resume-nav-link.resume-back-btn:hover {
  
  color: var(--foreground);
} */

/* Pro Resume Builder Text Alignment */
.resume-landing .nav-logo h2 {
  margin-top: 14px;
  white-space: nowrap;
  display: inline-block;
  margin-left: 0;
  padding-left: 0;
}

/* Mobile Menu Toggle Button */
.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001;
}

.hamburger-line {
  width: 25px;
  height: 3px;
  background-color: var(--foreground);
  margin: 3px 0;
  transition: 0.3s;
  border-radius: 2px;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
  transform: rotate(-45deg) translate(-5px, 6px);
}

.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
  opacity: 0;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
  transform: rotate(45deg) translate(-5px, -6px);
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
  .mobile-menu-toggle {
    display: flex;
  }

  .resume-nav-links {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, 0.98);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    z-index: 1000;
    padding: 2rem;
  }

  .resume-nav-links.mobile-menu-open {
    transform: translateX(0);
  }

  .resume-nav-link {
    font-size: 1.5rem;
    padding: 0.5rem 1rem;
    width: 100%;
    text-align: center;
    transition: all 0.3s ease;
  }

  .resume-nav-link:hover {
    transform: scale(1.05);
  }

  .resume-nav-link.resume-back-btn {
    font-size: 1.2rem;
    padding: 0.5rem 1rem;
    width: auto;
    text-align: left;
    margin-top: 0;
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
  }

  .resume-nav-link.resume-logout-btn {
    font-size: 1.5rem;
    padding: 1rem 2rem;
    width: 100%;
    text-align: center;
  }

  .resume-tools-dropdown-container {
    width: 100%;
  }

  .resume-tools-dropdown-btn {
    width: 100%;
    font-size: 1.5rem;
    padding: 1rem 2rem;
  }

  .resume-tools-dropdown-menu {
    position: static;
    width: 100%;
    box-shadow: none;
    background: var(--secondary);
    border-radius: 10px;
    margin-top: 1rem;
  }

  .resume-tools-dropdown-item {
    width: 100%;
    padding: 1rem 2rem;
    font-size: 1.2rem;
    text-align: center;
    border-radius: 5px;
    margin: 0.5rem 0;
  }

  .nav-container {
    justify-content: space-between;
    align-items: center;
  }

  .resume-landing .nav-logo {
    flex: 1 1;
  }
}

@media (max-width: 480px) {
  .resume-nav-links {
    padding: 1rem;
    gap: 1.5rem;
  }

  .resume-nav-link {
    font-size: 1.3rem;
    padding: 0.8rem 1.5rem;
  }

  .resume-nav-link.resume-back-btn {
    /* font-size: 1.1rem; */
    padding: 0.4rem 0.8rem;
    left: 0.5rem;
  }

  .resume-nav-link.resume-logout-btn {
    font-size: 1.3rem;
    padding: 0.8rem 1.5rem;
  }

  .resume-tools-dropdown-btn {
    font-size: 1.3rem;
    padding: 0.8rem 1.5rem;
  }

  .resume-tools-dropdown-item {
    font-size: 1.1rem;
    padding: 0.8rem 1.5rem;
  }
}

/* Tools Dropdown Styles */
.tools-dropdown-container {
  position: relative;
  display: inline-block;
}

.tools-dropdown-btn {
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  padding: 0.5rem 1rem;
  position: relative;
  transition: all 0.2s ease;
  color: var(--primary);
  font-size: 1rem;
  font-weight: 500;
}

.tools-dropdown-btn:hover {
  background: var(--border);
}

.tools-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--card);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  z-index: 50;
  min-width: 160px;
  margin-top: 8px;
  padding: 4px 0;
}

.tools-dropdown-item {
  display: block;
  width: 100%;
  padding: 12px 16px;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--primary);
  font-size: 14px;
  font-weight: 600;
  transition: background-color 0.2s ease;
}

.tools-dropdown-item:hover {
  background-color: transparent;
}

/* Resume Landing Page Tools Dropdown Styles */
.resume-tools-dropdown-container {
  position: relative;
  display: inline-block;
}

.resume-tools-dropdown-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.22px;
  color: var(--primary);
  border: none;
  cursor: pointer;
  padding: 0.5rem 1rem;
  
  position: relative;
  transition: all 0.2s ease;
  gap: 20px;
  flex-wrap: wrap;
}

.resume-tools-dropdown-btn:hover {
  color: var(--primary);
 
}

.resume-tools-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--card);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  z-index: 50;
  min-width: 160px;
  margin-top: 8px;
  padding: 4px 0;
}

.resume-tools-dropdown-item {
  display: block;
  width: 100%;
  padding: 12px 16px;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--primary);
  font-size: 14px;
  font-weight: 600;
  transition: background-color 0.2s ease;
}

.resume-tools-dropdown-item:hover {
  background-color: transparent;
}

/* Logout Button Styling */
.nav-link.logout-btn {
  background: var(--primary);
  color: var(--foreground);
  border-radius: 6px;
  padding: 0.5rem 1rem;
  font-weight: 500;
}

.nav-link.logout-btn:hover {
  background: #1d4ed8;
  color: var(--foreground);
}
.logout-btns{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.22px;
  color: var(--foreground);
  background-color: var(--primary);
  border: 2px solid transparent;
  padding: 0.5rem 1rem;
  cursor: pointer;
  gap: 20px;
  flex-wrap: wrap;
  border-radius: 25px;
}
/* Resume Landing Page Logout Button Styling */




.landing-main {
  padding-top: 4rem;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

/* Hero Section */
.hero-section {
  text-align: center;
  padding: 4rem 1.5rem;
}

/* Resume Landing Page Hero Section */
.resume-hero-section {
  text-align: center;
  padding: 4rem 1.5rem;
  margin-top: -6%;
  background: linear-gradient(135deg, var(--foreground) 0%, #334155 100%);
}

.hero-container {
  max-width: 800px;
  margin: 0 auto;
}

.hero-title {
   font-size: 3.5rem; 
  /* font-weight: 800; */
  line-height: 1.1;
  color: var(--foreground);
  /* margin-bottom: 1.5rem; */
}

/* Resume Landing Page Hero Title */
.resume-hero-title {
  font-size: 2.0rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--foreground);
  margin-bottom: 1.5rem;
}

.hero-subtitle {
  font-size: 1.25rem;
  color: var(--muted-foreground);
 
  line-height: 1.6;
}

.hero-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2%;
}

.btn-primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  color: var(--primary-foreground);
  border: none;
  padding: 0.875rem 2rem;
  border-radius: 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px -1px hsla(165, 37%, 22%, 0.1), 0 2px 4px -1px hsla(165, 37%, 22%, 0.06);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px hsla(165, 37%, 22%, 0.1), 0 4px 6px -2px hsla(165, 37%, 22%, 0.05);
}

.btn-primary.large {
  padding: 1rem 2.5rem;
  font-size: 1.125rem;
} 

.btn-secondary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  color: var(--primary-foreground);
  border: none;
  padding: 0.875rem 2rem;
  border-radius: 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px -1px hsla(165, 37%, 22%, 0.1), 0 2px 4px -1px hsla(165, 37%, 22%, 0.06);
}

.btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px hsla(165, 37%, 22%, 0.1), 0 4px 6px -2px hsla(165, 37%, 22%, 0.05);
}


/* CTA Section */
.cta-section {
  /* background: linear-gradient(135deg, rgba(138, 168, 249, 1), rgba(141, 211, 252, 1)); */
  color: var(--foreground);
 
  text-align: center;
  /* margin-top: -3%; */
  margin-bottom: 2%;
}

.cta-container {
  max-width: 600px;
  margin: 0 auto;
}

.cta-container h2 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.cta-container p {
  font-size: 1.125rem;
  margin-bottom: 2rem;
  opacity: 0.9;
}

/* Content Section */
.content-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  min-height: calc(100vh - 200px);
}

/* JD Align Resume Styles */
.jd-align-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
}

.jd-align-container h2 {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--foreground);
  text-align: center;
  margin-bottom: 0.5rem;
}

.jd-align-subtitle {
  text-align: center;
  color: var(--muted-foreground);
  font-size: 1.125rem;
  margin-bottom: 3rem;
}

.jd-align-options {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1 1;
  overflow-y: auto;
}

.jd-option-card {
  background: var(--card);
  padding: 1.25rem;
  border-radius: 1rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  border: 2px solid var(--border);
  /* transition: all 0.3s ease; */
  /* margin-top: -1.9%; */
}

.jd-option-card:hover {
  border-color: var(--primary);
  /* transform: translateY(-2px); */
}

.jd-option-card h3 {
  /* font-size: 1.1rem; */
  font-weight: 600;
  color: var(--foreground);
  /* margin-bottom: 0.75rem; */
  margin-top: -2.3%;
}

.file-upload-area {
  margin-bottom: 0.75rem;
}

.file-upload-label {
  display: block;
  padding: 1rem;
  border: 2px dashed var(--border);
  border-radius: 0.75rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  color: var(--muted-foreground);
  font-weight: 500;
}

.file-upload-label:hover {
  border-color: var(--primary);
  background: var(--secondary);
  color: var(--primary);
}

.file-hint {
  font-size: 0.8rem;
  color: var(--muted-foreground);
  margin: 0;
}

.toggle-options {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  z-index: 0;
}

.toggle-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  padding: 0.75rem;
  border: 2px solid var(--border);
  border-radius: 0.75rem;
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  background: var(--card);
}

.toggle-option:hover {
  border-color: var(--primary);
  background: var(--secondary);
  z-index: 10;
  box-shadow: 0 0 0 2px var(--primary);
  transform: translateY(-1px);
}

.toggle-option input[type="radio"] {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--primary);
}

.toggle-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  color: var(--foreground);
}

.toggle-icon {
  font-size: 1.25rem;
  font-weight: bold;
}

.toggle-option:has(input:checked) {
  border-color: var(--primary);
  background: #f0f9ff;
}

.jd-submit-section {
  text-align: center;
  margin-top: 1rem;
  flex-shrink: 0;
}

.jd-submit-section button {
  padding: 1rem 2.5rem;
  font-size: 1.125rem;
}

.jd-submit-section button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Processing State */
.jd-processing {
  text-align: center;
  padding: 4rem 2rem;
}

.jd-processing h2 {
  font-size: 2rem;
  font-weight: 700;
  color: var(--foreground);
  margin-bottom: 2rem;
}

.processing-spinner {
  font-size: 3rem;
  margin-bottom: 1rem;
  animation: spin 2s linear infinite;
}

.jd-processing p {
  color: var(--muted-foreground);
  font-size: 1.125rem;
}

/* Result State */
.jd-result {
  text-align: center;
  padding: 20px;
}

.match-box {
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  padding: 15px;
  margin: 15px 0;
}

.match-box p {
  font-size: 18px;
  font-weight: bold;
  color: var(--muted-foreground);
  margin: 0 0 10px 0;
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.chip {
  background: var(--primary);
  color: var(--foreground);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
}

.reco-box {
  background: #fff3cd;
  border: 2px solid #ffeaa7;
  border-radius: 8px;
  padding: 15px;
  margin: 15px 0;
  text-align: left;
}

.reco-box h4 {
  color: #92400e;
  margin: 0 0 10px 0;
  font-size: 16px;
}

.reco-box ul {
  margin: 0;
  padding-left: 20px;
}

.reco-box li {
  color: #92400e;
  margin: 5px 0;
  font-size: 14px;
}

.jd-result-actions {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 20px;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .jd-align-container {
    padding: 1rem;
  }
  
  .jd-align-container h2 {
    font-size: 2rem;
  }
  
  .jd-option-card {
    padding: 1.5rem;
  }
  
  .result-actions {
    flex-direction: column;
  }
  
  .result-actions button {
    width: 100%;
  }
}

/* Footer Styles */
.resume-footer {
  display: flex;
  flex-direction: column;
  background-color: var(--primary);
  width: 100%;
}

.resume-footer-logo {
  height: 100px;
}

.resume-footer-content {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 60px;
}

.resume-footer-top {
  display: flex;
  flex-direction: column;
  max-width: 400px;
}

.resume-footer-info {
  display: flex;
  flex-direction: column;
  max-width: 400px;
}

.resume-footer-info img {
  height: 40px;
  width: auto;
  margin-bottom: 20px;
}

.resume-footer-info p {
  color: rgba(241, 241, 241, 1);
  font: 400 16px Open Sans, sans-serif;
  margin-bottom: 20px;
}

.resume-social-links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.resume-social-links img {
  width: 24px;
  height: 24px;
  transition: opacity 0.2s ease;
}

.resume-social-links img:hover {
  opacity: 0.8;
}

.resume-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: rgba(241, 241, 241, 1);
  min-width: 150px;
}

.resume-links h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
  margin-top: 0;
}

.resume-links hr {
  width: 100%;
  border: none;
  border-top: 1px solid rgba(241, 241, 241, 1);
  margin: 10px 0;
}

.resume-links div {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 15px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.resume-links div:hover {
  opacity: 0.8;
}

.resume-links img {
  width: 6px;
  height: auto;
}

.resume-footer-bottom {
  text-align: center;
  background-color: rgba(5, 15, 71, 1);
  padding: 15px 20px;
  color: rgba(241, 241, 241, 1);
  font: 400 16px Open Sans, sans-serif;
}

.resume-footer-bottom strong {
  font-weight: 700;
}

@media (max-width: 768px) {
  .resume-footer-content {
    padding: 20px;
  }

  .resume-footer-info p {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .resume-footer {
    padding: 0;
  }

  .resume-footer-content {
    flex-direction: column;
    gap: 30px;
    padding: 20px;
  }

  .resume-footer-top {
    max-width: 100%;
  }

  .resume-footer-info p {
    font-size: 14px;
  }

  .resume-footer-bottom {
    font-size: 14px;
  }
}

/* JD Align Modal Specific Styles */
.jd-align-modal {
  max-width: 800px;
  max-height: 95vh;
  overflow: hidden;
  position: relative;
}

.jd-align-modal .jd-align-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0.75rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.jd-align-modal .jd-align-container h2 {
  font-size: 1.3rem;
  /* margin-bottom: 1rem; */
}

.jd-align-modal .jd-align-subtitle {
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

/* Error message styles for JD Align */
.jd-align-modal .error-message {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #dc2626;
  padding: 1rem;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
  font-weight: 500;
}

/* JD Optimized Resume Indicator */
.jd-optimized-indicator {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: var(--foreground);
  padding: 0.5rem 1rem;
  border-radius: 2rem;
  font-size: 0.875rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 2px 4px rgba(16, 185, 129, 0.2);
}

.jd-optimized-indicator::before {
  content: '🎯';
  font-size: 1rem;
}

/* JD Text Input Styling */
.jd-option-card textarea {
  width: 100%;
  min-height: 120px;
  padding: 12px;
  border: 2px dashed #ddd;
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  resize: vertical;
  transition: border-color 0.3s ease;
}

.jd-option-card textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.jd-option-card textarea::placeholder {
  color: var(--muted-foreground);
  font-style: italic;
}

/* JD Input Toggle Styling */
.jd-input-toggle {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}

.jd-input-toggle .toggle-option {
  flex: 1 1;
  cursor: pointer;
}

.jd-input-toggle .toggle-option input[type="radio"] {
  display: none;
}

.jd-input-toggle .toggle-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 15px;
  border: 2px solid #ddd;
  border-radius: 6px;
  background: #f8f9fa;
  transition: all 0.3s ease;
  font-weight: 500;
}

.jd-input-toggle .toggle-option input[type="radio"]:checked + .toggle-label {
  border-color: var(--primary);
  background: #e7f3ff;
  color: var(--primary);
}

.jd-input-toggle .toggle-icon {
  font-size: 16px;
}

/* Rich Text Rendering - Strong Tag Styling */
.resume-landing strong,
.modern-resume-page2 strong,
.resume-root strong,
.jd-align-modal strong,
.resume-preview strong,
.resume-editor strong,
.resume-templates strong {
 
  font-weight: 700 !important;
}

/* Ensure strong tags are visible in all contexts */
strong {
  
  font-weight: 700 !important;
}

/* Modal Backdrop - Centers modals on the page */
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 1rem;
  animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.modal-content {
  background: var(--card);
  border-radius: 1rem;
  padding: 1.5rem;
  max-width: 600px;
  /* width: 100%;
  max-height: 50vh; */
  overflow-y: auto;
  overflow-x: hidden;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  animation: slideUp 0.4s ease-out;
}

/* Custom Scrollbar for Modal */
.modal-content::-webkit-scrollbar {
  width: 8px;
}

.modal-content::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.modal-content::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

.modal-content::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.modal-close-btn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--muted-foreground);
}

/* JD Analysis Popup Styles */
.jd-analysis-popup {
  max-width: 800px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  animation: slideInUp 0.3s ease-out;
  transition: all 0.2s ease-out;
}

.jd-analysis-popup.closing {
  animation: slideOutDown 0.2s ease-in;
}

.analysis-popup-backdrop {
  animation: fadeIn 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.analysis-popup-backdrop.closing {
  animation: fadeOut 0.2s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes slideOutDown {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.jd-analysis-popup h2 {
  text-align: center;
  color: var(--foreground);
  margin-bottom: 2rem;
  font-size: 1.8rem;
}

/* Match Score Section */
.match-score-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--border) 100%);
  border-radius: 12px;
}

.match-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.score-number {
  font-size: 3rem;
  font-weight: 800;
}

/* Score Circle with Progress Animation */
.score-circle {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--muted);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.score-circle::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: conic-gradient(from 0deg, var(--primary) 0%, var(--primary) 0%, var(--muted) 0%, var(--muted) 100%);
  background: conic-gradient(from 0deg, var(--primary) 0%, var(--primary) var(--percentage, 0%), var(--muted) var(--percentage, 0%), var(--muted) 100%);
  animation: fillProgress 2s ease-out forwards;
  z-index: 1;
}

.score-circle::after {
  content: '';
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  border-radius: 50%;
  background: var(--card);
  z-index: 2;
}

.score-number {
  font-size: 1.3rem;
  font-weight: 800;
  /* color: var(--primary); */
  z-index: 3;
  position: relative;
}

.score-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--primary);
  z-index: 3;
  position: relative;
  margin-top: 0.25rem;
}

/* Progress Fill Animation */
@keyframes fillProgress {
  0% { 
    background: conic-gradient(from 0deg, var(--primary) 0%, var(--muted) 0%, var(--muted) 100%);
  }
  100% { 
    background: conic-gradient(from 0deg, var(--primary) 0%, var(--primary) 0%, var(--muted) 0%, var(--muted) 100%); 
    background: conic-gradient(from 0deg, var(--primary) 0%, var(--primary) var(--percentage, 0%), var(--muted) var(--percentage, 0%), var(--muted) 100%);
  }
}

/* Match Score Display - Side by Side Layout */
.match-score-display {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2rem;
  justify-content: center;
}

.match-status {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.score-label {
  font-size: 0.9rem;
  color: var(--muted-foreground);
  font-weight: 500;
}

.match-score.excellent .score-number { color: #059669; }
.match-score.good .score-number { color: var(--primary); }
.match-score.fair .score-number { color: #d97706; }
.match-score.poor .score-number { color: #dc2626; }

.status-badge {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: 600;
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status-badge.excellent {
  background: #d1fae5;
  color: #065f46;
}

.status-badge.good {
  background: #dbeafe;
  color: var(--primary);
}

.status-badge.fair {
  background: #fef3c7;
  color: #92400e;
}

.status-badge.poor {
  background: #fee2e2;
  color: #991b1b;
}

/* Skills Analysis */
.skills-analysis {
  margin-bottom: 2rem;
}

.analysis-section {
  margin-bottom: 1.5rem;
}

.analysis-section h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--muted-foreground);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.skills-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.skill-tag {
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 500;
  border: 1px solid;
}

.skill-tag.matched {
  background: #d1fae5;
  color: #065f46;
  border-color: #a7f3d0;
}

.skill-tag.missing {
  background: #fee2e2;
  color: #991b1b;
  border-color: #fca5a5;
}

.skill-tag.more {
  background: var(--muted);
  color: var(--muted-foreground);
  border-color: var(--border);
  font-style: italic;
}

.no-skills {
  color: var(--muted-foreground);
  font-style: italic;
  margin: 0;
}


/* Recommendations */
.recommendations-section {
  margin-bottom: 2rem;
}

.recommendations-section h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--muted-foreground);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.recommendations-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.recommendations-list li {
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  background: var(--secondary);
  border-left: 4px solid var(--primary);
  border-radius: 0 6px 6px 0;
  color: var(--muted-foreground);
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Action Buttons */
.analysis-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.analysis-actions .btn-primary,
.analysis-actions .btn-secondary {
  min-width: 180px;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.analysis-actions .btn-primary {
  background: var(--primary);
  color: var(--foreground);
}

.analysis-actions .btn-primary:hover:not(:disabled) {
  background: var(--primary);
  transform: translateY(-1px);
}

.analysis-actions .btn-primary:disabled {
  background: #9ca3af;
  cursor: not-allowed;
  transform: none;
}

.analysis-actions .btn-secondary {
  background: var(--muted);
  color: var(--muted-foreground);
  border: 1px solid var(--border);
}

.analysis-actions .btn-secondary:hover {
  background: var(--muted);
  transform: translateY(-1px);
}

/* Responsive Design */
@media (max-width: 768px) {
  .match-score-section {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  
  .score-number {
    font-size: 2.5rem;
  }
  
  .analysis-actions {
    flex-direction: column;
  }
  
  .analysis-actions .btn-primary,
  .analysis-actions .btn-secondary {
    min-width: 100%;
  }
  
  .skills-list {
    justify-content: center;
  }
}

/* ========================================
   NEW CvLay-INSPIRED SECTIONS STYLES
   ======================================== */

/* Top Feature Bar */
.resume-top-feature-bar {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
}

.resume-top-feature-bar::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  animation: resume-shimmer 3s infinite;
}

@keyframes resume-shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

.resume-top-feature-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.resume-top-feature-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--foreground);
  font-size: 0.875rem;
  font-weight: 500;
  transition: transform 0.3s ease;
}

.resume-top-feature-item:hover {
  transform: translateY(-2px);
}

.resume-top-feature-icon {
  font-size: 1rem;
}

.resume-top-feature-icon svg {
  width: 16px;
  height: 16px;
}

.resume-top-feature-text {
  white-space: nowrap;
}

.resume-top-feature-divider {
  color: rgba(255, 255, 255, 0.5);
  font-weight: bold;
}

/* AI Powered Badge */
.resume-ai-powered-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  color: var(--foreground);
  padding: 0.5rem 1rem;
  border-radius: 25px;
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 2rem;
  box-shadow: 0 4px 15px hsla(165, 37%, 22%, 0.3);
  animation: resume-pulse 2s infinite;
}

@keyframes resume-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

.resume-ai-badge-icon {
  font-size: 1rem;
}

.resume-ai-badge-icon svg {
  width: 18px;
  height: 18px;
}


/* Enhanced Hero Section */
.resume-enhanced-hero-section {
  padding: 4rem 0 6rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--border) 100%);
  position: relative;
  overflow: hidden;
  margin-top: -8%;
}

.resume-enhanced-hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><defs><pattern id=\"grain\" width=\"100\" height=\"100\" patternUnits=\"userSpaceOnUse\"><circle cx=\"50\" cy=\"50\" r=\"1\" fill=\"%23667eea\" opacity=\"0.1\"/></pattern></defs><rect width=\"100\" height=\"100\" fill=\"url%28%23grain%29\"/></svg>");
  opacity: 0.3;
}

.resume-hero-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 4rem;
  gap: 4rem;
  align-items: center;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

/* Blur Icons */
.resume-hero-blur-icons {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 0;
}

.resume-blur-icon {
  position: absolute;
  font-size: 2rem;
  opacity: 0.1;
  filter: blur(1px);
  animation: resume-float-icon 6s ease-in-out infinite;
}

.resume-blur-icon svg {
  width: 20px;
  height: 20px;
}

.resume-blur-icon-1 {
  top: 10%;
  left: 10%;
  animation-delay: 0s;
}

.resume-blur-icon-2 {
  top: 20%;
  right: 15%;
  animation-delay: 1s;
}

.resume-blur-icon-3 {
  top: 40%;
  left: 5%;
  animation-delay: 2s;
}

.resume-blur-icon-4 {
  top: 60%;
  right: 10%;
  animation-delay: 3s;
}

.resume-blur-icon-5 {
  top: 80%;
  left: 20%;
  animation-delay: 4s;
}

.resume-blur-icon-6 {
  top: 15%;
  left: 50%;
  animation-delay: 5s;
}

.resume-blur-icon-7 {
  top: 70%;
  right: 30%;
  animation-delay: 1.5s;
}

.resume-blur-icon-8 {
  top: 30%;
  right: 5%;
  animation-delay: 2.5s;
}

@keyframes resume-float-icon {
  0%, 100% { 
    transform: translateY(0px) rotate(0deg); 
    opacity: 0.1;
  }
  25% { 
    transform: translateY(-10px) rotate(5deg); 
    opacity: 0.2;
  }
  50% { 
    transform: translateY(-20px) rotate(0deg); 
    opacity: 0.15;
  }
  75% { 
    transform: translateY(-10px) rotate(-5deg); 
    opacity: 0.2;
  }
}

.resume-hero-content-left {
  animation: resume-slideInFromLeft 1s ease-out;
}

@keyframes resume-slideInFromLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.resume-enhanced-hero-title {
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  color: var(--foreground);
  position: relative;
}

.resume-gradient-text-blue {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
}

.resume-ats-badge-floating {
  position: absolute;
  top: -20px;
  right: -80px;
  background: linear-gradient(135deg, var(--muted-foreground) 0%, var(--muted-foreground) 100%);
  color: var(--foreground);
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 700;
  transform: rotate(-8deg);
  box-shadow: 0 8px 25px rgba(100, 116, 139, 0.3);
  animation: resume-ats-float 2s ease-in-out infinite;
  z-index: 5;
}

@keyframes resume-ats-float {
  0%, 100% { 
    transform: rotate(-8deg) translateY(0px); 
  }
  50% { 
    transform: rotate(-8deg) translateY(-5px); 
  }
}

.resume-hero-subtitle {
  font-size: 1.25rem;
  color: var(--muted-foreground);
  margin-bottom: 2rem;
  line-height: 1.6;
}

.resume-hero-buttons {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
  align-items: center;
}

.resume-btn-primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  color: var(--primary-foreground);
  border: none;
  padding: 1rem 2rem;
  border-radius: 12px;
  font-size: 1.125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px hsla(165, 37%, 22%, 0.3);
}

.resume-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px hsla(165, 37%, 22%, 0.4);
}

.resume-btn-secondary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  color: var(--primary-foreground);
  border: none;
  padding: 1rem 2rem;
  border-radius: 12px;
  font-size: 1.125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px hsla(165, 37%, 22%, 0.3);
}

.resume-btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px hsla(165, 37%, 22%, 0.4);
}

.resume-trust-indicator {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--muted-foreground);
  font-size: 0.875rem;
}

.resume-trust-checkmark {
  background: #10b981;
  color: var(--foreground);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: bold;
}

/* Resume Preview Stack */
.resume-preview-stack {
  position: relative;
  animation: resume-slideInFromRight 1s ease-out;
  height: 600px;
  width: 100%;
  overflow: hidden;
}

@keyframes resume-slideInFromRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Stack 1 - Left Side */
.resume-stack-1 {
  position: absolute;
  top: 80px;
  left: 50px;
  z-index: 2;
}

/* Stack 2 - Right Side */
.resume-stack-2 {
  position: absolute;
  top: 120px;
  right: 80px;
  z-index: 1;
}

.resume-stack-3 {
  position: absolute;
  top: 200px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}

.resume-stack-container {
  position: relative;
  transform-style: preserve-3d;
  animation: resume-float 8s ease-in-out infinite;
  width: 250px;
  height: 350px;
}

@keyframes resume-float {
  0%, 100% { transform: translateY(0px) rotateY(0deg) rotateX(0deg); }
  25% { transform: translateY(-8px) rotateY(3deg) rotateX(2deg); }
  50% { transform: translateY(-15px) rotateY(0deg) rotateX(0deg); }
  75% { transform: translateY(-8px) rotateY(-3deg) rotateX(-2deg); }
}

.resume-card-main {
  position: absolute;
  width: 250px;
  height: 350px;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  transition: transform 0.3s ease;
  top: 0;
  left: 0;
  z-index: 5;
  transform: translateZ(0px) rotateY(0deg) rotateX(0deg);
}

/* Stack 1 - Single Resume */
.resume-stack-1 .resume-card-main {
  z-index: 5;
  transform: translateZ(20px) rotateY(-8deg) rotateX(3deg);
  top: 0;
  left: 0;
}

/* Stack 2 - Single Resume */
.resume-stack-2 .resume-card-main {
  z-index: 5;
  transform: translateZ(20px) rotateY(5deg) rotateX(-2deg);
  top: 0;
  left: 0;
}

.resume-template-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

/* Floating Badges */
.resume-floating-badges-1,
.resume-floating-badges-2 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 10;
}

.resume-floating-badge {
  position: absolute;
  border-radius: 50%;
  width: 55px;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  animation: resume-bounce 4s ease-in-out infinite;
  transition: transform 0.3s ease;
}

.resume-floating-badge svg {
  width: 16px;
  height: 16px;
}

.resume-floating-badge:hover {
  transform: scale(1.15);
}

/* Stack 1 Badges */
.resume-stack-1 .resume-check-badge {
  top: 20px;
  right: 20px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: var(--foreground);
  animation-delay: 0s;
}

.resume-stack-1 .resume-pdf-badge {
  bottom: 30px;
  left: 20px;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: var(--foreground);
  border-radius: 8px;
  width: 50px;
  height: 30px;
  font-size: 12px;
  animation-delay: 1s;
}

/* Stack 2 Badges */
.resume-stack-2 .resume-star-badge {
  top: 25px;
  left: 25px;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: var(--foreground);
  animation-delay: 0.5s;
}

.resume-stack-2 .resume-lightning-badge {
  bottom: 35px;
  right: 25px;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  color: var(--foreground);
  animation-delay: 1.5s;
}

.resume-stack-2 .resume-ai-badge {
  top: 50%;
  right: -15px;
  background: linear-gradient(135deg, #8b5cf6 0%, var(--primary) 100%);
  color: var(--foreground);
  animation-delay: 2s;
}

/* Floating Badges - Stack 3 */
.resume-floating-badges-3 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 10;
}

.resume-stack-3 .resume-star-badge {
  top: 15px;
  left: 15px;
  background: linear-gradient(45deg, #FFC107, #FFEB3B);
  color: var(--foreground);
  animation-delay: 0.8s;
}

.resume-stack-3 .resume-lightning-badge {
  bottom: 20px;
  right: 15px;
  background: linear-gradient(45deg, #2196F3, #03A9F4);
  color: var(--foreground);
  animation-delay: 1s;
}

@keyframes resume-bounce {
  0%, 100% { 
    transform: translateY(0px) scale(1) rotate(0deg); 
  }
  25% { 
    transform: translateY(-12px) scale(1.05) rotate(2deg); 
  }
  50% { 
    transform: translateY(-20px) scale(1.08) rotate(0deg); 
  }
  75% { 
    transform: translateY(-12px) scale(1.05) rotate(-2deg); 
  }
}

/* Company Logos Section */
.resume-companies-trust-section {
  padding: 3rem 0;
  background: var(--card);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.resume-companies-trust-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem;
  text-align: center;
}

.resume-companies-trust-text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 2rem;
  font-weight: 800;
}

.resume-star-icon {
  color: #fbbf24;
  font-size: 1.25rem;
}

.resume-star-icon svg {
  width: 18px;
  height: 18px;
}

/* Company Logos Carousel */
.resume-companies-logos-carousel {
  position: relative;
  overflow: hidden;
  height: 80px;
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
}

.resume-companies-logos-track {
  display: flex;
  flex-direction: row;
  gap: 4rem;
  animation: resume-companies-scroll 40s linear infinite;
  width: -webkit-max-content;
  width: max-content;
  align-items: center;
  will-change: transform;
  min-width: 100%;
}

@media (max-width: 768px) {
  .resume-companies-logos-track {
    gap: 2.5rem;
  }
}

.resume-companies-logos-track:hover {
  animation-play-state: paused;
}

@keyframes resume-companies-scroll {
  0% { 
    transform: translateX(0); 
  }
  100% { 
    transform: translateX(calc(-100% / 3)); 
  }
}

.resume-companies-logos-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  align-items: center;
}

.resume-company-logo-item {
  opacity: 0.7;
  transition: opacity 0.3s ease, transform 0.3s ease;
  flex-shrink: 0;
  height: 48px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
  display: block;
}

.resume-company-logo-item:hover {
  opacity: 1;
  transform: scale(1.1);
}

.company-logo {
  height: 40px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
  border-radius: 4px;
  flex-shrink: 0;
}

/* Testimonials Carousel Section */
.resume-testimonials-carousel {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
}

.resume-testimonials-track {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  animation: resume-testimonials-scroll 50s linear infinite;
  width: -webkit-max-content;
  width: max-content;
  align-items: stretch;
  will-change: transform;
  min-width: 100%;
}

@media (max-width: 768px) {
  .resume-testimonials-track {
    gap: 0.75rem;
  }
}

.resume-testimonials-track:hover {
  animation-play-state: paused;
}

@keyframes resume-testimonials-scroll {
  0% { 
    transform: translateX(0); 
  }
  100% { 
    transform: translateX(calc(-100% / 3)); 
  }
}

.resume-testimonial-card {
  flex-shrink: 0;
  width: 280px;
  min-height: 180px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--card));
}

.resume-testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
  .resume-testimonial-card {
    width: 240px;
    min-height: 160px;
  }
}

/* AI Features Section */
.resume-ai-features-section {
  padding: 4.1rem 0;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--border) 100%);
}

.resume-ai-features-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  margin-top: -2rem;
}

.resume-ai-features-title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 800;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 3rem;
}

.resume-ai-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
}

.resume-ai-feature-card {
  background: var(--card);
  padding: 2rem;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  text-align: center;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  z-index: 0;
}

.resume-ai-feature-card::before {
  content: '';
  position: absolute;
  z-index: -2;
  left: -50%;
  top: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 50%, #f093fb 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%, 50% 50%;
  background-position: 0 0, 100% 0, 100% 100%, 0 100%;
  animation: resumeGradientRotate 3s linear infinite;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.resume-ai-feature-card::after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 2px;
  top: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background: var(--card);
  border-radius: 14px;
}

@keyframes resumeGradientRotate {
  100% {
    transform: rotate(360deg);
  }
}

.resume-ai-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px hsla(165, 37%, 22%, 0.12);
}

.resume-ai-feature-card:hover::before {
  opacity: 1;
}

.resume-ai-feature-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block;
}

.resume-ai-feature-icon svg {
  width: 32px;
  height: 32px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.resume-ai-feature-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--foreground);
  margin-bottom: 1rem;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.resume-ai-feature-card p {
  color: var(--muted-foreground);
  line-height: 1.6;
}

/* Key Benefits Section */
.resume-key-benefits-section {
  padding: 6rem 0;
  background: var(--card);
}

.resume-key-benefits-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  margin-top: -2rem;
}

.resume-key-benefits-title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 800;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 3rem;
}

.resume-key-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
}

.resume-benefit-card {
  background: var(--card);
  padding: 2rem;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 2px solid var(--border);
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  z-index: 0;
}

.resume-benefit-card::before {
  content: '';
  position: absolute;
  z-index: -2;
  left: -50%;
  top: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 50%, #f093fb 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%, 50% 50%;
  background-position: 0 0, 100% 0, 100% 100%, 0 100%;
  animation: resumeGradientRotate 3s linear infinite;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.resume-benefit-card::after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 2px;
  top: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background: var(--card);
  border-radius: 14px;
}

.resume-benefit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px hsla(165, 37%, 22%, 0.12);
  border-color: transparent;
}

.resume-benefit-card:hover::before {
  opacity: 1;
}

.resume-benefit-card > * {
  position: relative;
  z-index: 1;
}

.resume-benefit-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block;
}

.resume-benefit-icon svg {
  width: 28px;
  height: 28px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.resume-benefit-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--foreground);
  margin-bottom: 1rem;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.resume-benefit-card p {
  color: var(--muted-foreground);
  line-height: 1.6;
}

.resume-benefit-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: #10b981;
  color: var(--foreground);
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
}

.resume-new-badge {
  background: #f59e0b;
}

.resume-benefit-notification-dot {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 12px;
  height: 12px;
  background: #ef4444;
  border-radius: 50%;
  animation: resume-pulse 2s infinite;
}

/* Statistics Section */
.resume-statistics-section {
  padding: 4rem 0;
  background: linear-gradient(135deg, var(--foreground) 0%, #334155 100%);
  color: var(--foreground);
}

.resume-statistics-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
}

.resume-statistics-card {
  text-align: center;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.resume-statistics-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.resume-statistics-icon svg {
  width: 28px;
  height: 28px;
}

.resume-statistics-content h3 {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}

.resume-statistics-content p {
  font-size: 1rem;
  opacity: 0.9;
}

/* Testimonials Section */
.resume-testimonials-section {
  padding: 2rem 0;
  background: var(--secondary);
  overflow: hidden;
}

.resume-testimonials-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.resume-testimonials-title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 800;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 3rem;
}

/* Animated Carousel - Duplicate removed, using definition above */

/* Testimonial Cards */
.resume-testimonial-card {
  background: var(--card);
  padding: 1rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--border);
  min-width: 250px;
  max-width: 280px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  flex-shrink: 0;
}

.resume-testimonial-card-small:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.resume-testimonial-avatar-small {
  margin-bottom: 0.75rem;
}

.resume-avatar-circle-small {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--foreground);
  font-weight: bold;
  font-size: 0.875rem;
}

.resume-testimonial-rating-small {
  margin-bottom: 0.75rem;
}

.resume-testimonial-rating-small span {
  font-size: 0.875rem;
  color: #fbbf24;
}

.resume-testimonial-content-small p {
  color: var(--muted-foreground);
  line-height: 1.5;
  margin-bottom: 1rem;
  font-style: italic;
  font-size: 0.875rem;
}

.resume-testimonial-author-small {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.resume-testimonial-author-small strong {
  color: var(--foreground);
  font-weight: 700;
  font-size: 0.875rem;
}

.resume-testimonial-author-small span {
  color: var(--muted-foreground);
  font-size: 0.75rem;
}

.resume-location-badge {
  display: inline-block;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: var(--foreground);
  padding: 0.125rem 0.5rem;
  border-radius: 12px;
  font-size: 0.625rem;
  font-weight: 600;
  margin-top: 0.25rem;
  width: -webkit-fit-content;
  width: fit-content;
}

.resume-location-badge.usa-badge {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
}

/* New Testimonial Card Styles */
.resume-testimonial-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.resume-testimonial-avatar {
  margin-bottom: 0.75rem;
}

.resume-avatar-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), #8b5cf6);
  color: var(--foreground);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

.resume-testimonial-rating {
  margin-bottom: 0.75rem;
}

.resume-testimonial-rating span {
  font-size: 0.9rem;
}

.resume-testimonial-content p {
  color: var(--muted-foreground);
  font-size: 0.8rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.resume-testimonial-author {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.resume-testimonial-author strong {
  color: var(--foreground);
  font-size: 0.8rem;
  font-weight: 600;
}

.resume-testimonial-author span {
  color: var(--muted-foreground);
  font-size: 0.7rem;
}

/* FAQ Section */
.resume-faq-section {
   padding: 6rem 0; 
  background: var(--secondary);
}

.resume-faq-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
  margin-top: -6rem;
}

.resume-faq-title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 800;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 1rem;
}

.resume-faq-gradient {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.resume-faq-subtitle {
  text-align: center;
  font-size: 1.125rem;
  color: var(--muted-foreground);
  margin-bottom: 3rem;
}

.resume-faq-accordion {
  max-width: 800px;
  margin: 0 auto;
}

.resume-faq-item {
  background: var(--card);
  border-radius: 12px;
  margin-bottom: 1rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: all 0.3s ease;
}

.resume-faq-item:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.resume-faq-question {
  display: flex;
  align-items: center;
  padding: 1.5rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.resume-faq-question:hover {
  background-color: var(--secondary);
}

.resume-faq-icon {
  margin-right: 1rem;
}

.resume-faq-star-icon {
  width: 24px;
  height: 24px;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--foreground);
  font-size: 0.875rem;
  font-weight: bold;
}

.resume-faq-question-text {
  flex: 1 1;
  font-size: 1rem;
  font-weight: 600;
  color: var(--foreground);
  line-height: 1.5;
}

.resume-faq-controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.resume-faq-question-mark {
  width: 20px;
  height: 20px;
  background: var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted-foreground);
  font-size: 0.75rem;
  font-weight: bold;
}

.resume-faq-chevron {
  color: var(--muted-foreground);
  font-size: 0.875rem;
  transition: transform 0.3s ease;
}


.resume-faq-answer {
  padding: 0 1.5rem;
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

.resume-faq-item.active .resume-faq-answer {
  max-height: 200px;
  padding: 0 1.5rem 1.5rem;
}

.resume-faq-item.active .resume-faq-chevron {
  transform: rotate(180deg);
}

.resume-faq-answer p {
  color: var(--muted-foreground);
  line-height: 1.6;
  margin: 0;
  font-size: 0.95rem;
}



.resume-final-cta-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.resume-final-cta-title {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

.resume-final-cta-subtitle {
  font-size: 1.25rem;
  opacity: 0.9;
  margin-bottom: 2rem;
}

.resume-final-cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.resume-btn-secondary {
  
  color: var(--foreground);
  
  padding: 1rem 2rem;
  border-radius: 12px;
  font-size: 1.125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.resume-btn-secondary:hover {

  color: var(--foreground);
}

.resume-final-cta-features {
  display: flex;
  gap: 2rem;
  justify-content: center;
  flex-wrap: wrap;
}

.resume-cta-feature {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  opacity: 0.9;
}

.resume-cta-feature-icon {
  color: #10b981;
  font-weight: bold;
}

/* Responsive Design */
@media (max-width: 768px) {
  .resume-hero-container {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }
  
  .resume-enhanced-hero-title {
    font-size: 2.5rem;
  }
  
  .resume-ats-badge-small {
    position: static;
    display: inline-block;
    margin-left: 0.5rem;
    transform: none;
  }
  
  .resume-companies-logos-row {
    gap: 1rem;
  }
  
  .resume-companies-logos-track {
    gap: 1rem;
  }
  
  .resume-ai-features-grid,
  .resume-key-benefits-grid,
  .resume-testimonials-grid {
    grid-template-columns: 1fr;
  }
  
  .resume-statistics-container {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .resume-final-cta-buttons {
    flex-direction: column;
    align-items: center;
  }
  
  .resume-final-cta-features {
    flex-direction: column;
    align-items: center;
  }
}
/* PREMIUM PROFESSIONAL ANALYSIS POPUP - Company Ready! */
.jd-analysis-popup {
  max-width: 1000px;
  width: 95%;
  max-height: 90vh;
  overflow-y: auto;
  background: linear-gradient(135deg, var(--background) 0%, var(--secondary) 100%);
  border-radius: 24px;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.12), 0 8px 32px rgba(0, 0, 0, 0.08);
  animation: slideInUp 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}

.jd-analysis-popup h2 {
  text-align: center;
  color: var(--foreground);
  margin-bottom: 3rem;
  font-size: 2.25rem;
  font-weight: 800;
  background: linear-gradient(135deg, var(--foreground) 0%, var(--foreground) 50%, #334155 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.025em;
  position: relative;
}

.jd-analysis-popup h2::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 4px;
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
  border-radius: 2px;
}

/* PREMIUM MATCH SCORE DISPLAY */
.match-score-display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
  padding: 2.5rem;
  background: linear-gradient(135deg, var(--background) 0%, var(--secondary) 100%);
  border-radius: 20px;
  border: 1px solid var(--border);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
}

.match-score-display::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
}

.score-circle {
  text-align: center;
  flex: 1 1;
  position: relative;
  padding: 2rem;
}

.score-circle::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 140px;
  height: 140px;
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
  border-radius: 50%;
  opacity: 0.08;
  z-index: 0;
}

.score-number {
  display: block;
  font-size: 4rem;
  font-weight: 900;
  color: var(--foreground);
  line-height: 1;
  margin-bottom: 0.75rem;
  position: relative;
  z-index: 1;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background: linear-gradient(135deg, var(--foreground) 0%, var(--foreground) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.score-label {
  display: block;
  font-size: 1.125rem;
  color: var(--muted-foreground);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: relative;
  z-index: 1;
}

.match-status {
  flex: 1 1;
  text-align: center;
  padding: 2rem;
}

.status-badge {
  display: inline-block;
  padding: 1rem 2rem;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}

.status-badge::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.6s;
}

.status-badge:hover::before {
  left: 100%;
}

.status-badge.excellent {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: var(--foreground);
}

.status-badge.good {
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
  color: var(--foreground);
}

.status-badge.fair {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: var(--foreground);
}

.status-badge.poor {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: var(--foreground);
}

.status-badge.very-poor {
  background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
  color: var(--foreground);
}



/* PREMIUM SKILLS SECTIONS */
.skills-section {
  margin-bottom: 2.5rem;
  padding: 2.5rem;
  background: var(--card);
  border-radius: 20px;
  border: 1px solid var(--border);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}

.skills-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
}

.skills-section:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

.skills-section h4 {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--foreground);
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--muted);
  position: relative;
}

.skills-section h4::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
  border-radius: 2px;
}

.skills-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-start;
  align-items: center;
}

.skill-tag {
  padding: 0.875rem 1.25rem;
  border-radius: 50px;
  font-size: 0.875rem;
  font-weight: 700;
  display: inline-block;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  position: relative;
  min-width: -webkit-fit-content;
  min-width: fit-content;
  max-width: 200px;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.skill-tag::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.6s;
}

.skill-tag:hover::before {
  left: 100%;
}

.skill-tag.matched {
  background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
  color: #166534;
  border: 2px solid #86efac;
}

.skill-tag.matched:hover {
  background: linear-gradient(135deg, #bbf7d0 0%, #86efac 100%);
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(34, 197, 94, 0.4);
  border-color: #4ade80;
}

.skill-tag.missing {
  background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
  color: #991b1b;
  border: 2px solid #fca5a5;
}

.skill-tag.missing:hover {
  background: linear-gradient(135deg, #fecaca 0%, #fca5a5 100%);
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(239, 68, 68, 0.4);
  border-color: #f87171;
}

.no-skills {
  color: var(--muted-foreground);
  font-style: italic;
  font-size: 0.875rem;
  margin: 0;
  padding: 1.5rem;
  background: var(--secondary);
  border-radius: 12px;
  border: 2px dashed var(--border);
  text-align: center;
  font-weight: 500;
  width: 100%;
}



/* PREMIUM DETAILED ANALYSIS */
.detailed-analysis {
  margin-bottom: 3rem;
}

.analysis-section {
  margin-bottom: 2rem;
  padding: 2.5rem;
  background: var(--card);
  border-radius: 20px;
  border: 1px solid var(--border);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}

.analysis-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 8px;
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
}

.analysis-section:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

.analysis-section h4 {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--foreground);
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-left: 1.5rem;
  position: relative;
}

.analysis-section h4::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 1.5rem;
  width: 60px;
  height: 3px;
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
  border-radius: 2px;
}

.analysis-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.analysis-section li {
  padding: 1rem 0;
  color: var(--muted-foreground);
  font-size: 1rem;
  line-height: 1.7;
  border-bottom: 1px solid var(--muted);
  position: relative;
  padding-left: 2.5rem;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  font-weight: 500;
}

.analysis-section li:hover {
  background: linear-gradient(135deg, var(--secondary) 0%, var(--muted) 100%);
  padding-left: 3rem;
  border-radius: 12px;
  color: var(--foreground);
  font-weight: 600;
}

.analysis-section li:last-child {
  border-bottom: none;
}

.analysis-section li:before {
  content: "•";
  color: var(--primary);
  font-weight: bold;
  font-size: 1.5rem;
  position: absolute;
  left: 0;
  top: 1rem;
}

/* PREMIUM RECOMMENDATIONS */
.simple-recommendations {
  background: var(--card);
  border-radius: 20px;
  padding: 2.5rem;
  border: 1px solid var(--border);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  margin-bottom: 2.5rem;
  position: relative;
  overflow: hidden;
}

.simple-recommendations::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.simple-recommendations h4 {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--foreground);
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--muted);
  position: relative;
}

.simple-recommendations h4::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  border-radius: 2px;
}

.simple-recommendations ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.simple-recommendations li {
  padding: 1.25rem 0;
  color: var(--muted-foreground);
  font-size: 1rem;
  line-height: 1.7;
  border-bottom: 1px solid var(--muted);
  position: relative;
  padding-left: 2.5rem;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  font-weight: 500;
}

.simple-recommendations li:hover {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  padding-left: 3rem;
  border-radius: 12px;
  color: #92400e;
  font-weight: 600;
}

.simple-recommendations li:last-child {
  border-bottom: none;
}

.simple-recommendations li:before {
  content: "💡";
  position: absolute;
  left: 0;
  top: 1.25rem;
  font-size: 1.25rem;
}

/* PREMIUM ACTION BUTTONS */
.analysis-actions {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  padding: 2.5rem;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--border) 100%);
  border-radius: 20px;
  border: 1px solid var(--border);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.btn-primary.large {
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
  color: var(--foreground);
  border: none;
  padding: 1.25rem 2.5rem;
  border-radius: 16px;
  font-size: 1.125rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 8px 25px hsla(165, 37%, 22%, 0.3);
  position: relative;
  overflow: hidden;
  min-width: 200px;
}

.btn-primary.large::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.6s;
}

.btn-primary.large:hover::before {
  left: 100%;
}

.btn-primary.large:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px hsla(165, 37%, 22%, 0.4);
}

.btn-secondary.large {
  background: var(--card);
  color: var(--muted-foreground);
  border: 2px solid var(--border);
  padding: 1.25rem 2.5rem;
  border-radius: 16px;
  font-size: 1.125rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  min-width: 200px;
}

.btn-secondary.large:hover {
  background: var(--secondary);
  border-color: var(--border);
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* PREMIUM ANIMATIONS */
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* NEW PREMIUM UI/UX FOR SKILLS SECTIONS - Company Ready! */

/* Section Headers with Icons */
.section-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.section-icon {
  width: 2rem;
  height: 2rem;
  background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--foreground);
  box-shadow: 0 4px 12px hsla(165, 37%, 22%, 0.3);
}

.section-header h4 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--foreground);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* Skills Container */
.skills-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
  justify-content: flex-start;
  align-items: flex-start;
}

/* Premium Skill Tags */
.skill-tag.matched-skill {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: var(--foreground);
  padding: 0.75rem 1.25rem;
  border-radius: 50px;
  font-size: 0.875rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.3);
  position: relative;
  overflow: hidden;
  min-width: -webkit-fit-content;
  min-width: fit-content;
  max-width: 200px;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-shrink: 0;
}

.skill-tag.matched-skill:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.4);
}

.skill-tag.missing-skill {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: var(--foreground);
  padding: 0.75rem 1.25rem;
  border-radius: 50px;
  font-size: 0.875rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 4px 16px rgba(239, 68, 68, 0.3);
  position: relative;
  overflow: hidden;
  min-width: -webkit-fit-content;
  min-width: fit-content;
  max-width: 200px;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-shrink: 0;
}

.skill-tag.missing-skill:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(239, 68, 68, 0.4);
}



/* Analysis Section Spacing */
.analysis-section {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: var(--card);
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.analysis-section:last-child {
  margin-bottom: 0;
}

/* Skills Section Specific */
.skills-section {
  background: linear-gradient(135deg, var(--secondary) 0%, var(--muted) 100%);
  border: 1px solid rgba(226, 232, 240, 0.8);
}

/* No Skills Message */
.no-skills {
  color: var(--muted-foreground);
  font-style: italic;
  font-size: 0.875rem;
  margin: 0;
  padding: 1.5rem;
  background: var(--secondary);
  border-radius: 12px;
  border: 2px dashed var(--border);
  text-align: center;
  font-weight: 500;
  width: 100%;
}

/* Responsive Design */
@media (max-width: 768px) {
  .jd-analysis-popup {
    width: 95%;
    margin: 1rem;
    border-radius: 20px;
  }
  
  .skills-stats {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  

  
  .analysis-actions {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  
  .match-score-display {
    flex-direction: column;
    gap: 2rem;
    text-align: center;
  }
  
  .btn-primary.large,
  .btn-secondary.large {
    min-width: 100%;
    max-width: 300px;
  }
  



  
  .section-header h4 {
    font-size: 1rem;
  }
  
  .skill-tag.matched-skill,
  .skill-tag.missing-skill {
    max-width: 150px;
    font-size: 0.8rem;
    padding: 0.625rem 1rem;
  }
}

.organizer-auth-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #000000;
  padding: 20px;
}

.auth-main-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.auth-image-container {
  flex: 1 1;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 500px;
}

.auth-image-container img {
  width: 100%;
  height: auto;
  
}

.organizer-auth-header {
  color: #4630bf;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
  letter-spacing: 1px;
}

.organizer-auth-card {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 40px;
  width: 100%;
  max-width: 450px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  flex-shrink: 0;
}

@media (max-width: 968px) {
  .auth-main-content {
    flex-direction: column-reverse;
    gap: 40px;
  }
  
  .auth-image-container {
    max-width: 300px;
  }
  
  .organizer-auth-header {
    margin-bottom: 20px;
  }
}

.organizer-auth-card h1 {
  margin: 0 0 10px 0;
  color: #ffffff;
  font-size: 28px;
  font-weight: 600;
}

.subtitle {
  color: #b0b0b0;
  margin-bottom: 30px;
  font-size: 14px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  color: #ffffff;
  font-weight: 500;
  font-size: 14px;
}

.form-group input {
  width: 100%;
  padding: 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  font-size: 14px;
  color: #ffffff;
  transition: all 0.3s;
  box-sizing: border-box;
}

.form-group input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.form-group input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.15);
}

.password-group {
  position: relative;
}

.password-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.password-input-wrapper input {
  padding-right: 45px;
}

.password-toggle {
  position: absolute;
  right: 12px;
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  transition: color 0.3s;
}

.password-toggle:hover {
  color: rgba(255, 255, 255, 0.9);
}

.password-toggle:focus {
  outline: none;
}

.form-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.checkbox-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
}

.checkbox-label input[type="checkbox"] {
  width: auto;
  margin: 0 8px 0 0;
  cursor: pointer;
  accent-color: #a855f7;
}

.checkbox-label span {
  -webkit-user-select: none;
          user-select: none;
}

.reset-password-link {
  color: #a855f7;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}

.reset-password-link:hover {
  text-decoration: underline;
}

.form-group select {
  width: 100%;
  padding: 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  font-size: 14px;
  color: #ffffff;
  transition: all 0.3s;
  box-sizing: border-box;
  cursor: pointer;
}

.form-group select:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.15);
}

.form-group select option {
  background: #1a1a1a;
  color: #ffffff;
}

.submit-btn {
  width: 100%;
  padding: 12px;
  background: #1a1a1a;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  margin-top: 10px;
}

.submit-btn:hover:not(:disabled) {
  background: #2a2a2a;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.submit-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.error-message {
  background: rgba(204, 51, 51, 0.2);
  color: #ff6b6b;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 20px;
  font-size: 14px;
  border: 1px solid rgba(204, 51, 51, 0.3);
}

.auth-footer {
  text-align: center;
  margin-top: 20px;
  color: #b0b0b0;
  font-size: 14px;
}

.auth-footer a {
  color: #a855f7;
  text-decoration: none;
  font-weight: 500;
}

.auth-footer a:hover {
  text-decoration: underline;
}

/* Step Indicators */
.step-indicators {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
  gap: 8px;
}

.step-indicator {
  display: flex;
  align-items: center;
  position: relative;
}

.step-dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
  z-index: 2;
}

.step-indicator.active .step-dot {
  background: #4630bf;
  border-color: #4630bf;
  color: #ffffff;
  transform: scale(1.1);
}

.step-indicator.completed .step-dot {
  background: #4630bf;
  border-color: #4630bf;
  color: #ffffff;
}

.step-line {
  width: 60px;
  height: 2px;
  background: rgba(255, 255, 255, 0.2);
  margin: 0 4px;
  transition: all 0.3s ease;
}

.step-indicator.completed .step-line {
  background: #4630bf;
}

/* Form Steps Container */
.form-steps-container {
  position: relative;
  min-height: 200px;
  overflow: hidden;
}

.form-step {
  position: absolute;
  width: 100%;
  opacity: 0;
  transform: translateX(50px);
  pointer-events: none;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.form-step.active {
  position: relative;
  opacity: 1;
  transform: translateX(0);
  pointer-events: all;
}

.form-step:not(.active) {
  transform: translateX(-50px);
}

.form-step:not(.active) input,
.form-step:not(.active) select {
  pointer-events: none;
}

/* Form Navigation */
.form-navigation {
  display: flex;
  gap: 12px;
  margin-top: 30px;
  justify-content: flex-end;
}

.nav-btn {
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 120px;
}

.prev-btn {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.prev-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}

.next-btn {
  background: #4630bf;
  color: #ffffff;
}

.next-btn:hover:not(:disabled) {
  background: #5540cf;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(70, 48, 191, 0.4);
}

.nav-btn.submit-btn {
  background: #4630bf;
  color: #ffffff;
  flex: 1 1;
  min-width: auto;
}

.nav-btn.submit-btn:hover:not(:disabled) {
  background: #5540cf;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(70, 48, 191, 0.4);
}

.nav-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}


/* Modern AI Chat Interface - Root Container */
.voice-onboarding-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
  padding: 20px;
  position: relative;
  overflow: hidden;
}

/* Animated Background */
.voice-onboarding-container::before {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  top: -250px;
  left: -250px;
  animation: float 20s ease-in-out infinite;
}

.voice-onboarding-container::after {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  bottom: -200px;
  right: -200px;
  animation: float 15s ease-in-out infinite reverse;
}

@keyframes float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(30px, -50px) scale(1.1); }
  66% { transform: translate(-20px, 20px) scale(0.9); }
}

/* Main Chat Card with Glassmorphism */
.voice-onboarding-card {
  background: rgba(30, 41, 59, 0.7);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  padding: 0;
  width: 100%;
  max-width: 900px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 100px rgba(99, 102, 241, 0.1);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

/* Header Section */
.voice-onboarding-card h1 {
  margin: 0;
  color: #f8fafc;
  font-size: 24px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 12px;
}

.voice-onboarding-card h1::before {
  content: '🤖';
  font-size: 32px;
  animation: rotate 3s ease-in-out infinite;
}

@keyframes rotate {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(10deg); }
}

.subtitle {
  color: #94a3b8;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 500;
}

/* Chat Header */
.chat-header {
  padding: 24px 30px;
  background: rgba(15, 23, 42, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.chat-container {
  display: flex;
  flex-direction: column;
  flex: 1 1;
  min-height: 400px;
  max-height: 600px;
  position: relative;
}

.chat-messages {
  flex: 1 1;
  overflow-y: auto;
  padding: 30px;
  background: linear-gradient(to bottom, rgba(15, 23, 42, 0.3) 0%, rgba(30, 41, 59, 0.3) 100%);
  display: flex;
  flex-direction: column;
  gap: 20px;
  scroll-behavior: smooth;
  scroll-padding-bottom: 20px;
}

.chat-messages::before {
  content: '';
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: 20px;
  background: linear-gradient(to bottom, rgba(30, 41, 59, 0.7) 0%, transparent 100%);
  margin: -30px -30px 0 -30px;
  z-index: 10;
}

/* Message Container */
.message {
  display: flex;
  flex-direction: column;
  max-width: 75%;
  animation: messageSlideIn 0.3s ease-out;
  position: relative;
}

@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.message.assistant {
  align-self: flex-start;
}

.message.user {
  align-self: flex-end;
}

/* Message Avatar */
.message::before {
  font-size: 24px;
  margin-bottom: 8px;
  display: inline-block;
}

.message.assistant::before {
  content: '🤖';
  animation: aiPulse 2s ease-in-out infinite;
}

.message.user::before {
  content: '👤';
  align-self: flex-end;
}

@keyframes aiPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* Message Bubble */
.message-bubble {
  padding: 16px 20px;
  border-radius: 20px;
  word-wrap: break-word;
  position: relative;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}

.message-bubble:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.message.assistant .message-bubble {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.9) 0%, rgba(139, 92, 246, 0.9) 100%);
  color: #ffffff;
  border-bottom-left-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.message.user .message-bubble {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.9) 0%, rgba(5, 150, 105, 0.9) 100%);
  color: #ffffff;
  border-bottom-right-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Recognizing/Speaking State */
.message-bubble.recognizing {
  opacity: 0.8;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.6) 0%, rgba(5, 150, 105, 0.6) 100%);
  animation: shimmer 1.5s ease-in-out infinite;
}

@keyframes shimmer {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 0.9; }
}

.message-text {
  font-size: 15px;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.2px;
}

/* Chat Status Bar */
.chat-status {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  background: rgba(15, 23, 42, 0.6);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 14px;
  color: #94a3b8;
  font-weight: 500;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

/* Listening Indicator with Voice Waves */
.listening-indicator {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #10b981;
  font-weight: 600;
  padding: 8px 16px;
  background: rgba(16, 185, 129, 0.1);
  border-radius: 20px;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.listening-indicator::before {
  content: '🎤';
  font-size: 20px;
  animation: bounce 1s ease-in-out infinite;
}

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Speaking Indicator */
.speaking-indicator {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #8b5cf6;
  font-weight: 600;
  padding: 8px 16px;
  background: rgba(139, 92, 246, 0.1);
  border-radius: 20px;
  border: 1px solid rgba(139, 92, 246, 0.3);
}

.speaking-indicator::before {
  content: '🔊';
  font-size: 20px;
  animation: pulse 1s ease-in-out infinite;
}

/* Voice Wave Animation */
.pulse-dot {
  width: 8px;
  height: 8px;
  background: #10b981;
  border-radius: 50%;
  animation: waveAnimation 1.2s ease-in-out infinite;
  box-shadow: 0 0 10px currentColor;
}

.pulse-dot:nth-child(1) { animation-delay: 0s; }
.pulse-dot:nth-child(2) { animation-delay: 0.2s; }
.pulse-dot:nth-child(3) { animation-delay: 0.4s; }

.speaking-indicator .pulse-dot {
  background: #8b5cf6;
}

@keyframes waveAnimation {
  0%, 100% {
    opacity: 0.4;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1.3);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.1);
  }
}

/* Processing/Thinking Indicator */
.processing-indicator {
  color: #60a5fa;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}

.processing-indicator::before {
  content: '🧠';
  font-size: 20px;
  animation: thinking 1.5s ease-in-out infinite;
}

@keyframes thinking {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-10deg); }
  75% { transform: rotate(10deg); }
}

.ready-indicator {
  color: #94a3b8;
  font-weight: 500;
}

/* Typing Indicator for AI */
.typing-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.8) 0%, rgba(139, 92, 246, 0.8) 100%);
  border-radius: 20px;
  border-bottom-left-radius: 6px;
  max-width: 80px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.typing-indicator span {
  width: 8px;
  height: 8px;
  background: #ffffff;
  border-radius: 50%;
  animation: typingAnimation 1.4s ease-in-out infinite;
}

.typing-indicator span:nth-child(1) { animation-delay: 0s; }
.typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
.typing-indicator span:nth-child(3) { animation-delay: 0.4s; }

@keyframes typingAnimation {
  0%, 60%, 100% {
    transform: translateY(0);
    opacity: 0.7;
  }
  30% {
    transform: translateY(-10px);
    opacity: 1;
  }
}

/* Custom Scrollbar */
.chat-messages::-webkit-scrollbar {
  width: 8px;
}

.chat-messages::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, 0.3);
  border-radius: 10px;
}

.chat-messages::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, rgba(99, 102, 241, 0.6), rgba(139, 92, 246, 0.6));
  border-radius: 10px;
  border: 2px solid rgba(30, 41, 59, 0.5);
}

.chat-messages::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, rgba(99, 102, 241, 0.8), rgba(139, 92, 246, 0.8));
}

/* Brand Setup Modal - Modern Design */
.brand-setup-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
  animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.brand-setup-modal {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.95) 100%);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  width: 100%;
  max-width: 1200px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.5), 0 0 100px rgba(99, 102, 241, 0.2);
  overflow: hidden;
  animation: modalSlideIn 0.4s ease-out;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.brand-setup-modal-header {
  padding: 30px 36px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  background: rgba(15, 23, 42, 0.5);
  position: relative;
  overflow: hidden;
}

.brand-setup-modal-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.5), transparent);
}

.brand-setup-modal-header h2 {
  margin: 0;
  font-size: 28px;
  color: #f8fafc;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-setup-modal-header p {
  margin: 0;
  color: #94a3b8;
  font-size: 15px;
  flex: 1 1;
  font-weight: 500;
}

.skip-brand-btn {
  padding: 12px 24px;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  color: #94a3b8;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.skip-brand-btn:hover {
  border-color: rgba(99, 102, 241, 0.6);
  background: rgba(99, 102, 241, 0.1);
  color: #818cf8;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(99, 102, 241, 0.3);
}

.brand-setup-modal-content {
  flex: 1 1;
  overflow-y: auto;
  padding: 0;
}

.brand-setup-modal-content .branding-setup {
  padding: 30px 36px;
}

.brand-setup-modal-content .branding-setup h2 {
  display: none;
}

.brand-setup-modal-content .branding-setup .subtitle {
  display: none;
}

.brand-setup-modal-footer {
  padding: 24px 36px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  background: rgba(15, 23, 42, 0.5);
}

.done-brand-btn {
  padding: 14px 32px;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border: none;
  border-radius: 12px;
  color: white;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px rgba(99, 102, 241, 0.3);
  position: relative;
  overflow: hidden;
}

.done-brand-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.done-brand-btn:hover::before {
  left: 100%;
}

.done-brand-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(99, 102, 241, 0.5);
}

.done-brand-btn:active {
  transform: translateY(0);
}

/* Additional Utility Classes */
.ai-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.2) 0%, rgba(139, 92, 246, 0.2) 100%);
  border: 1px solid rgba(99, 102, 241, 0.3);
  border-radius: 20px;
  color: #a5b4fc;
  font-size: 13px;
  font-weight: 600;
}

.ai-badge::before {
  content: '✨';
  font-size: 14px;
}

/* Status Badge */
.status-badge {
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.status-badge.connecting {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.3);
}

.status-badge.listening {
  background: rgba(16, 185, 129, 0.2);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.status-badge.speaking {
  background: rgba(139, 92, 246, 0.2);
  color: #a78bfa;
  border: 1px solid rgba(139, 92, 246, 0.3);
}

.status-badge.saving {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}

/* Responsive Design */
@media (max-width: 768px) {
  .voice-onboarding-card {
    max-width: 100%;
    border-radius: 16px;
    max-height: 95vh;
  }

  .chat-messages {
    padding: 20px;
  }

  .message {
    max-width: 85%;
  }

  .message-bubble {
    padding: 14px 16px;
  }

  .brand-setup-modal {
    max-height: 100vh;
    border-radius: 16px;
  }

  .brand-setup-modal-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 24px;
  }

  .brand-setup-modal-header h2 {
    font-size: 24px;
  }

  .brand-setup-modal-header p {
    flex: none;
  }

  .skip-brand-btn {
    width: 100%;
    text-align: center;
  }

  .brand-setup-modal-content .branding-setup {
    padding: 20px 24px;
  }

  .brand-setup-modal-footer {
    padding: 20px 24px;
  }

  .done-brand-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .voice-onboarding-container {
    padding: 10px;
  }

  .chat-header {
    padding: 16px 20px;
  }

  .message::before {
    font-size: 20px;
  }

  .message-text {
    font-size: 14px;
  }
}

.branding-setup {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}

.branding-setup h2 {
  margin: 0 0 10px 0;
  color: #333;
}

.subtitle {
  color: #666;
  margin-bottom: 30px;
  font-size: 14px;
}

.branding-container {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  grid-gap: 30px;
  gap: 30px;
  margin-top: 20px;
}

.branding-controls {
  background: white;
  padding: 25px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}

.tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 25px;
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 10px;
  flex-wrap: wrap;
}

.tabs button {
  padding: 10px 16px;
  border: none;
  background: transparent;
  color: #666;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px 6px 0 0;
  transition: all 0.2s;
  position: relative;
}

.tabs button:hover {
  background: #f5f5f5;
  color: #333;
}

.tabs button.active {
  color: #667eea;
  background: #f0f4ff;
}

.tabs button.active::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 0;
  right: 0;
  height: 2px;
  background: #667eea;
}

.form-section {
  margin-bottom: 25px;
}

.form-section label {
  display: block;
  margin-bottom: 10px;
  color: #333;
  font-weight: 500;
  font-size: 14px;
}

.form-section input[type="number"],
.form-section input[type="text"] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  box-sizing: border-box;
}

.form-section input[type="range"] {
  width: 100%;
  margin: 10px 0;
}

.range-value {
  display: inline-block;
  margin-left: 10px;
  font-weight: 600;
  color: #667eea;
}

.form-section small {
  display: block;
  margin-top: 5px;
  color: #999;
  font-size: 12px;
}

.logo-upload {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.file-input {
  padding: 10px;
  border: 2px dashed #ddd;
  border-radius: 6px;
  cursor: pointer;
  transition: border-color 0.2s;
}

.file-input:hover {
  border-color: #667eea;
}

.logo-preview {
  width: 200px;
  height: 100px;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9f9f9;
}

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

.color-input-group {
  display: flex;
  gap: 10px;
  align-items: center;
}

.color-input-group input[type="color"] {
  width: 60px;
  height: 40px;
  border: 1px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
  padding: 0;
}

.color-input-group input[type="text"] {
  flex: 1 1;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-family: monospace;
  font-size: 14px;
}

.form-section select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  background: white;
  cursor: pointer;
}

.preview-section1 {
  background: #f9f9f9;
  padding: 25px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  position: -webkit-sticky;
  position: sticky;
  top: 20px;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
}

.preview-section1 h3 {
  margin: 0 0 10px 0;
  color: #333;
  font-size: 20px;
}

.preview-subtitle {
  color: #666;
  font-size: 13px;
  margin-bottom: 20px;
}

.screening-preview {
  background: #f5f7fa;
  background: var(--page-bg, #f5f7fa);
  padding: 15px;
  border-radius: 8px;
  min-height: 600px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.preview-header {
  background: #ffffff;
  background: var(--header-bg, #ffffff);
  padding: 15px;
  border-radius: 8px;
  border-radius: var(--panel-radius, 8px);
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.preview-header-logo {
  max-height: 40px;
  max-width: 150px;
  object-fit: contain;
}

.preview-status-indicators {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: #666666;
  color: var(--secondary-text, #666666);
}

.preview-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ccc;
}

.preview-status-dot.connected {
  background: #4caf50;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.preview-listening-indicator {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  background: #d4edda;
  color: #155724;
}

.preview-content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 15px;
  gap: 15px;
}

.preview-conversation-panel {
  background: #ffffff;
  background: var(--panel-bg, #ffffff);
  border-radius: 8px;
  border-radius: var(--panel-radius, 8px);
  display: flex;
  flex-direction: column;
  height: 500px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.preview-chat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 15px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background: #ffffff;
  background: var(--header-bg, var(--panel-bg, #ffffff));
}

.preview-chat-title {
  margin: 0;
  color: #1a1a1a;
  color: var(--heading-color, #1a1a1a);
  font-size: 16px;
  font-weight: 600;
}

.preview-listening-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  background: linear-gradient(135deg, var(--primary-color, #667eea), var(--secondary-color, #764ba2));
  color: white;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
}

.preview-pulse-dot {
  width: 6px;
  height: 6px;
  background: white;
  border-radius: 50%;
  animation: pulse-dot 1.5s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.2);
  }
}

.preview-chat-body {
  flex: 1 1;
  overflow-y: auto;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #f5f7fa;
  background: var(--page-bg, #f5f7fa);
}

.preview-message {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 75%;
  animation: messageSlideIn 0.3s ease-out;
}

@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.preview-message.assistant {
  align-self: flex-start;
  align-items: flex-start;
}

.preview-message.user {
  align-self: flex-end;
  align-items: flex-end;
}

.preview-meta {
  font-size: 10px;
  color: #666666;
  color: var(--secondary-text, #666666);
  font-weight: 500;
  padding: 0 4px;
  margin-bottom: 2px;
}

.preview-right-meta {
  font-size: 10px;
  color: #666666;
  color: var(--secondary-text, #666666);
  font-weight: 500;
  padding: 0 4px;
  margin-top: 2px;
  text-align: right;
}

.preview-bubble {
  padding: 12px 16px;
  padding: var(--bubble-padding, 12px 16px);
  border-radius: 18px;
  border-radius: var(--bubble-radius, 18px);
  line-height: 1.5;
  word-wrap: break-word;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.preview-bubble.ai-bubble {
  background: #eef6ff;
  background: var(--ai-bubble-bg, #eef6ff);
  color: #062b4a;
  color: var(--ai-bubble-text, #062b4a);
  border: 1px solid rgba(31, 78, 216, 0.06);
  border-radius: 6px 18px 18px 18px;
  border-radius: 6px var(--bubble-radius, 18px) var(--bubble-radius, 18px) var(--bubble-radius, 18px);
}

.preview-bubble.user-bubble {
  background: #25d366;
  background: var(--user-bubble-bg, #25d366);
  color: #ffffff;
  color: var(--user-bubble-text, #ffffff);
  border: none;
  border-radius: 18px 6px 18px 18px;
  border-radius: var(--bubble-radius, 18px) 6px var(--bubble-radius, 18px) var(--bubble-radius, 18px);
  box-shadow: 0 4px 12px rgba(6, 37, 11, 0.15);
}

.preview-bubble-text {
  font-size: 13px;
  line-height: 1.45;
  word-break: break-word;
  color: inherit;
}

.preview-controls-panel {
  background: #ffffff;
  background: var(--panel-bg, #ffffff);
  border-radius: 8px;
  border-radius: var(--panel-radius, 8px);
  padding: 20px;
  padding: var(--panel-padding, 20px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.preview-question-box {
  background: #f9f9f9;
  padding: 12px;
  border-radius: 6px;
  border-left: 4px solid #3B82F6;
  border-left: 4px solid var(--primary-color, #3B82F6);
}

.preview-question-box h4 {
  margin: 0 0 8px 0;
  color: #333;
  color: var(--heading-color, #333);
  font-size: 13px;
  font-weight: 600;
}

.preview-question-box p {
  margin: 0;
  color: #666;
  color: var(--secondary-text, #666);
  line-height: 1.5;
  font-size: 12px;
}

.preview-submit-btn {
  width: 100%;
  padding: 12px;
  background: #3B82F6;
  background: var(--button-bg, #3B82F6);
  color: #ffffff;
  color: var(--button-text, #ffffff);
  border: none;
  border-radius: 6px;
  border-radius: var(--button-radius, 6px);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.3s;
}

.preview-submit-btn:hover {
  opacity: 0.9;
  opacity: var(--button-hover, 0.9);
}

.save-btn {
  width: 100%;
  padding: 12px 24px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.3s;
  margin-top: 20px;
}

.save-btn:hover:not(:disabled) {
  opacity: 0.9;
}

.save-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.success-message {
  background: #d4edda;
  color: #155724;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 20px;
}

.error-message {
  background: #f8d7da;
  color: #721c24;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 20px;
}

/* Responsive design */
@media (max-width: 1200px) {
  .branding-container {
    grid-template-columns: 1fr;
  }

  .preview-section {
    position: relative;
    top: 0;
  }
}

@media (max-width: 768px) {
  .preview-content {
    grid-template-columns: 1fr;
  }

  .tabs {
    overflow-x: auto;
  }

  .tabs button {
    white-space: nowrap;
  }
}

.organizer-dashboard {
  min-height: 100vh;
  background: #f5f7fa;
}

.dashboard-header {
  background: white;
  border-bottom: 1px solid #e0e0e0;
  padding: 20px 40px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.header-content1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
}

.header-content1 h1 {
  margin: 0;
  color: #333;
  font-size: 24px;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 20px;
}

.user-info {
  color: #666;
  font-size: 14px;
}

.logout-btn {
  padding: 8px 16px;
  background: #f44336;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  transition: background 0.3s;
}

.logout-btn:hover {
  background: #d32f2f;
}

.dashboard-content {
  max-width: 1400px;
  margin: 0 auto;
  padding: 30px 40px;
}

.dashboard-nav {
  display: flex;
  gap: 10px;
  margin-bottom: 30px;
  border-bottom: 2px solid #e0e0e0;
}

.dashboard-nav button {
  padding: 12px 24px;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  font-size: 15px;
  color: #666;
  transition: all 0.3s;
  margin-bottom: -2px;
}

.dashboard-nav button:hover {
  color: #667eea;
}

.dashboard-nav button.active {
  color: #667eea;
  border-bottom-color: #667eea;
  font-weight: 600;
}

.dashboard-main {
  background: white;
  border-radius: 8px;
  padding: 30px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  font-size: 18px;
  color: #666;
}


.session-list {
  width: 100%;
}

.list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.list-header h3 {
  margin: 0;
  color: #333;
}

.refresh-btn {
  padding: 8px 16px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
}

.refresh-btn:hover {
  opacity: 0.9;
}

.sessions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-gap: 20px;
  gap: 20px;
}

.session-card {
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.3s;
}

.session-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.card-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 15px;
}

.card-header h4 {
  margin: 0;
  color: #333;
  font-size: 18px;
  flex: 1 1;
}

.status-badge {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}

.badge-draft {
  background: #fff3cd;
  color: #856404;
}

.badge-active {
  background: #d4edda;
  color: #155724;
}

.badge-completed {
  background: #d1ecf1;
  color: #0c5460;
}

.badge-default {
  background: #e0e0e0;
  color: #666;
}

.card-body {
  margin-bottom: 15px;
}

.card-info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 14px;
}

.info-label {
  color: #666;
}

.info-value {
  color: #333;
  font-weight: 500;
}

.card-footer {
  border-top: 1px solid #e0e0e0;
  padding-top: 15px;
}

.view-btn {
  width: 100%;
  padding: 10px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  transition: opacity 0.3s;
}

.view-btn:hover {
  opacity: 0.9;
}

.loading,
.error,
.empty-state {
  text-align: center;
  padding: 40px;
  color: #666;
}

.error {
  color: #f44336;
}


.create-session h2 {
  margin: 0 0 10px 0;
  color: #333;
}

.subtitle {
  color: #666;
  margin-bottom: 30px;
  font-size: 14px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px;
  gap: 20px;
  margin-bottom: 20px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-weight: 500;
  font-size: 14px;
}

.form-group input,
.form-group select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  box-sizing: border-box;
}

.form-group input:focus,
.form-group select:focus {
  outline: none;
  border-color: #667eea;
}

.field-hint {
  margin-top: 5px;
  font-size: 12px;
  color: #666;
  font-style: italic;
}

.participants-section {
  margin: 30px 0;
  padding: 20px;
  background: #f9f9f9;
  border-radius: 8px;
}

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.section-header label {
  font-weight: 500;
  color: #333;
  font-size: 14px;
}

.add-btn {
  padding: 8px 16px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
}

.add-btn:hover {
  opacity: 0.9;
}

.participant-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  grid-gap: 10px;
  gap: 10px;
  margin-bottom: 10px;
  align-items: center;
}

.participant-row input {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
}

.remove-btn {
  padding: 10px 16px;
  background: #f44336;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
}

.remove-btn:hover {
  background: #d32f2f;
}

.submit-btn {
  width: 100%;
  padding: 14px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 20px;
  transition: opacity 0.3s;
}

.submit-btn:hover:not(:disabled) {
  opacity: 0.9;
}

.submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.success-message {
  background: #d4edda;
  color: #155724;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 20px;
}

.error-message {
  background: #f8d7da;
  color: #721c24;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 20px;
}


.session-detail-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.session-detail-modal {
  background: white;
  border-radius: 12px;
  width: 90%;
  max-width: 800px;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 30px;
  border-bottom: 1px solid #e0e0e0;
}

.modal-header h2 {
  margin: 0;
  color: #333;
}

.close-btn {
  background: none;
  border: none;
  font-size: 32px;
  color: #666;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  width: 32px;
  height: 32px;
}

.close-btn:hover {
  color: #333;
}

.modal-tabs {
  display: flex;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 30px;
}

.modal-tabs button {
  padding: 12px 24px;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  font-size: 14px;
  color: #666;
  transition: all 0.3s;
  margin-bottom: -1px;
}

.modal-tabs button:hover {
  color: #667eea;
}

.modal-tabs button.active {
  color: #667eea;
  border-bottom-color: #667eea;
  font-weight: 600;
}

.modal-content {
  padding: 30px;
  overflow-y: auto;
  flex: 1 1;
}

.details-tab {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.detail-row {
  display: flex;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.detail-label {
  font-weight: 500;
  color: #666;
  width: 150px;
}

.detail-value {
  color: #333;
  flex: 1 1;
}

.invites-tab {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.invites-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.invite-item {
  padding: 20px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f9f9f9;
}

.invite-info {
  margin-bottom: 15px;
}

.invite-name {
  font-weight: 600;
  color: #333;
  margin-bottom: 5px;
}

.invite-email {
  color: #666;
  font-size: 14px;
  margin-bottom: 5px;
}

.invite-status {
  color: #666;
  font-size: 12px;
}

.invite-url {
  display: flex;
  gap: 10px;
}

.invite-url input {
  flex: 1 1;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 12px;
  font-family: monospace;
}

.invite-url button {
  padding: 8px 16px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
}

.invite-url button:hover {
  opacity: 0.9;
}

.empty {
  text-align: center;
  color: #666;
  padding: 40px;
}

.loading {
  text-align: center;
  padding: 40px;
  color: #666;
}


.results-dashboard h2 {
  margin: 0 0 10px 0;
  color: #333;
}

.subtitle {
  color: #666;
  margin-bottom: 30px;
  font-size: 14px;
}

.results-content {
  display: grid;
  grid-template-columns: 300px 1fr;
  grid-gap: 30px;
  gap: 30px;
}

.sessions-sidebar {
  background: #f9f9f9;
  border-radius: 8px;
  padding: 20px;
}

.sessions-sidebar h3 {
  margin: 0 0 15px 0;
  color: #333;
  font-size: 16px;
}

.sessions-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.session-item {
  padding: 12px;
  background: white;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s;
  border: 2px solid transparent;
}

.session-item:hover {
  border-color: #667eea;
}

.session-item.active {
  border-color: #667eea;
  background: #f0f4ff;
}

.session-item-title {
  font-weight: 500;
  color: #333;
  margin-bottom: 5px;
}

.session-item-meta {
  font-size: 12px;
  color: #666;
}

.results-main {
  background: white;
  border-radius: 8px;
  padding: 20px;
}

.results-main h3 {
  margin: 0 0 20px 0;
  color: #333;
}

.results-table {
  overflow-x: auto;
}

.results-table table {
  width: 100%;
  border-collapse: collapse;
}

.results-table th {
  background: #f9f9f9;
  padding: 12px;
  text-align: left;
  font-weight: 600;
  color: #333;
  border-bottom: 2px solid #e0e0e0;
}

.results-table td {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  color: #666;
}

.results-table tr:hover {
  background: #f9f9f9;
}

.status-badge {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
}

.status-completed {
  background: #d4edda;
  color: #155724;
}

.status-in_progress {
  background: #fff3cd;
  color: #856404;
}

.status-pending {
  background: #d1ecf1;
  color: #0c5460;
}

.empty-state,
.empty {
  text-align: center;
  padding: 40px;
  color: #666;
}

.loading {
  text-align: center;
  padding: 40px;
  color: #666;
}

.rd-view-report-btn {
  padding: 6px 12px;
  background: #2563eb;
  color: #fff;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}

.rd-report-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
}

.rd-report-modal {
  background: #f8fafc;
  width: 900px;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 12px;
  padding: 24px;
}

.rd-report-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.rd-close-btn {
  background: none;
  font-size: 22px;
  border: none;
  cursor: pointer;
}

.rd-score-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 16px;
  gap: 16px;
  margin: 20px 0;
}

.rd-score-card {
  background: #ffffff;
  padding: 16px;
  border-radius: 10px;
  text-align: center;
}

.rd-score-card.primary {
  background: linear-gradient(135deg, #2563eb, #1e40af);
  color: white;
}

.rd-section {
  margin: 20px 0;
}

.rd-highlight {
  background: #e0f2fe;
  padding: 12px;
  border-radius: 8px;
}

.rd-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 16px;
  gap: 16px;
}

.rd-card {
  padding: 16px;
  border-radius: 10px;
}

.rd-card.success { background: #ecfdf5; }
.rd-card.warning { background: #fffbeb; }
.rd-card.danger { background: #fef2f2; }
.rd-card.neutral { background: #f1f5f9; }

.rd-subtitle {
  font-size: 13px;
  color: #64748b;
  margin-top: 4px;
}

.rd-hero-score {
  display: flex;
  justify-content: center;
  margin: 24px 0;
}

.rd-hero-card {
  background: linear-gradient(135deg, #1e40af, #2563eb);
  color: white;
  padding: 24px 40px;
  border-radius: 14px;
  text-align: center;
  width: 100%;
}

.rd-hero-card h1 {
  font-size: 48px;
  margin: 10px 0;
}

.rd-reco {
  margin-top: 6px;
  font-weight: 500;
  opacity: 0.9;
}

.rd-metrics-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 14px;
  gap: 14px;
  margin-bottom: 24px;
}

.rd-metric-card {
  background: white;
  border-radius: 10px;
  padding: 14px;
  text-align: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.rd-metric-card span {
  font-size: 11px;
  color: #64748b;
  letter-spacing: 0.5px;
}

.rd-metric-card h3 {
  margin-top: 6px;
  font-size: 20px;
  color: #0f172a;
}

.rd-conversation {
  max-height: 320px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rd-chat-bubble {
  padding: 12px 14px;
  border-radius: 10px;
  max-width: 85%;
  font-size: 14px;
  line-height: 1.4;
}

.rd-chat-bubble.ai {
  align-self: flex-start;
  background: #e0f2fe;
  border-left: 4px solid #2563eb;
}

.rd-chat-bubble.user {
  align-self: flex-end;
  background: #ecfdf5;
  border-right: 4px solid #16a34a;
}

.rd-chat-role {
  font-size: 11px;
  font-weight: 600;
  color: #475569;
  display: block;
  margin-bottom: 4px;
}

.rd-narrative {
  padding: 12px;
  border-radius: 8px;
  background: #ecfdf5; /* greenish for strengths, change per type */
  margin-bottom: 16px;
}

.rd-paragraph {
  margin-bottom: 8px;
  line-height: 1.5;
  color: #1f2937;
}

.rd-chat-bubble p {
  white-space: pre-wrap;
  margin: 4px 0 0 0;
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url(data:image/gif;base64,R0lGODlhIAAgAPUAAP///wAAAPr6+sTExOjo6PDw8NDQ0H5+fpqamvb29ubm5vz8/JKSkoaGhuLi4ri4uKCgoOzs7K6urtzc3D4+PlZWVmBgYHx8fKioqO7u7kpKSmxsbAwMDAAAAM7OzsjIyNjY2CwsLF5eXh4eHkxMTLCwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAIAAgAAAG/0CAcEgkFjgcR3HJJE4SxEGnMygKmkwJxRKdVocFBRRLfFAoj6GUOhQoFAVysULRjNdfQFghLxrODEJ4Qm5ifUUXZwQAgwBvEXIGBkUEZxuMXgAJb1dECWMABAcHDEpDEGcTBQMDBQtvcW0RbwuECKMHELEJF5NFCxm1AAt7cH4NuAOdcsURy0QCD7gYfcWgTQUQB6Zkr66HoeDCSwIF5ucFz3IC7O0CC6zx8YuHhW/3CvLyfPX4+OXozKnDssBdu3G/xIHTpGAgOUPrZimAJCfDPYfDin2TQ+xeBnWbHi37SC4YIYkQhdy7FvLdpwWvjA0JyU/ISyIx4xS6sgfkNS4me2rtVKkgw0JCb8YMZdjwqMQ2nIY8BbcUQNVCP7G4MQq1KRivR7tiDEuEFrggACH5BAAKAAEALAAAAAAgACAAAAb/QIBwSCQmNBpCcckkEgREA4ViKA6azM8BEZ1Wh6LOBls0HA5fgJQ6HHQ6InKRcWhA1d5hqMMpyIkOZw9Ca18Qbwd/RRhnfoUABRwdI3IESkQFZxB4bAdvV0YJQwkDAx9+bWcECQYGCQ5vFEQCEQoKC0ILHqUDBncCGA5LBiHCAAsFtgqoQwS8Aw64f8m2EXdFCxO8INPKomQCBgPMWAvL0n/ff+jYAu7vAuxy8O/myvfX8/f7/Arq+v0W0HMnr9zAeE0KJlQkJIGCfE0E+PtDq9qfDMogDkGmrIBCbNQUZIDosNq1kUsEZJBW0dY/b0ZsLViQIMFMW+RKKgjFzp4fNokPIdki+Y8JNVxA79jKwHAI0G9JGw5tCqDWTiFRhVhtmhVA16cMJTJ1OnVIMo1cy1KVI5NhEAAh+QQACgACACwAAAAAIAAgAAAG/0CAcEgkChqNQnHJJCYWRMfh4CgamkzFwBOdVocNCgNbJAwGhKGUOjRQKA1y8XOGAtZfgIWiSciJBWcTQnhCD28Qf0UgZwJ3XgAJGhQVcgKORmdXhRBvV0QMY0ILCgoRmIRnCQIODgIEbxtEJSMdHZ8AGaUKBXYLIEpFExZpAG62HRRFArsKfn8FIsgjiUwJu8FkJLYcB9lMCwUKqFgGHSJ5cnZ/uEULl/CX63/x8KTNu+RkzPj9zc/0/Cl4V0/APDIE6x0csrBJwybX9DFhBhCLgAilIvzRVUriKHGlev0JtyuDvmsZUZlcIiCDnYu7KsZ0UmrBggRP7n1DqcDJEzciOgHwcwTyZEUmIKEMFVIqgyIjpZ4tjdTxqRCMPYVMBYDV6tavUZ8yczpkKwBxHsVWtaqo5tMgACH5BAAKAAMALAAAAAAgACAAAAb/QIBwSCQuBgNBcck0FgvIQtHRZCYUGSJ0IB2WDo9qUaBQKIXbLsBxOJTExUh5mB4iDo0zXEhWJNBRQgZtA3tPZQsAdQINBwxwAnpCC2VSdQNtVEQSEkOUChGSVwoLCwUFpm0QRAMVFBQTQxllCqh0kkIECF0TG68UG2O0foYJDb8VYVa0alUXrxoQf1WmZnsTFA0EhgCJhrFMC5Hjkd57W0jpDsPDuFUDHfHyHRzstNN78PPxHOLk5dwcpBuoaYk5OAfhXHG3hAy+KgLkgNozqwzDbgWYJQyXsUwGXKNA6fnYMIO3iPeIpBwyqlSCBKUqEQk5E6YRmX2UdAT5kEnHKkQ5hXjkNqTPtKAARl1sIrGoxSFNuSEFMNWoVCxEpiqyRlQY165wEHELAgAh+QQACgAEACwAAAAAIAAgAAAG/0CAcEgsKhSLonJJTBIFR0GxwFwmFJlnlAgaTKpFqEIqFJMBhcEABC5GjkPz0KN2tsvHBH4sJKgdd1NHSXILah9tAmdCC0dUcg5qVEQfiIxHEYtXSACKnWoGXAwHBwRDGUcKBXYFi0IJHmQEEKQHEGGpCnp3AiW1DKFWqZNgGKQNA65FCwV8bQQHJcRtds9MC4rZitVgCQbf4AYEubnKTAYU6eoUGuSpu3fo6+ka2NrbgQAE4eCmS9xVAOW7Yq7IgA4Hpi0R8EZBhDshOnTgcOtfM0cAlTigILFDiAFFNjk8k0GZgAxOBozouIHIOyKbFixIkECmIyIHOEiEWbPJTTQ5FxcVOMCgzUVCWwAcyZJvzy45ADYVZNIwTlIAVfNB7XRVDLxEWLQ4E9JsKq+rTdsMyhcEACH5BAAKAAUALAAAAAAgACAAAAb/QIBwSCwqFIuicklMEgVHQVHKVCYUmWeUWFAkqtOtEKqgAsgFcDFyHJLNmbZa6x2Lyd8595h8C48RagJmQgtHaX5XZUYKQ4YKEYSKfVKPaUMZHwMDeQBxh04ABYSFGU4JBpsDBmFHdXMLIKofBEyKCpdgspsOoUsLXaRLCQMgwky+YJ1FC4POg8lVAg7U1Q5drtnHSw4H3t8HDdnZy2Dd4N4Nzc/QeqLW1bnM7rXuV9tEBhQQ5UoCbJDmWKBAQcMDZNhwRVNCYANBChZYEbkVCZOwASEcCDFQ4SEDIq6WTVqQIMECBx06iCACQQPBiSabHDqzRUTKARMhSFCDrc+WNQIcOoRw5+ZIHj8ADqSEQBQAwKKLhIzowEEeGKQ0owIYkPKjHihZoBKi0KFE01b4zg7h4y4IACH5BAAKAAYALAAAAAAgACAAAAb/QIBwSCwqFIuicklMEgVHQVHKVCYUmWeUWFAkqtOtEKqgAsgFcDFyHJLNmbZa6x2Lyd8595h8C48RagJmQgtHaX5XZUUJeQCGChGEin1SkGlubEhDcYdOAAWEhRlOC12HYUd1eqeRokOKCphgrY5MpotqhgWfunqPt4PCg71gpgXIyWSqqq9MBQPR0tHMzM5L0NPSC8PCxVUCyeLX38+/AFfXRA4HA+pjmoFqCAcHDQa3rbxzBRD1BwgcMFIlidMrAxYICHHA4N8DIqpsUWJ3wAEBChQaEBnQoB6RRr0uARjQocMAAA0w4nMz4IOaU0lImkSngYKFc3ZWyTwJAALGK4fnNA3ZOaQCBQ22wPgRQlSIAYwSfkHJMrQkTyEbKFzFydQq15ccOAjUEwQAIfkEAAoABwAsAAAAACAAIAAABv9AgHBILCoUi6JySUwSBUdBUcpUJhSZZ5RYUCSq060QqqACyAVwMXIcks2ZtlrrHYvJ3zn3mHwLjxFqAmZCC0dpfldlRQl5AIYKEYSKfVKQaW5sSENxh04ABYSFGU4LXYdhR3V6p5GiQ4oKmGCtjkymi2qGBZ+6eo+3g8KDvYLDxKrJuXNkys6qr0zNygvHxL/V1sVD29K/AFfRRQUDDt1PmoFqHgPtBLetvMwG7QMes0KxkkIFIQNKDhBgKvCh3gQiqmxt6NDBAAEIEAgUOHCgBBEH9Yg06uWAIQUABihQMACgBEUHTRwoUEOBIcqQI880OIDgm5ABDA8IgUkSwAAyij1/jejAARPPIQwONBCnBAJDCEOOCnFA8cOvEh1CEJEqBMIBEDaLcA3LJIEGDe/0BAEAIfkEAAoACAAsAAAAACAAIAAABv9AgHBILCoUi6JySUwSBUdBUcpUJhSZZ5RYUCSq060QqqACyAVwMXIcks2ZtlrrHYvJ3zn3mHwLjxFqAmZCC0dpfldlRQl5AIYKEYSKfVKQaW5sSENxh04ABYSFGU4LXYdhR3V6p5GiQ4oKmGCtjkymi2qGBZ+6eo+3g8KDvYLDxKrJuXNkys6qr0zNygvHxL/V1sVDDti/BQccA8yrYBAjHR0jc53LRQYU6R0UBnO4RxmiG/IjJUIJFuoVKeCBigBN5QCk43BgFgMKFCYUGDAgFEUQRGIRYbCh2xACEDcAcHDgQDcQFGf9s7VkA0QCI0t2W0DRw68h8ChAEELSJE8xijBvVqCgIU9PjwA+UNzG5AHEB9xkDpk4QMGvARQsEDlKxMCALDeLcA0rqEEDlWCCAAAh+QQACgAJACwAAAAAIAAgAAAG/0CAcEgsKhSLonJJTBIFR0FRylQmFJlnlFhQJKrTrRCqoALIBXAxchySzZm2Wusdi8nfOfeYfAuPEWoCZkILR2l+V2VFCXkAhgoRhIp9UpBpbmxIQ3GHTgAFhIUZTgtdh2FHdXqnkaJDigqYYK2OTKaLaoYFn7p6j0wOA8PEAw6/Z4PKUhwdzs8dEL9kqqrN0M7SetTVCsLFw8d6C8vKvUQEv+dVCRAaBnNQtkwPFRQUFXOduUoTG/cUNkyYg+tIBlEMAFYYMAaBuCekxmhaJeSeBgiOHhw4QECAAwcCLhGJRUQCg3RDCmyUVmBYmlOiGqmBsPGlyz9YkAlxsJEhqCubABS9AsPgQAMqLQfM0oTMwEZ4QpLOwvMLxAEEXIBG5aczqtaut4YNXRIEACH5BAAKAAoALAAAAAAgACAAAAb/QIBwSCwqFIuicklMEgVHQVHKVCYUmWeUWFAkqtOtEKqgAsgFcDFyHJLNmbZa6x2Lyd8595h8C48RahAQRQtHaX5XZUUJeQAGHR0jA0SKfVKGCmlubEhCBSGRHSQOQwVmQwsZTgtdh0UQHKIHm2quChGophuiJHO3jkwOFB2UaoYFTnMGegDKRQQG0tMGBM1nAtnaABoU3t8UD81kR+UK3eDe4nrk5grR1NLWegva9s9czfhVAgMNpWqgBGNigMGBAwzmxBGjhACEgwcgzAPTqlwGXQ8gMgAhZIGHWm5WjelUZ8jBBgPMTBgwIMGCRgsygVSkgMiHByD7DWDmx5WuMkZqDLCU4gfAq2sACrAEWFSRLjUfWDopCqDTNQIsJ1LF0yzDAA90UHV5eo0qUjB8mgUBACH5BAAKAAsALAAAAAAgACAAAAb/QIBwSCwqFIuickk0FIiCo6A4ZSoZnRBUSiwoEtYipNOBDKOKKgD9DBNHHU4brc4c3cUBeSOk949geEQUZA5rXABHEW4PD0UOZBSHaQAJiEMJgQATFBQVBkQHZKACUwtHbX0RR0mVFp0UFwRCBSQDSgsZrQteqEUPGrAQmmG9ChFqRAkMsBd4xsRLBBsUoG6nBa14E4IA2kUFDuLjDql4peilAA0H7e4H1udH8/Ps7+3xbmj0qOTj5mEWpEP3DUq3glYWOBgAcEmUaNI+DBjwAY+dS0USGJg4wABEXMYyJNvE8UOGISKVCNClah4xjg60WUKyINOCUwrMzVRARMGENWQ4n/jpNTKTm15J/CTK2e0MoD+UKmHEs4onVDVVmyqdpAbNR4cKTjqNSots07EjzzJh1S0IADsAAAAAAAAAAAA=) center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url(/static/media/slick.a4e97f5a2a64f0ab1323.eot);
    src: url(/static/media/slick.a4e97f5a2a64f0ab1323.eot?#iefix) format('embedded-opentype'), url(/static/media/slick.295183786cd8a1389865.woff) format('woff'), url(/static/media/slick.c94f7671dcc99dce43e2.ttf) format('truetype'), url(/static/media/slick.2630a3e3eab21c607e21.svg#slick) format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

/* Organizer Landing Page Styles */

.organizer-landing {
  width: 100%;
  min-height: 100vh;
  background: #ffffff;
}

/* Navbar Styles */
.organizer-navbar {
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 0;
}

.organizer-navbar-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.organizer-navbar-logo h2 {
  margin: 0;
  color: #4630bf;
  font-size: 24px;
  font-weight: 700;
  cursor: pointer;
  transition: color 0.3s;
}

.organizer-navbar-logo h2:hover {
  color: #764ba2;
}

.organizer-navbar-links {
  display: flex;
  gap: 32px;
  align-items: center;
}

.organizer-nav-link {
  color: #333;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.3s;
}

.organizer-nav-link:hover {
  color: #667eea;
}

.organizer-navbar-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.organizer-nav-btn-primary,
.organizer-nav-btn-secondary {
  padding: 10px 24px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  border: none;
}

.organizer-nav-btn-primary {
  background: #4630bf;
  color: white;
}

.organizer-nav-btn-primary:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.organizer-nav-btn-secondary {
  background: transparent;
  color: #667eea;
  border: 1px solid #667eea;
}

.organizer-nav-btn-secondary:hover {
  background: #667eea;
  color: white;
}

.organizer-nav-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #333;
}

/* Hero Section */
.organizer-hero {
  background-image: url(/static/media/organizer.9813aa75eba6f6cc75c9.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 32px;
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
}

.organizer-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(8, 12, 20, 0.65);
  z-index: 1;
}

.organizer-hero-container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  position: relative;
  z-index: 2;
}

.organizer-hero-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.organizer-hero-title {
  font-size: 48px;
  font-weight: 1000;
  color: #F8FAFC;
  line-height: 1.2;
  margin: 0;
  animation: slideInLeft 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  opacity: 0;
}

.organizer-hero-subtitle {
  font-size: 20px;
  color: #C7D2FE;
  line-height: 1.6;
  margin: 0;
  animation: slideInRight 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s forwards;
  opacity: 0;
}

@keyframes slideInLeft {
  0% {
    opacity: 0;
    transform: translateX(-100px) scale(0.8);
  }
  60% {
    transform: translateX(10px) scale(1.05);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translateX(100px) scale(0.8);
  }
  60% {
    transform: translateX(-10px) scale(1.05);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.organizer-hero-buttons {
  display: flex;
  gap: 16px;
  margin-top: 8px;
  animation: fadeInUp 1s ease-out 0.6s;
  opacity: 0;
  animation-fill-mode: forwards;
}

.organizer-btn-primary,
.organizer-btn-secondary {
  padding: 14px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  border: none;
}

.organizer-btn-primary {
  background: #4630bf;
  color: white;
}

.organizer-btn-primary:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(102, 126, 234, 0.3);
}

.organizer-btn-secondary {
  background: white;
  color: #667eea;
  border: 2px solid #667eea;
}

.organizer-btn-secondary:hover {
  background: #667eea;
  color: white;
}

.organizer-btn-large {
  padding: 16px 48px;
  font-size: 18px;
}


/* Section Container */
.organizer-section-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 32px;
}

.organizer-section-title {
  font-size: 40px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
  margin: 0 0 16px 0;
}

.organizer-section-subtitle {
  font-size: 18px;
  color: #666;
  text-align: center;
}

/* Personas Section */
.organizer-personas {
  background: #f8f9fa;
  position: relative;
  overflow: hidden;
}

.organizer-personas-carousel-wrapper {
  position: relative;
  padding: 20px 0 60px;
}

.organizer-personas-carousel {
  padding: 0 50px;
}

.organizer-persona-slide {
  padding: 10px;
  outline: none;
}

.organizer-persona-card {
  background: white;
  padding: 40px 32px;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
}

.organizer-persona-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--persona-gradient);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.organizer-persona-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
  border-color: var(--persona-color);
}

.organizer-persona-card:hover::before {
  transform: scaleX(1);
}

.organizer-persona-icon-wrapper {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background: var(--persona-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.organizer-persona-card:hover .organizer-persona-icon-wrapper {
  transform: rotate(5deg) scale(1.1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.organizer-persona-icon {
  color: white;
  stroke-width: 2.5;
}

.organizer-persona-title {
  font-size: 26px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  background: var(--persona-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.organizer-persona-description {
  font-size: 15px;
  color: #666;
  line-height: 1.7;
  margin: 0;
  flex-grow: 1;
}

.organizer-persona-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.organizer-persona-features li {
  font-size: 14px;
  color: #555;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}

.organizer-feature-check {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--persona-gradient);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  flex-shrink: 0;
}

/* Carousel Arrows */
.organizer-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: white;
  border: 2px solid #e0e0e0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  color: #667eea;
}

.organizer-carousel-arrow:hover {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-color: transparent;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.3);
}

.organizer-carousel-prev {
  left: -25px;
}

.organizer-carousel-next {
  right: -25px;
}

.organizer-carousel-arrow:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Carousel Dots */
.organizer-personas-carousel .slick-dots {
  bottom: -40px;
  position: absolute;
}

.organizer-personas-carousel .slick-dots li {
  width: 12px;
  height: 12px;
  margin: 0 6px;
}

.organizer-personas-carousel .slick-dots li button {
  width: 12px;
  height: 12px;
  padding: 0;
  border-radius: 50%;
  background: #d0d0d0;
  transition: all 0.3s ease;
}

.organizer-personas-carousel .slick-dots li button:before {
  display: none;
}

.organizer-personas-carousel .slick-dots li.slick-active button {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  width: 32px;
  border-radius: 6px;
}

/* Carousel Slide Animation */
.organizer-personas-carousel .slick-slide {
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.organizer-personas-carousel .slick-slide:not(.slick-active) {
  opacity: 0.7;
  transform: scale(0.95);
}

.organizer-personas-carousel .slick-slide.slick-active {
  opacity: 1;
  transform: scale(1);
}

/* Features Section */
.organizer-features {
  background: #201543;
  padding: 80px 32px;
}

.organizer-features-container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 80px;
  gap: 80px;
  align-items: start;
}

.organizer-features-content {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.organizer-features-title {
  font-size: 40px;
  font-weight: 700;
  color: #f7f5f5;
  margin: 0;
  line-height: 1.2;
}

.organizer-features-subtitle {
  font-size: 18px;
  color: #bfbcbc;
  line-height: 1.6;
  margin: 0;
}

.organizer-features-cards-wrapper {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.organizer-feature-card {
  background: white;
  padding: 16px 32px;
  border-radius: 16px;
  border: 1px solid #e8e8e8;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: -webkit-sticky;
  position: sticky;
}

.organizer-feature-card:nth-child(1) {
  top: 100px;
}

.organizer-feature-card:nth-child(2) {
  top: 120px;
}

.organizer-feature-card:nth-child(3) {
  top: 140px;
}

.organizer-feature-card:nth-child(4) {
  top: 160px;
}

.organizer-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  border-color: var(--feature-color);
}

.organizer-feature-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}

.organizer-feature-icon-wrapper {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  background: var(--feature-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.organizer-feature-card:hover .organizer-feature-icon-wrapper {
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.organizer-feature-icon {
  color: white;
  stroke-width: 2;
}

.organizer-feature-title {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

.organizer-feature-description {
  font-size: 16px;
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* How It Works Section */
.organizer-how-it-works {
  background: #ffffff;
}

.organizer-how-it-works-title {
  font-size: 40px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
  margin: 0 0 16px 0;
}

.organizer-how-it-works-subtitle {
  font-size: 16px;
  color: #666;
  text-align: center;
  margin: 0 auto 48px;
  max-width: 800px;
}

.organizer-steps-progress {
  position: relative;
  max-width: 600px;
  margin: 0 auto 60px;
  height: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.organizer-progress-line {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background: #e0e0e0;
  transform: translateY(-50%);
  z-index: 1;
}

.organizer-progress-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #e0e0e0;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
  position: relative;
  z-index: 2;
}

.organizer-steps-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 32px;
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
}

.organizer-step-card {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 32px 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.organizer-step-icon-wrapper {
  width: 64px;
  height: 64px;
  background: #f5f5f5;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

.organizer-step-icon {
  color: #666;
  stroke-width: 2;
}

.organizer-step-card-title {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 16px 0;
}

.organizer-step-card-description {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  margin: 0 0 20px 0;
}

.organizer-step-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
  width: 100%;
}

.organizer-step-card-list li {
  font-size: 14px;
  color: #555;
  line-height: 1.8;
  margin-bottom: 8px;
  padding-left: 20px;
  position: relative;
}

.organizer-step-card-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: #555;
  font-size: 18px;
  line-height: 1;
}

/* CTA Section */
.organizer-cta {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 80px 32px;
  text-align: center;
}

.organizer-cta-container {
  max-width: 800px;
  margin: 0 auto;
}

.organizer-cta-title {
  font-size: 40px;
  font-weight: 700;
  color: white;
  margin: 0 0 16px 0;
}

.organizer-cta-subtitle {
  font-size: 20px;
  color: rgba(255, 255, 255, 0.9);
  margin: 0 0 32px 0;
}

.organizer-cta .organizer-btn-primary {
  background: white;
  color: #667eea;
}

.organizer-cta .organizer-btn-primary:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* Footer Styles */
.organizer-footer {
  background: #1a1a1a;
  color: #ffffff;
  padding: 60px 32px 24px;
}

.organizer-footer-container {
  max-width: 1200px;
  margin: 0 auto;
}

.organizer-footer-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-gap: 40px;
  gap: 40px;
  margin-bottom: 40px;
}

.organizer-footer-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.organizer-footer-title {
  font-size: 24px;
  font-weight: 700;
  color: #667eea;
  margin: 0;
}

.organizer-footer-heading {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 8px 0;
}

.organizer-footer-description {
  font-size: 14px;
  color: #ccc;
  line-height: 1.6;
  margin: 0;
}

.organizer-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.organizer-footer-links li {
  font-size: 14px;
  color: #ccc;
  cursor: pointer;
  transition: color 0.3s;
}

.organizer-footer-links li:hover {
  color: #667eea;
}

.organizer-footer-bottom {
  border-top: 1px solid #333;
  padding-top: 24px;
  text-align: center;
}

.organizer-footer-bottom p {
  font-size: 14px;
  color: #999;
  margin: 0;
}

.organizer-footer-bottom strong {
  color: #667eea;
}

/* Responsive Design */
@media (max-width: 968px) {
  .organizer-hero {
    min-height: 500px;
  }

  .organizer-hero-title {
    font-size: 36px;
  }

  .organizer-hero-subtitle {
    font-size: 18px;
  }

  .organizer-steps-cards {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .organizer-steps-progress {
    max-width: 400px;
  }
}

@media (max-width: 768px) {
  .organizer-navbar-links {
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    background: white;
    flex-direction: column;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateX(-100%);
    transition: transform 0.3s;
  }

  .organizer-navbar-links.open {
    transform: translateX(0);
  }

  .organizer-navbar-actions {
    display: none;
  }

  .organizer-nav-toggle {
    display: block;
  }

  .organizer-hero {
    padding: 60px 20px;
    min-height: 500px;
  }

  .organizer-hero-title {
    font-size: 32px;
  }

  .organizer-hero-buttons {
    flex-direction: column;
  }

  .organizer-hero-buttons button {
    width: 100%;
  }

  .organizer-section-container {
    padding: 60px 20px;
  }

  .organizer-section-title {
    font-size: 32px;
  }

  .organizer-how-it-works-title {
    font-size: 32px;
  }

  .organizer-steps-cards {
    grid-template-columns: 1fr;
  }

  .organizer-features-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .organizer-features-content {
    position: static;
  }

  .organizer-feature-card {
    position: static;
  }

  .organizer-personas-carousel {
    padding: 0 50px;
  }

  .organizer-carousel-prev {
    left: 0;
  }

  .organizer-carousel-next {
    right: 0;
  }

  .organizer-carousel-arrow {
    width: 40px;
    height: 40px;
  }

  .organizer-persona-card {
    padding: 32px 24px;
  }

  .organizer-cta {
    padding: 60px 20px;
  }

  .organizer-cta-title {
    font-size: 32px;
  }

  .organizer-footer {
    padding: 40px 20px 20px;
  }

  .organizer-footer-content {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 480px) {
  .organizer-navbar-container {
    padding: 12px 16px;
  }

  .organizer-navbar-logo h2 {
    font-size: 20px;
  }

  .organizer-hero-title {
    font-size: 28px;
  }

  .organizer-section-title {
    font-size: 28px;
  }

  .organizer-cta-title {
    font-size: 28px;
  }
}


.participant-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f7fa;
  background: var(--page-background, #f5f7fa);
  padding: 20px;
  padding: var(--panel-padding, 20px);
}

.participant-card {
  background: #ffffff;
  background: var(--panel-background, #ffffff);
  border-radius: 12px;
  border-radius: var(--panel-border-radius, 12px);
  padding: 40px;
  padding: var(--panel-padding, 40px);
  width: 100%;
  max-width: 600px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.branded-card {
  text-align: center;
}

.branded-logo {
  margin-bottom: 30px;
}

.branded-logo img {
  max-width: 200px;
  max-height: 100px;
  object-fit: contain;
}

.participant-card h1 {
  margin: 0 0 20px 0;
  color: #333;
  color: var(--heading-color, #333);
  font-size: 28px;
}

.subtitle {
  color: #666;
  margin-bottom: 30px;
  font-size: 14px;
}

.invite-details {
  margin: 30px 0;
  padding: 20px;
  background: #f9f9f9;
  border-radius: 8px;
}

.company-name {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  color: var(--heading-color, #333);
  margin: 0 0 10px 0;
}

.job-title,
.persona {
  color: #666;
  color: var(--secondary-text-color, #666);
  margin: 5px 0;
  font-size: 14px;
}

.instructions {
  text-align: left;
  margin: 30px 0;
  padding: 20px;
  background: #f0f4ff;
  border-radius: 8px;
}

.instructions h3 {
  margin: 0 0 15px 0;
  color: #333;
  color: var(--heading-color, #333);
  font-size: 18px;
}

.instructions ul {
  margin: 0;
  padding-left: 20px;
  color: #666;
  color: var(--secondary-text-color, #666);
}

.instructions li {
  margin-bottom: 8px;
}

.start-btn {
  width: 100%;
  padding: 16px;
  background: #3B82F6;
  background: var(--button-background, var(--primary-color, #3B82F6));
  color: #ffffff;
  color: var(--button-text-color, #ffffff);
  border: none;
  border-radius: 8px;
  border-radius: var(--button-border-radius, 8px);
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.3s;
  margin-top: 20px;
}

.start-btn:hover {
  opacity: 0.9;
  opacity: var(--button-hover-opacity, 0.9);
}

.form-group {
  margin-bottom: 20px;
  text-align: left;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-weight: 500;
  font-size: 14px;
}

.form-group input {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  box-sizing: border-box;
}

.form-group input:focus {
  outline: none;
  border-color: #3B82F6;
  border-color: var(--primary-color, #3B82F6);
}

.submit-btn {
  width: 100%;
  padding: 12px;
  background: #3B82F6;
  background: var(--primary-color, #3B82F6);
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.3s;
  margin-top: 10px;
}

.submit-btn:hover:not(:disabled) {
  opacity: 0.9;
}

.submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.back-btn {
  width: 100%;
  padding: 12px;
  background: #666;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.3s;
  margin-top: 10px;
}

.back-btn:hover {
  opacity: 0.9;
}

.error-message {
  background: #fee;
  color: #c33;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 20px;
  font-size: 14px;
}

.success-message {
  background: #efe;
  color: #3c3;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 20px;
  font-size: 14px;
}

.loading {
  text-align: center;
  padding: 40px;
  color: white;
  font-size: 18px;
}

.success-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #4caf50;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  margin: 0 auto 20px;
  font-weight: bold;
}

.message {
  color: #666;
  line-height: 1.6;
  margin: 20px 0;
}

.help-text {
  font-size: 12px;
  color: #999;
  margin-top: 5px;
  margin-bottom: 0;
}


.screening-interview {
  min-height: 100vh;
  background: #f5f7fa;
  background: var(--page-background, #f5f7fa);
  padding: 20px;
  padding: var(--panel-padding, 20px);
}

.interview-header {
  background: #ffffff;
  background: var(--header-background, #ffffff);
  padding: 20px;
  padding: var(--panel-padding, 20px);
  border-radius: 8px;
  border-radius: var(--panel-border-radius, 8px);
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.header-logo {
  max-height: 50px;
  max-width: 200px;
  object-fit: contain;
}

.status-indicators {
  display: flex;
  align-items: center;
  gap: 15px;
}

.status-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ccc;
}

.status-dot.connected {
  background: #4caf50;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.speaking-indicator,
.listening-indicator {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}

.speaking-indicator {
  background: #fff3cd;
  color: #856404;
}

.listening-indicator {
  background: #d4edda;
  color: #155724;
}

.interview-content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 20px;
  gap: 20px;
}

.conversation-panel,
.controls-panel {
  background: #ffffff;
  background: var(--panel-background, #ffffff);
  border-radius: 8px;
  border-radius: var(--panel-border-radius, 8px);
  padding: 20px;
  padding: var(--panel-padding, 20px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* Modern Chat Panel Styling */
.conversation-panel.modern-chat {
  display: flex;
  flex-direction: column;
  height: calc(90vh - 120px);
  min-height: 500px;
  max-height: 800px;
  padding: 0;
  overflow: hidden;
}

.chat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background: #ffffff;
  background: var(--header-background, #ffffff);
}

.chat-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.chat-title {
  margin: 0;
  color: #1a1a1a;
  color: var(--heading-color, #1a1a1a);
  font-size: 18px;
  font-weight: 600;
}

.listening-indicator {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}

.pulse-dot {
  width: 8px;
  height: 8px;
  background: white;
  border-radius: 50%;
  animation: pulse-dot 1.5s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.2);
  }
}

.chat-body {
  flex: 1 1;
  overflow-y: auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  scroll-behavior: smooth;
  background: #f5f7fa;
  background: var(--page-background, #f5f7fa);
}

.chat-body::-webkit-scrollbar {
  width: 8px;
}

.chat-body::-webkit-scrollbar-thumb {
  background: rgba(31, 78, 216, 0.12);
  border-radius: 8px;
}

.chat-body::-webkit-scrollbar-track {
  background: transparent;
}

/* Message Styling */
.message {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 75%;
  animation: messageSlideIn 0.3s ease-out;
}

@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.message.left {
  align-self: flex-start;
  align-items: flex-start;
}

.message.right {
  align-self: flex-end;
  align-items: flex-end;
}

.meta {
  font-size: 11px;
  color: #666;
  color: var(--secondary-text-color, #666);
  font-weight: 500;
  padding: 0 4px;
  margin-bottom: 2px;
}

.right-meta {
  font-size: 11px;
  color: #666;
  color: var(--secondary-text-color, #666);
  font-weight: 500;
  padding: 0 4px;
  margin-top: 2px;
  text-align: right;
}

.bubble {
  padding: 12px 16px;
  padding: var(--bubble-padding, 12px 16px);
  border-radius: 18px;
  border-radius: var(--bubble-border-radius, 18px);
  line-height: 1.5;
  word-wrap: break-word;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.message:hover .bubble {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.system-bubble {
  background: #eef6ff;
  background: var(--ai-bubble-background, #eef6ff);
  color: #062b4a;
  color: var(--ai-bubble-text-color, #062b4a);
  border: 1px solid rgba(31, 78, 216, 0.06);
  border-radius: 6px 18px 18px 18px;
  border-radius: 6px var(--bubble-border-radius, 18px) var(--bubble-border-radius, 18px) var(--bubble-border-radius, 18px);
}

.user-bubble {
  background: #25d366;
  background: var(--user-bubble-background, #25d366);
  color: #ffffff;
  color: var(--user-bubble-text-color, #ffffff);
  border: none;
  border-radius: 18px 6px 18px 18px;
  border-radius: var(--bubble-border-radius, 18px) 6px var(--bubble-border-radius, 18px) var(--bubble-border-radius, 18px);
  box-shadow: 0 4px 12px rgba(6, 37, 11, 0.15);
}

.bubble-text {
  font-size: 14.5px;
  line-height: 1.45;
  word-break: break-word;
  color: inherit;
}

.message.user .bubble .bubble-text {
  color: #ffffff;
}

.message.assistant .bubble .bubble-text {
  color: #062b4a;
  color: var(--ai-bubble-text-color, #062b4a);
}

/* Live transcript styling */
.message.live-transcript .bubble {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #ffffff;
  border: none;
  opacity: 0.85;
  animation: livePulse 2s ease-in-out infinite;
}

@keyframes livePulse {
  0%, 100% {
    opacity: 0.85;
  }
  50% {
    opacity: 0.95;
  }
}

.message.live-transcript .bubble .bubble-text {
  color: #ffffff;
}

/* Error banner */
.error-banner {
  padding: 12px 16px;
  background: rgba(239, 68, 68, 0.08);
  border-radius: 8px;
  color: #dc2626;
  border: 1px solid rgba(239, 68, 68, 0.2);
  margin: 12px 20px;
  font-size: 13px;
}

.current-question {
  margin-bottom: 20px;
}

.question-box {
  background: #f9f9f9;
  padding: 15px;
  border-radius: 8px;
  border-radius: var(--panel-border-radius, 8px);
  border-left: 4px solid #3B82F6;
  border-left: 4px solid var(--primary-color, #3B82F6);
}

.question-box h4 {
  margin: 0 0 10px 0;
  color: #333;
  color: var(--heading-color, #333);
  font-size: 14px;
}

.question-box p {
  margin: 0;
  color: #666;
  color: var(--secondary-text-color, #666);
  line-height: 1.6;
}

.action-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.submit-btn {
  width: 100%;
  padding: 14px;
  background: #3B82F6;
  background: var(--button-background, var(--primary-color, #3B82F6));
  color: #ffffff;
  color: var(--button-text-color, #ffffff);
  border: none;
  border-radius: 6px;
  border-radius: var(--button-border-radius, 6px);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.3s;
}

.submit-btn:hover:not(:disabled) {
  opacity: 0.9;
  opacity: var(--button-hover-opacity, 0.9);
}

.submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  font-size: 18px;
  color: #666;
}


/* Keep minimal styles, most styling is now inline */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.website-input-card {
  background: white;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  padding: 40px;
  max-width: 600px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.website-input-header {
  text-align: center;
  margin-bottom: 32px;
}

.website-input-header h2 {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 12px 0;
}

.website-input-header .subtitle {
  font-size: 16px;
  color: #666;
  line-height: 1.6;
  margin: 0;
}

.website-input-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-group label {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
}

.input-wrapper {
  display: flex;
  align-items: center;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  transition: border-color 0.2s;
}

.input-wrapper:focus-within {
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.input-prefix {
  padding: 12px 16px;
  background: #f9fafb;
  color: #6b7280;
  font-size: 14px;
  border-right: 1px solid #e5e7eb;
  font-weight: 500;
}

.input-wrapper input {
  flex: 1 1;
  border: none;
  padding: 12px 16px;
  font-size: 16px;
  outline: none;
  background: white;
}

.input-wrapper input.error {
  color: #dc2626;
}

.input-wrapper input:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}

.error-message {
  color: #dc2626;
  font-size: 14px;
  margin-top: 4px;
}

.help-text {
  color: #6b7280;
  font-size: 13px;
  margin-top: 4px;
}

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

.skip-button,
.analyze-button {
  flex: 1 1;
  padding: 14px 24px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}

.skip-button {
  background: #f9fafb;
  color: #6b7280;
  border: 2px solid #e5e7eb;
}

.skip-button:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #d1d5db;
}

.analyze-button {
  background: #4F46E5;
  color: white;
}

.analyze-button:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3);
}

.analyze-button:disabled,
.skip-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.analyzing-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.98);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: 16px;
}

.analyzing-content {
  text-align: center;
  padding: 40px;
}

.spinner {
  width: 60px;
  height: 60px;
  border: 4px solid #f3f4f6;
  border-top-color: #667eea;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 24px;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.analyzing-content h3 {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 12px 0;
}

.analyzing-content p {
  font-size: 16px;
  color: #666;
  margin: 8px 0;
}

.analyzing-details {
  margin-top: 24px;
  text-align: left;
  display: inline-block;
}

.analyzing-details span {
  display: block;
  margin: 8px 0;
  font-size: 14px;
  color: #6b7280;
  animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 640px) {
  .website-input-card {
    padding: 24px;
  }

  .website-input-header h2 {
    font-size: 24px;
  }

  .form-actions {
    flex-direction: column;
  }

  .skip-button,
  .analyze-button {
    width: 100%;
  }
}



/*# sourceMappingURL=main.37e936fb.css.map*/