html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

input[type=checkbox]:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

input[type=radio]:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ºê¶ó¿ìÀú ±âº» ´Þ·Â ¾ÆÀÌÄÜ ¼û±â±â */
input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

/* '¿¬µµ-¿ù-ÀÏ' ¾È³» ¹®±¸°¡ º¸±â ½È´Ù¸é ÀÌÀüÃ³·³ Ã³¸® */
input[type="date"]:invalid::-webkit-datetime-edit {
    color: transparent;
}

input[type="date"]:focus::-webkit-datetime-edit,
input[type="date"]:valid::-webkit-datetime-edit {
    color: #212529;
}

/* 1. ±âº» »óÅÂ: Å×ÀÌºí ¼±°ú Á¶È­·Î¿î Åõ¸í º¸´õ ¼³Á¤ */
[contenteditable="true"] {
    outline: none; /* ºê¶ó¿ìÀú ±âº» ÆÄ¶õ ¼± °­Á¦ Á¦°Å */
    border: 0.5px solid #dee2e6;
    border-radius: 0.3rem;
    background-color: #fff;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* 2. Æ÷Ä¿½º »óÅÂ: Bootstrap 5 ÀÏ¹Ý ÀÎÇ² ½ºÅ¸ÀÏ ÀçÇö */
[contenteditable="true"]:focus {
    color: #212529;
    background-color: #fff;
    /* ½ÇÁ¦ ÀÎÇ² Æ÷Ä¿½º »ö»ó°ª Àû¿ë */
    border-color: #86b7fe;
    /* ¹Ú½º Å©±â¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â ¿ÜºÎ ÈÄ±¤ È¿°ú */
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.25);
    /* ·¹ÀÌ¾Æ¿ô ¹Ð¸² ¹æÁö¸¦ À§ÇØ outlineÀº ¹Ýµå½Ã none */
    outline: 0;
}

.list_card {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    transition: 0.3s;
    border-radius: 5px;
    padding: 5px;
}

.list_card:hover {
    box-shadow: 0 8px 16px 0 rgba(100,100,100,0.8);
}

.required:after {
    margin-left: 5px;
    content: "*";
    color: red;
    opacity: 0.85;
}

input::placeholder {
    opacity: 0.35 !important;
    color: darkslateblue !important;
    font-size:0.5rem;
    font-style: italic !important;
    font-weight: bold;
    opacity: 1;
}

textarea::placeholder {
    opacity: 0.35 !important;
    color: darkslateblue !important;
    font-size: 0.5rem;
    font-style: italic !important;
    font-weight: bold;
    opacity: 1;
}

.login_label {
    opacity:0.35 !important;
    color: darkslateblue !important;
    font-style: italic !important;
    font-weight:bold;
}

.cutz_table {
    font-size: 14px;
    width: 100%;
    table-layout: fixed;
}

.cutz_table_auto {
    font-size: 14px;
    width: 100%;
    /*table-layout: fixed;*/
}

.cutz_PageButton {
    border:none;
    border-radius:0;
    font-size: medium;
    margin-left: 5px;
    opacity: 0.9;
}

.cutz_text_alert {
    margin-right:10px;
    color: red;
    opacity: 0.55;
}

.cutz_text_success {
    margin-right: 10px;
    color: forestgreen;
    opacity: 0.95;
}

.rotate-icon {
    transition: transform 0.2s ease;
    display: inline-block;
    font-size: 1.8rem;
    margin-bottom:20px;
    color: #666;
}

/* Collapse°¡ ¿­·Á ÀÖ´Â »óÅÂ (¹öÆ°¿¡ aria-expanded="true"°¡ ÀÚµ¿À¸·Î ºÙÀ½) */
[aria-expanded="true"] .rotate-icon {
    transform: rotate(180deg); /* 180µµ µÚÁý±â */
}

/* ºñ¹Ð¹øÈ£ º¸±â ¹öÆ° ½ºÅ¸ÀÏ ÃÖÀûÈ­ */
.form-floating .btn:focus {
    box-shadow: none !important; /* Æ÷Ä¿½º Å×µÎ¸® Á¦°Å */
    outline: none;
}

