:root {
    --primary-blue: #2a6592;
    --secondary-blue: #51a2d9;
    --light-blue: #b9e5f3;
    --bg-gray: #f4f7f9;
    --tooltip-bg: #333;
}

#num-conv-app * { box-sizing: border-box !important; }

#num-conv-app .main-wrapper {
    max-width: 800px;
    width: 100%;
    margin: 20px auto;
    border: 1px solid var(--secondary-blue);
    background-color: var(--bg-gray);
    font-family: 'Segoe UI', Tahoma, sans-serif;
	font-size:19px;
	font-weight:600;
	color: #296592;
}

#num-conv-app .header-section {
    background-color: #dee3e9;
    padding: 12px;
    text-align: center;
    border-bottom: 1px solid var(--secondary-blue);
}

#num-conv-app .input-row {
    display: block !important;
    width: 100%;
}
#num-conv-app .main-input-group { display: flex; gap: 5px; }
#num-conv-app .support-text { padding-top:8px;font-size:15px;}

#num-conv-app .boxed {
    background-color: var(--light-blue);
    width: 95%;
    margin: 15px auto;
    border: 1px solid var(--secondary-blue);
    padding: 12px;
    border-radius: 2px;
}

#num-conv-app .box-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
#num-conv-app .header-input-group { display: flex; align-items: center; gap: 5px; }

#num-conv-app .inputText { height: 35px; padding: 5px 10px; border: 1px solid #ccc; border-radius: 2px; }
#num-conv-app .main-input { flex-grow: 1; font-size: 18px; font-weight: bold; }
#num-conv-app .small-input { width: 160px; background: #eee; font-weight: 400; }


#num-conv-app .inputTextarea {
    width: 100% !important;
    height: 120px;
    padding: 10px;
    font-size: 15px;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    margin-bottom: 0 !important;
    display: block;
    background: #fff;
    box-sizing: border-box;
}


#num-conv-app #inputCountMsg {
    width: 100% !important;
    text-align: right;
    font-size: 12px;
    color: #666;
    padding: 4px 12px;
    background: transparent !important; 
    border-radius: 0 0 4px 4px !important;
    margin-top: 0 !important;
    margin-bottom: 15px;
    box-sizing: border-box;
    display: block;
}



#num-conv-app .btn-group { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-bottom:0px; }
#num-conv-app .btn {
    padding: 6px 12px;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    background-color: var(--primary-blue);
    color: white;
    font-size: 15px;
    font-weight: 500;
    text-transform: capitalize;
    display: flex;
    align-items: center;
    justify-content: center;
}

#num-conv-app .btn-success { background-color: #28a745; }
#num-conv-app .btn-primary { background-color: #007bff; }
#num-conv-app .btn-warning { background-color: #fd7e14; }
#num-conv-app .btn i { display: none !important; } /* Icons force hidden */

/* Currency Grid Fix */
#num-conv-app .currency-grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; }
#num-conv-app .input-group { display: flex; border: 1px solid #ccc; background: white; border-radius: 2px; overflow: hidden; flex-wrap: nowrap;font-size:14px;}
#num-conv-app .input-group-label { background: #007bff; color: white; padding: 5px 8px; font-weight: bold; font-size: 11px; min-width: 50px; display: flex; align-items: center; justify-content: center; }
#num-conv-app .cur-select, #num-conv-app .cur-display { border: none; padding: 6px; font-weight: bold; width: 100%; outline: none; }

/* Tooltip Base */
#num-conv-app [data-title] { position: relative; }
#num-conv-app [data-title]::after, #num-conv-app [data-title]::before {
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease-in-out;
    z-index: 1000;
    pointer-events: none;
}

#num-conv-app [data-title]::after {
    content: attr(data-title);
    bottom: 125%;
    background: var(--tooltip-bg);
    color: #fff;
    padding: 6px 10px;
    border-radius: 2px;
    font-size: 12px;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

#num-conv-app [data-title]::before {
    content: '';
    bottom: 110%;
    border: 6px solid transparent;
    border-top-color: var(--tooltip-bg);
}

/* --- Responsive & Mobile Behaviour --- */
@media (hover: hover) {
    #num-conv-app [data-title]:hover::after,
    #num-conv-app [data-title]:hover::before {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0);
    }
}

