body{background:#f4f7fc;font-family:Poppins,sans-serif}
.card{border:none;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.05);overflow:hidden}
.card-header{background:linear-gradient(135deg,#0d6efd,#0d95fd);color:#fff;padding:1.5rem;border-bottom:none}
.card-title{font-weight:600;margin:0}
.card-body{padding:2.5rem}
.form-label{font-weight:500;color:#495057;margin-bottom:.5rem}
.form-control,.form-select{border-radius:8px;border:1px solid #ced4da;padding:.85rem 1rem;transition:all .2s ease-in-out}
.form-control:focus,.form-select:focus{border-color:#0d6efd;box-shadow:0 0 0 3px rgba(13,110,253,.15)}
.text-red{color:#e74c3c}
.form-check-inline .form-check-input{display:none}
.form-check-inline .form-check-label{position:relative;padding-left:30px;cursor:pointer;user-select:none}
.form-check-inline .form-check-label::before{content:'';position:absolute;left:0;top:2px;width:20px;height:20px;border:2px solid #adb5bd;border-radius:50%;transition:all .2s}
.form-check-inline .form-check-label::after{content:'';position:absolute;left:6px;top:8px;width:8px;height:8px;background:#fff;border-radius:50%;transform:scale(0);transition:all .2s}
.form-check-inline .form-check-input:checked+.form-check-label::before{background:#0d6efd;border-color:#0d6efd}
.form-check-inline .form-check-input:checked+.form-check-label::after{transform:scale(1)}
.accordion-item{border-radius:8px!important;border:1px solid #e9ecef;margin-bottom:1rem}
.accordion-button{font-weight:600;color:#343a40;background:#f8f9fa}
.accordion-button:not(.collapsed){color:#0d6efd;background:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}
.accordion-button:focus{box-shadow:0 0 0 3px rgba(13,110,253,.15)}
.accordion-button .fas{margin-right:.75rem;width:20px;text-align:center}
.accordion-body{background:#fff}
#recordButton,#stopButton{width:150px}
#timer{font-size:1.25rem;font-weight:600;min-width:70px;display:inline-block}
#audio-playback{background:#e9ecef;padding:1rem;border-radius:8px}
@keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(220,53,69,.7)}70%{box-shadow:0 0 0 10px rgba(220,53,69,0)}100%{box-shadow:0 0 0 0 rgba(220,53,69,0)}}
#stopButton{animation:pulse-red 2s infinite}
.custom-file-input-wrapper{position:relative;overflow:hidden;display:inline-block}
.custom-file-input-wrapper input[type=file]{position:absolute;left:0;top:0;opacity:0;width:100%;height:100%;cursor:pointer}
.file-input-label{display:inline-block;padding:.85rem 1.5rem}
#file-chosen{margin-left:10px;font-style:italic;color:#6c757d}
.btn-primary{font-weight:600;padding:.85rem 2rem;border-radius:8px;box-shadow:0 4px 15px rgba(13,110,253,.2);transition:all .3s ease}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(13,110,253,.3)}
.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}
.btn-primary:disabled:hover{transform:none;box-shadow:0 4px 15px rgba(13,110,253,.2)}
.disabled-close{opacity:.5;cursor:not-allowed;pointer-events:none}