/* ÀÔ·ÂÃ¢ÀÇ ¿À¸¥ÂÊ ¿©¹é È®º¸ (±ÛÀÚ°¡ ¾ÆÀÌÄÜ¿¡ °¡·ÁÁöÁö ¾Ê°Ô) */
#password {
    padding-right: 45px !important;
    /*border-radius: 0;*/ /* Á÷°¢ ÄÁ¼Á À¯Áö */
}

/* 1. ÀÔ·ÂÃ¢(Input) Æ÷Ä¿½º ½ºÅ¸ÀÏ Á¶Á¤ */
.form-control:focus {
    /* ±âÁ¸ÀÇ µÎ²¨¿î Å×µÎ¸® Á¦°Å */
    border-color: #86b7fe !important; /* ºÎµå·¯¿î ÇÏ´Ã»ö Å×µÎ¸® */
    outline: 0 !important;
    /* ¿À¸¥ÂÊ ÀÌ¹ÌÁö¿Í °°Àº ÀºÀºÇÑ ÇÏÀÌ¶óÀÌÆ® È¿°ú */
    /* ¼öÄ¡: xÃà yÃà ºí·¯(È®»ê) Å©±â »ö»ó(Åõ¸íµµ) */
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
    /* ¾Ö´Ï¸ÞÀÌ¼Ç ¼Óµµ Á¶Àý (ºÎµå·´°Ô º¯ÇÏµµ·Ï) */
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* 2. ¹öÆ°(Button) Æ÷Ä¿½º ½ºÅ¸ÀÏ Á¶Á¤ */
.btn:focus, .btn-check:focus + .btn {
    outline: 0 !important;
    /* ¹öÆ°µµ ÀÔ·ÂÃ¢°ú µ¿ÀÏÇÑ ÅæÀÇ ÇÏÀÌ¶óÀÌÆ® Àû¿ë */
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

/* 3. DSelect µî Ä¿½ºÅÒ ¼¿·ºÆ®¹Ú½º ´ëÀÀ */
.dselect-wrapper .form-select:focus {
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

/* CSS Ãß°¡ */
.badge-pulse {
    animation: pulse-animation 1.5s infinite;
}

@keyframes pulse-animation {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.4;
    }

    100% {
        opacity: 1;
    }
}

/* dselect ¹öÆ°(¼±ÅÃµÈ Ç×¸ñ Ç¥½Ã ºÎºÐ) Á÷°¢ Ã³¸® */
.dselect-wrapper .form-select {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    /* ¿À¸¥ÂÊ ¸ð¼­¸®´Â ±âÁ¸ Bootstrap °î·ü(¾à 0.375rem)À» À¯ÁöÇÏ°Å³ª ¸í½ÃÀûÀ¸·Î ÁöÁ¤ */
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

/* ¸ð´ÞÀÌ static »óÅÂÀÏ ¶§ Æ¨±â´Â ¾Ö´Ï¸ÞÀÌ¼Ç Á¦°Å */
.modal.modal-static .modal-dialog {
    transform: none !important;
    transition: none !important;
}

/* ÀüÃ¼ È­¸é ¸ð´ÞÀÇ ¸ðµç ¿ä¼Ò¿¡¼­ ¸ð¼­¸® °î·ü Á¦°Å */
.modal-fullscreen .modal-content {
    border-radius: 0 !important;
    border: none; /* ÀüÃ¼ È­¸éÀÌ¹Ç·Î Å×µÎ¸® Á¦°Å ±ÇÀå */
}

/* ³»ºÎ Çì´õ, ¹Ùµð, ÇªÅÍµµ È®½ÇÇÏ°Ô Á÷°¢À¸·Î °íÁ¤ */
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer,
.modal-fullscreen .card .card-header {
    border-radius: 0 !important;
}

/* dselect ¹öÆ°(¼±ÅÃµÈ Ç×¸ñ Ç¥½Ã ºÎºÐ) Á÷°¢ Ã³¸® */
.dselect-wrapper .form-select {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Á÷°¢ ÄÃ·¯ Ä¨ °ø¿ë ½ºÅ¸ÀÏ */
.color-chip {
    display: inline-block;
    padding: 4px 8px;
    font-size: 0.85rem;
    font-weight: 500;
    color: #fff;
    border-radius: 0 !important; /* ¹«Á¶°Ç Á÷°¢ À¯Áö */
    text-transform: uppercase; /* ÄÚµå ´ë¹®ÀÚ °íÁ¤ */
    font-family: 'Courier New', Courier, monospace; /* ÄÚµå °¡µ¶¼º */
    box-shadow: inset 0 0 0 0px rgba(0,0,0,0.1); /* Ä¨ °æ°è¼± »ìÂ¦ °­Á¶ */
}

/* 1. Æ¯Á¤ Å¬·¡½º°¡ ºÙÀº dselectÀÇ È­»ìÇ¥ ¼û±â±â */
.readonly-dselect .form-select::after {
    display: none !important;
}

.readonly-dselect .form-select {
    background-image: none !important;
    cursor: default !important;
    /* µå·Ó´Ù¿î ¹öÆ° ÀÚÃ¼ÀÇ Å¬¸¯À» ¸·À½ */
    pointer-events: none;
}

/* 2. ÇÏÁö¸¸ ³»ºÎÀÇ ¹èÁö(»èÁ¦ ¹öÆ° Æ÷ÇÔ)´Â Å¬¸¯ °¡´ÉÇÏ°Ô º¹±¸ */
.readonly-dselect .dselect-tag {
    pointer-events: auto !important;
    cursor: pointer;
}

/* 3. ¹èÁö ¾ÈÀÇ x ¹öÆ°ÀÌ Àß ÀÛµ¿ÇÏµµ·Ï °­Á¶ (¼±ÅÃ »çÇ×) */
.readonly-dselect .dselect-tag-remove {
    pointer-events: auto !important;
}

.image-hover-container {
    position: relative;
    width: 200px;
    height: 200px;
    cursor: pointer;
    overflow: hidden;
    border-radius: 25px; /* ÀÌ¹ÌÁö¿Í µ¿ÀÏÇÏ°Ô */
}

.hover-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* ¹ÝÅõ¸í °ËÁ¤ */
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0; /* Æò¼Ò¿£ ¼û±è */
    transition: opacity 0.3s ease;
}

.image-hover-container:hover .hover-overlay {
    opacity: 1; /* ¸¶¿ì½º ¿Ã¸®¸é Ç¥½Ã */
}

/* °øÅë ¹öÆ° ³ôÀÌ ¹× ÆÐµù Á¤ÀÇ */
.custom-segment-group .btn,
.btn-primary-custom,
.btn-success-custom {
    /*height: 40px;*/ /* ³ôÀÌ¸¦ ¸í½ÃÀûÀ¸·Î °íÁ¤ */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px; /* ÀÌ¹ÌÁöÀÇ µÕ±Ù ´À³¦ ¹Ý¿µ */
}

/* ¼¼±×¸ÕÆ® ±×·ì Àü¿ë ½ºÅ¸ÀÏ */
.custom-segment-group {
    background-color: #f1b44c; /* ¿¬ÇÑ ÁÖÈ² ¹è°æ */
    padding: 2px; /* ³»ºÎ ¿©¹éÀ¸·Î ÀÔÃ¼°¨ ºÎ¿© */
}

.btn-segment {
    background-color: transparent;
    color: white;
    border-radius: 6px !important; /* ³»ºÎ ¹öÆ° »ìÂ¦ ´õ °¢Áö°Ô */
    transition: all 0.2s;
}

/* ¼±ÅÃµÈ »óÅÂ */
.btn-check:checked + .btn-segment {
    background-color: #e6910e !important;
    color: white !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* ÀÏ¹Ý ¹öÆ°µé »ö»ó (ÀÌ¹ÌÁö ±â¹Ý) */
.btn-primary-custom {
    background-color: #325d88;
    color: white;
}

.btn-success-custom {
    background-color: #91c751;
    color: white;
}

/* È£¹ö È¿°ú */
.btn:hover {
    opacity: 0.9;
    color: white;
}