@media (max-width: 600px) {
    #num-conv-app .btn { 
        flex-grow: 1; 
        padding: 7.5px 5px; 
        font-size: 13px; 
    }
	#num-conv-app .btn-swap {
		max-width:50px;
    }
	#num-conv-app .small-input { width: 130px; background: #eee; font-weight: 400; }
    #num-conv-app .currency-grid { text-align: center; }
    
    #num-conv-app [data-title]::after, 
    #num-conv-app [data-title]::before { display: none !important; }
	#num-conv-app .currency-grid { display: grid; gap: 14px; align-items: center; }
}

/* --- Select & Dropdown Styling --- */
#num-conv-app select.inputText {
    background-color: white;
    font-weight: 500;
    color: var(--primary-blue);
    border: 1px solid var(--secondary-blue);
    padding: 5px;
    border-radius: 2px;
}

/* --- Single-Row Result Card --- */
#num-conv-app .result-card {
    display: flex;
    background: #fff;
    border: 1px solid var(--secondary-blue);
    border-radius: 4px;
    margin: 15px auto;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    align-items: stretch;
    overflow: hidden;
}

#num-conv-app .card-sr-no {
    background: var(--primary-blue);
    color: white;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    flex-shrink: 0;
}

/* Base style for columns */
#num-conv-app .card-col {
    padding: 12px 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-left: 1px solid #eee;
}

/* Formatted No Column: Content & Button both to the right */
#num-conv-app .formatted-col {
    width: 200px;
    flex-shrink: 0;
    justify-content: flex-end; 
    text-align: right;
}

/* Words Column: Text left, Button right */
#num-conv-app .words-col {
    flex-grow: 1;
    justify-content: space-between;
    text-align: left;
}

#num-conv-app .num-bold {
    font-weight: 700;
    color: var(--primary-blue);
    font-size: 17px;
    flex-grow: 1; /* Pushes the button to the right in the formatted col */
}

#num-conv-app .words-text {
    font-weight: 500;
    color: #333;
    font-size: 15px;
    word-break: break-word;
    flex-grow: 1;
}

/* --- Icon Buttons --- */
#num-conv-app .icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    color: var(--primary-blue);
    transition: color 0.2s, transform 0.1s;
    flex-shrink: 0;
    margin-left: auto; /* Ensures button stays at the end */
}
/* --- Icon Buttons --- */
#num-conv-app .icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    color: var(--primary-blue);
    transition: color 0.2s, transform 0.1s;
    flex-shrink: 0;
    margin-left: auto;
}

#num-conv-app .icon-btn:hover {
    color: var(--secondary-blue);
    transform: scale(1.1);
}

#num-conv-app .icon-btn:active {
    transform: scale(0.9);
}

#num-conv-app .icon-btn svg {
    display: block;
}

/* --- Toast Notification --- */
#num-conv-app #toast {
    visibility: hidden;
    min-width: 200px;
    background-color: #333;
    color: #fff;
    text-align: center;
    border-radius: 4px;
    padding: 12px;
    position: fixed;
    z-index: 1001;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    font-size: 14px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

#num-conv-app #toast.show {
    visibility: visible;
    -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

/* --- Animations --- */
@-webkit-keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} }
@keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} }
@-webkit-keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} }
@keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} }

/* --- Mobile Responsiveness --- */
@media (max-width: 600px) {
    #num-conv-app .result-card {
        flex-direction: column;
    }
    #num-conv-app .card-sr-no {
        width: 100%;
        height: 30px;
    }
    #num-conv-app .formatted-col {
        width: 100%;
        border-left: none;
        border-bottom: 1px solid #eee;
        justify-content: space-between;
    }
    #num-conv-app .card-col {
        border-left: none;
        justify-content: space-between;
    }
}

/* --- Bottom Settings Bar --- */
#num-conv-app #globalCaseSettings {
    display: none; 
    background: #dee3e9; 
    padding: 15px; 
    border-top: 1px solid var(--secondary-blue); 
    text-align: center;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.spinner {
    display: inline-block;
    animation: spin 2s linear infinite;
    font-size: 24px;
}
