.session-panel-connected {
    opacity: 1;
    transform: scale(0.7, 0.85);
    transition: all 0.7s cubic-bezier(0.4,0,0.2,1);
}
#call-info-panel {
    position: fixed;
    top: 48px; 
    right: max(calc((100vw - 1200px) / 2 - 24rem), 16px);
    width: 24rem;
    min-width: 320px;
    max-width: 24rem;
    z-index: 100;
}
@media (max-width: 1400px) {
    #call-info-panel {
        right: 16px;
    }
}   
@media (max-width: 1100px) {
    #call-info-panel {
        position: static;
        width: 100%;
        min-width: 0;
        max-width: 100vw;
        margin: 2rem 0 0 0;
    }
}
body {
    font-family: 'Inter', sans-serif;
    background-color: #f3f4f6;
    min-height: 100vh;
    font-size: 1.25rem;
    transition: background-color 0.4s ease;
}
.main-btn {
    background-color: #1f2937;
    color: white;
    font-size: 1.75rem;
    padding: 1.5rem 2.5rem;
    border-radius: 1.5rem;
    transition: background-color 0.15s ease-in-out;
    min-width: 260px;
    min-height: 72px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    touch-action: manipulation;
}
.main-btn:hover {
    background-color: #4b5563;
}
.special-btn {
    background-color: #e5e7eb;
    color: #1f2937;
    font-size: 1.75rem;
    padding: 1.5rem 2.5rem;
    border-radius: 1.5rem;
    transition: background-color 0.15s ease-in-out;
    min-width: 260px;
    min-height: 72px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    touch-action: manipulation;
}
.special-btn:hover {
    background-color: #d1d5db;
}
.goodsam-btn {
    width: 100%;
    padding: 1rem;
    border-radius: 0.75rem;
    border: 1px solid #d1d5db;
    background-color: #ffffff;
    color: #374151;
    font-size: 1.5rem;
    font-weight: bold;
    transition: background-color 0.15s ease-in-out;
}
.goodsam-btn:hover {
    background-color: #f3f4f6;
}
.goodsam-btn.selected {
    background-color: #4f46e5;
    color: #ffffff;
}
input[type="text"], input[type="number"], textarea {
    font-size: 1.25rem;
    padding: 1rem;
    border-radius: 0.75rem;
}
.env-banner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 10000;
    background: repeating-linear-gradient(135deg, #f87171, #f87171 20px, #fff 20px, #fff 40px);
    color: #b91c1c;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 0.5em 0;
    box-shadow: 0 2px 12px rgba(0,0,0,0.12);
    text-shadow: 1px 1px 0 #fff, 0 2px 8px #f87171;
}
body { padding-top: 3.5em !important; }

.new-call {
    border: 4px solid #ef4444 !important;
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.8) !important;
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0% { box-shadow: 0 0 20px rgba(239, 68, 68, 0.8); }
    50% { box-shadow: 0 0 30px rgba(239, 68, 68, 1); }
    100% { box-shadow: 0 0 20px rgba(239, 68, 68, 0.8); }
}
